@work-rjkashyap/unified-ui 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/LICENSE +21 -0
  3. package/dist/components/accordion.cjs +225 -0
  4. package/dist/components/accordion.d.cts +157 -0
  5. package/dist/components/accordion.d.ts +157 -0
  6. package/dist/components/accordion.mjs +199 -0
  7. package/dist/components/alert-dialog.cjs +246 -0
  8. package/dist/components/alert-dialog.d.cts +61 -0
  9. package/dist/components/alert-dialog.d.ts +61 -0
  10. package/dist/components/alert-dialog.mjs +218 -0
  11. package/dist/components/alert.cjs +401 -0
  12. package/dist/components/alert.d.cts +217 -0
  13. package/dist/components/alert.d.ts +217 -0
  14. package/dist/components/alert.mjs +374 -0
  15. package/dist/components/aspect-ratio.cjs +45 -0
  16. package/dist/components/aspect-ratio.d.cts +10 -0
  17. package/dist/components/aspect-ratio.d.ts +10 -0
  18. package/dist/components/aspect-ratio.mjs +23 -0
  19. package/dist/components/avatar.cjs +348 -0
  20. package/dist/components/avatar.d.cts +198 -0
  21. package/dist/components/avatar.d.ts +198 -0
  22. package/dist/components/avatar.mjs +329 -0
  23. package/dist/components/badge.cjs +325 -0
  24. package/dist/components/badge.d.cts +259 -0
  25. package/dist/components/badge.d.ts +259 -0
  26. package/dist/components/badge.mjs +298 -0
  27. package/dist/components/banner.cjs +147 -0
  28. package/dist/components/banner.d.cts +31 -0
  29. package/dist/components/banner.d.ts +31 -0
  30. package/dist/components/banner.mjs +122 -0
  31. package/dist/components/breadcrumb.cjs +266 -0
  32. package/dist/components/breadcrumb.d.cts +159 -0
  33. package/dist/components/breadcrumb.d.ts +159 -0
  34. package/dist/components/breadcrumb.mjs +235 -0
  35. package/dist/components/button.cjs +254 -0
  36. package/dist/components/button.d.cts +126 -0
  37. package/dist/components/button.d.ts +126 -0
  38. package/dist/components/button.mjs +229 -0
  39. package/dist/components/calendar.cjs +511 -0
  40. package/dist/components/calendar.d.cts +94 -0
  41. package/dist/components/calendar.d.ts +94 -0
  42. package/dist/components/calendar.mjs +492 -0
  43. package/dist/components/card.cjs +234 -0
  44. package/dist/components/card.d.cts +190 -0
  45. package/dist/components/card.d.ts +190 -0
  46. package/dist/components/card.mjs +210 -0
  47. package/dist/components/carousel.cjs +234 -0
  48. package/dist/components/carousel.d.cts +30 -0
  49. package/dist/components/carousel.d.ts +30 -0
  50. package/dist/components/carousel.mjs +217 -0
  51. package/dist/components/chart.cjs +122 -0
  52. package/dist/components/chart.d.cts +103 -0
  53. package/dist/components/chart.d.ts +103 -0
  54. package/dist/components/chart.mjs +96 -0
  55. package/dist/components/checkbox.cjs +318 -0
  56. package/dist/components/checkbox.d.cts +182 -0
  57. package/dist/components/checkbox.d.ts +182 -0
  58. package/dist/components/checkbox.mjs +296 -0
  59. package/dist/components/code-highlight.cjs +335 -0
  60. package/dist/components/code-highlight.d.cts +18 -0
  61. package/dist/components/code-highlight.d.ts +18 -0
  62. package/dist/components/code-highlight.mjs +308 -0
  63. package/dist/components/code.cjs +265 -0
  64. package/dist/components/code.d.cts +40 -0
  65. package/dist/components/code.d.ts +40 -0
  66. package/dist/components/code.mjs +243 -0
  67. package/dist/components/collapsible.cjs +143 -0
  68. package/dist/components/collapsible.d.cts +159 -0
  69. package/dist/components/collapsible.d.ts +159 -0
  70. package/dist/components/collapsible.mjs +123 -0
  71. package/dist/components/color-picker.cjs +348 -0
  72. package/dist/components/color-picker.d.cts +35 -0
  73. package/dist/components/color-picker.d.ts +35 -0
  74. package/dist/components/color-picker.mjs +331 -0
  75. package/dist/components/combobox.cjs +584 -0
  76. package/dist/components/combobox.d.cts +183 -0
  77. package/dist/components/combobox.d.ts +183 -0
  78. package/dist/components/combobox.mjs +571 -0
  79. package/dist/components/command.cjs +329 -0
  80. package/dist/components/command.d.cts +97 -0
  81. package/dist/components/command.d.ts +97 -0
  82. package/dist/components/command.mjs +311 -0
  83. package/dist/components/confirm-dialog.cjs +100 -0
  84. package/dist/components/confirm-dialog.d.cts +25 -0
  85. package/dist/components/confirm-dialog.d.ts +25 -0
  86. package/dist/components/confirm-dialog.mjs +86 -0
  87. package/dist/components/context-menu.cjs +325 -0
  88. package/dist/components/context-menu.d.cts +259 -0
  89. package/dist/components/context-menu.d.ts +259 -0
  90. package/dist/components/context-menu.mjs +290 -0
  91. package/dist/components/copy-button.cjs +203 -0
  92. package/dist/components/copy-button.d.cts +22 -0
  93. package/dist/components/copy-button.d.ts +22 -0
  94. package/dist/components/copy-button.mjs +178 -0
  95. package/dist/components/data-list.cjs +140 -0
  96. package/dist/components/data-list.d.cts +36 -0
  97. package/dist/components/data-list.d.ts +36 -0
  98. package/dist/components/data-list.mjs +113 -0
  99. package/dist/components/data-table-toolbar.cjs +338 -0
  100. package/dist/components/data-table-toolbar.d.cts +84 -0
  101. package/dist/components/data-table-toolbar.d.ts +84 -0
  102. package/dist/components/data-table-toolbar.mjs +320 -0
  103. package/dist/components/data-table.cjs +1324 -0
  104. package/dist/components/data-table.d.cts +349 -0
  105. package/dist/components/data-table.d.ts +349 -0
  106. package/dist/components/data-table.mjs +1323 -0
  107. package/dist/components/date-picker.cjs +282 -0
  108. package/dist/components/date-picker.d.cts +97 -0
  109. package/dist/components/date-picker.d.ts +97 -0
  110. package/dist/components/date-picker.mjs +258 -0
  111. package/dist/components/dialog.cjs +319 -0
  112. package/dist/components/dialog.d.cts +74 -0
  113. package/dist/components/dialog.d.ts +74 -0
  114. package/dist/components/dialog.mjs +292 -0
  115. package/dist/components/drawer.cjs +262 -0
  116. package/dist/components/drawer.d.cts +113 -0
  117. package/dist/components/drawer.d.ts +113 -0
  118. package/dist/components/drawer.mjs +230 -0
  119. package/dist/components/dropdown-menu.cjs +328 -0
  120. package/dist/components/dropdown-menu.d.cts +95 -0
  121. package/dist/components/dropdown-menu.d.ts +95 -0
  122. package/dist/components/dropdown-menu.mjs +293 -0
  123. package/dist/components/empty-state.cjs +123 -0
  124. package/dist/components/empty-state.d.cts +15 -0
  125. package/dist/components/empty-state.d.ts +15 -0
  126. package/dist/components/empty-state.mjs +99 -0
  127. package/dist/components/file-upload.cjs +442 -0
  128. package/dist/components/file-upload.d.cts +35 -0
  129. package/dist/components/file-upload.d.ts +35 -0
  130. package/dist/components/file-upload.mjs +423 -0
  131. package/dist/components/form-field.cjs +191 -0
  132. package/dist/components/form-field.d.cts +163 -0
  133. package/dist/components/form-field.d.ts +163 -0
  134. package/dist/components/form-field.mjs +167 -0
  135. package/dist/components/hover-card.cjs +99 -0
  136. package/dist/components/hover-card.d.cts +28 -0
  137. package/dist/components/hover-card.d.ts +28 -0
  138. package/dist/components/hover-card.mjs +75 -0
  139. package/dist/components/image-gallery.cjs +359 -0
  140. package/dist/components/image-gallery.d.cts +46 -0
  141. package/dist/components/image-gallery.d.ts +46 -0
  142. package/dist/components/image-gallery.mjs +340 -0
  143. package/dist/components/index.cjs +719 -0
  144. package/dist/components/index.d.cts +84 -0
  145. package/dist/components/index.d.ts +84 -0
  146. package/dist/components/index.mjs +771 -0
  147. package/dist/components/infinite-scroll.cjs +95 -0
  148. package/dist/components/infinite-scroll.d.cts +54 -0
  149. package/dist/components/infinite-scroll.d.ts +54 -0
  150. package/dist/components/infinite-scroll.mjs +71 -0
  151. package/dist/components/input-group.cjs +202 -0
  152. package/dist/components/input-group.d.cts +22 -0
  153. package/dist/components/input-group.d.ts +22 -0
  154. package/dist/components/input-group.mjs +178 -0
  155. package/dist/components/input.cjs +318 -0
  156. package/dist/components/input.d.cts +99 -0
  157. package/dist/components/input.d.ts +99 -0
  158. package/dist/components/input.mjs +296 -0
  159. package/dist/components/kbd.cjs +69 -0
  160. package/dist/components/kbd.d.cts +25 -0
  161. package/dist/components/kbd.d.ts +25 -0
  162. package/dist/components/kbd.mjs +44 -0
  163. package/dist/components/label.cjs +138 -0
  164. package/dist/components/label.d.cts +91 -0
  165. package/dist/components/label.d.ts +91 -0
  166. package/dist/components/label.mjs +113 -0
  167. package/dist/components/markdown.cjs +179 -0
  168. package/dist/components/markdown.d.cts +41 -0
  169. package/dist/components/markdown.d.ts +41 -0
  170. package/dist/components/markdown.mjs +155 -0
  171. package/dist/components/menubar.cjs +365 -0
  172. package/dist/components/menubar.d.cts +88 -0
  173. package/dist/components/menubar.d.ts +88 -0
  174. package/dist/components/menubar.mjs +329 -0
  175. package/dist/components/navigation-menu.cjs +280 -0
  176. package/dist/components/navigation-menu.d.cts +123 -0
  177. package/dist/components/navigation-menu.d.ts +123 -0
  178. package/dist/components/navigation-menu.mjs +250 -0
  179. package/dist/components/number-input.cjs +419 -0
  180. package/dist/components/number-input.d.cts +111 -0
  181. package/dist/components/number-input.d.ts +111 -0
  182. package/dist/components/number-input.mjs +400 -0
  183. package/dist/components/pagination.cjs +322 -0
  184. package/dist/components/pagination.d.cts +119 -0
  185. package/dist/components/pagination.d.ts +119 -0
  186. package/dist/components/pagination.mjs +297 -0
  187. package/dist/components/pin-input.cjs +321 -0
  188. package/dist/components/pin-input.d.cts +112 -0
  189. package/dist/components/pin-input.d.ts +112 -0
  190. package/dist/components/pin-input.mjs +303 -0
  191. package/dist/components/popover.cjs +194 -0
  192. package/dist/components/popover.d.cts +108 -0
  193. package/dist/components/popover.d.ts +108 -0
  194. package/dist/components/popover.mjs +168 -0
  195. package/dist/components/progress.cjs +237 -0
  196. package/dist/components/progress.d.cts +137 -0
  197. package/dist/components/progress.d.ts +137 -0
  198. package/dist/components/progress.mjs +211 -0
  199. package/dist/components/radio.cjs +344 -0
  200. package/dist/components/radio.d.cts +145 -0
  201. package/dist/components/radio.d.ts +145 -0
  202. package/dist/components/radio.mjs +320 -0
  203. package/dist/components/resizable.cjs +121 -0
  204. package/dist/components/resizable.d.cts +23 -0
  205. package/dist/components/resizable.d.ts +23 -0
  206. package/dist/components/resizable.mjs +99 -0
  207. package/dist/components/scroll-area.cjs +168 -0
  208. package/dist/components/scroll-area.d.cts +131 -0
  209. package/dist/components/scroll-area.d.ts +131 -0
  210. package/dist/components/scroll-area.mjs +143 -0
  211. package/dist/components/search-input.cjs +261 -0
  212. package/dist/components/search-input.d.cts +26 -0
  213. package/dist/components/search-input.d.ts +26 -0
  214. package/dist/components/search-input.mjs +243 -0
  215. package/dist/components/select.cjs +320 -0
  216. package/dist/components/select.d.cts +55 -0
  217. package/dist/components/select.d.ts +55 -0
  218. package/dist/components/select.mjs +288 -0
  219. package/dist/components/separator.cjs +193 -0
  220. package/dist/components/separator.d.cts +92 -0
  221. package/dist/components/separator.d.ts +92 -0
  222. package/dist/components/separator.mjs +170 -0
  223. package/dist/components/sheet.cjs +399 -0
  224. package/dist/components/sheet.d.cts +219 -0
  225. package/dist/components/sheet.d.ts +219 -0
  226. package/dist/components/sheet.mjs +379 -0
  227. package/dist/components/sidebar.cjs +1077 -0
  228. package/dist/components/sidebar.d.cts +733 -0
  229. package/dist/components/sidebar.d.ts +733 -0
  230. package/dist/components/sidebar.mjs +1033 -0
  231. package/dist/components/skeleton.cjs +210 -0
  232. package/dist/components/skeleton.d.cts +202 -0
  233. package/dist/components/skeleton.d.ts +202 -0
  234. package/dist/components/skeleton.mjs +182 -0
  235. package/dist/components/slider.cjs +319 -0
  236. package/dist/components/slider.d.cts +82 -0
  237. package/dist/components/slider.d.ts +82 -0
  238. package/dist/components/slider.mjs +296 -0
  239. package/dist/components/sonner.cjs +119 -0
  240. package/dist/components/sonner.d.cts +60 -0
  241. package/dist/components/sonner.d.ts +60 -0
  242. package/dist/components/sonner.mjs +94 -0
  243. package/dist/components/spinner.cjs +238 -0
  244. package/dist/components/spinner.d.cts +101 -0
  245. package/dist/components/spinner.d.ts +101 -0
  246. package/dist/components/spinner.mjs +213 -0
  247. package/dist/components/stat.cjs +180 -0
  248. package/dist/components/stat.d.cts +21 -0
  249. package/dist/components/stat.d.ts +21 -0
  250. package/dist/components/stat.mjs +161 -0
  251. package/dist/components/steps.cjs +228 -0
  252. package/dist/components/steps.d.cts +76 -0
  253. package/dist/components/steps.d.ts +76 -0
  254. package/dist/components/steps.mjs +207 -0
  255. package/dist/components/switch.cjs +243 -0
  256. package/dist/components/switch.d.cts +90 -0
  257. package/dist/components/switch.d.ts +90 -0
  258. package/dist/components/switch.mjs +228 -0
  259. package/dist/components/table.cjs +381 -0
  260. package/dist/components/table.d.cts +181 -0
  261. package/dist/components/table.d.ts +181 -0
  262. package/dist/components/table.mjs +349 -0
  263. package/dist/components/tabs.cjs +326 -0
  264. package/dist/components/tabs.d.cts +154 -0
  265. package/dist/components/tabs.d.ts +154 -0
  266. package/dist/components/tabs.mjs +304 -0
  267. package/dist/components/textarea.cjs +258 -0
  268. package/dist/components/textarea.d.cts +112 -0
  269. package/dist/components/textarea.d.ts +112 -0
  270. package/dist/components/textarea.mjs +233 -0
  271. package/dist/components/theme-toggle.cjs +282 -0
  272. package/dist/components/theme-toggle.d.cts +58 -0
  273. package/dist/components/theme-toggle.d.ts +58 -0
  274. package/dist/components/theme-toggle.mjs +258 -0
  275. package/dist/components/timeline.cjs +178 -0
  276. package/dist/components/timeline.d.cts +41 -0
  277. package/dist/components/timeline.d.ts +41 -0
  278. package/dist/components/timeline.mjs +157 -0
  279. package/dist/components/toast.cjs +546 -0
  280. package/dist/components/toast.d.cts +169 -0
  281. package/dist/components/toast.d.ts +169 -0
  282. package/dist/components/toast.mjs +528 -0
  283. package/dist/components/toggle-group.cjs +204 -0
  284. package/dist/components/toggle-group.d.cts +215 -0
  285. package/dist/components/toggle-group.d.ts +215 -0
  286. package/dist/components/toggle-group.mjs +180 -0
  287. package/dist/components/toggle.cjs +155 -0
  288. package/dist/components/toggle.d.cts +100 -0
  289. package/dist/components/toggle.d.ts +100 -0
  290. package/dist/components/toggle.mjs +130 -0
  291. package/dist/components/tooltip.cjs +155 -0
  292. package/dist/components/tooltip.d.cts +129 -0
  293. package/dist/components/tooltip.d.ts +129 -0
  294. package/dist/components/tooltip.mjs +132 -0
  295. package/dist/components/tree-view.cjs +450 -0
  296. package/dist/components/tree-view.d.cts +67 -0
  297. package/dist/components/tree-view.d.ts +67 -0
  298. package/dist/components/tree-view.mjs +433 -0
  299. package/dist/components/video-player.cjs +344 -0
  300. package/dist/components/video-player.d.cts +34 -0
  301. package/dist/components/video-player.d.ts +34 -0
  302. package/dist/components/video-player.mjs +320 -0
  303. package/dist/components/virtual-list.cjs +153 -0
  304. package/dist/components/virtual-list.d.cts +53 -0
  305. package/dist/components/virtual-list.d.ts +53 -0
  306. package/dist/components/virtual-list.mjs +136 -0
  307. package/dist/components/visually-hidden.cjs +43 -0
  308. package/dist/components/visually-hidden.d.cts +9 -0
  309. package/dist/components/visually-hidden.d.ts +9 -0
  310. package/dist/components/visually-hidden.mjs +21 -0
  311. package/dist/index.cjs +1081 -1933
  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-IVZAB7BV.mjs → tokens/colors.cjs} +212 -86
  372. package/dist/{z-index-Dd8IllRx.d.cts → tokens/colors.d.cts} +235 -72
  373. package/dist/{z-index-Dd8IllRx.d.ts → tokens/colors.d.ts} +235 -72
  374. package/dist/{chunk-ZBGR7MUW.cjs → tokens/colors.mjs} +165 -104
  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-5TP7J7T4.cjs +0 -1766
  428. package/dist/chunk-A2DGHQL2.cjs +0 -21808
  429. package/dist/chunk-EQWESXRH.mjs +0 -1735
  430. package/dist/chunk-F4JJFWWU.cjs +0 -604
  431. package/dist/chunk-FUWXGHWQ.cjs +0 -468
  432. package/dist/chunk-MBYCK2JJ.mjs +0 -37
  433. package/dist/chunk-OHEH57BV.mjs +0 -455
  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 -131
  446. package/dist/theme.d.cts +0 -414
  447. package/dist/theme.d.ts +0 -414
  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,733 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ type SidebarVariant = "default" | "floating" | "inset";
5
+ type SidebarCollapsible = "offcanvas" | "icon" | "none";
6
+ type SidebarSide = "left" | "right";
7
+ interface SidebarContextValue {
8
+ state: "expanded" | "collapsed";
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ openMobile: boolean;
12
+ setOpenMobile: (open: boolean) => void;
13
+ isMobile: boolean;
14
+ toggleSidebar: () => void;
15
+ variant: SidebarVariant;
16
+ collapsible: SidebarCollapsible;
17
+ side: SidebarSide;
18
+ }
19
+ /**
20
+ * Hook to access the sidebar context.
21
+ *
22
+ * Must be used within a `<SidebarProvider>`.
23
+ *
24
+ * @returns The sidebar context value containing state, open/close handlers,
25
+ * mobile state, toggle function, variant, collapsible mode, and side.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * const { open, toggleSidebar, isMobile, state } = useSidebar();
30
+ *
31
+ * // state is "expanded" or "collapsed"
32
+ * // open is the boolean open state
33
+ * ```
34
+ */
35
+ declare function useSidebar(): SidebarContextValue;
36
+ declare const useSidebarContext: typeof useSidebar;
37
+ interface SidebarProviderProps extends React.HTMLAttributes<HTMLDivElement> {
38
+ /**
39
+ * Whether the sidebar is open (controlled).
40
+ * When provided, the component is controlled.
41
+ */
42
+ open?: boolean;
43
+ /**
44
+ * Callback fired when the open state changes.
45
+ */
46
+ onOpenChange?: (open: boolean) => void;
47
+ /**
48
+ * Default open state for uncontrolled mode.
49
+ * @default true
50
+ */
51
+ defaultOpen?: boolean;
52
+ /**
53
+ * Visual variant of the sidebar.
54
+ * - `"default"` — Standard bordered sidebar
55
+ * - `"floating"` — Rounded sidebar with gap and shadow
56
+ * - `"inset"` — Sidebar inset within a parent container
57
+ * @default "default"
58
+ */
59
+ variant?: SidebarVariant;
60
+ /**
61
+ * How the sidebar collapses.
62
+ * - `"offcanvas"` — Slides off-screen
63
+ * - `"icon"` — Collapses to icon-only width
64
+ * - `"none"` — Not collapsible
65
+ * @default "offcanvas"
66
+ */
67
+ collapsible?: SidebarCollapsible;
68
+ /**
69
+ * Which side to place the sidebar.
70
+ * @default "left"
71
+ */
72
+ side?: SidebarSide;
73
+ /** Children to render inside the provider. */
74
+ children?: ReactNode;
75
+ /** Additional CSS classes on the wrapper div. */
76
+ className?: string;
77
+ }
78
+ /**
79
+ * SidebarProvider — manages sidebar state and provides context.
80
+ *
81
+ * Wraps the sidebar and its sibling content. Handles controlled/uncontrolled
82
+ * state, mobile detection, keyboard shortcut, and CSS custom properties.
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * <SidebarProvider defaultOpen>
87
+ * <Sidebar>
88
+ * <SidebarHeader />
89
+ * <SidebarContent>
90
+ * <SidebarGroup>...</SidebarGroup>
91
+ * </SidebarContent>
92
+ * <SidebarFooter />
93
+ * </Sidebar>
94
+ * <SidebarInset>
95
+ * <main>Page content</main>
96
+ * </SidebarInset>
97
+ * </SidebarProvider>
98
+ * ```
99
+ */
100
+ declare const SidebarProvider: react.ForwardRefExoticComponent<SidebarProviderProps & react.RefAttributes<HTMLDivElement>>;
101
+ interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
102
+ /**
103
+ * Which side to place the sidebar. Overrides the provider's side.
104
+ * @default "left"
105
+ */
106
+ side?: SidebarSide;
107
+ /**
108
+ * Visual variant. Overrides the provider's variant.
109
+ * @default "default"
110
+ */
111
+ variant?: SidebarVariant;
112
+ /**
113
+ * How the sidebar collapses. Overrides the provider's collapsible.
114
+ * @default "offcanvas"
115
+ */
116
+ collapsible?: SidebarCollapsible;
117
+ /** Additional CSS classes. */
118
+ className?: string;
119
+ /** Sidebar content. */
120
+ children?: ReactNode;
121
+ }
122
+ /**
123
+ * Sidebar — the main sidebar container.
124
+ *
125
+ * Renders as a `<div>` wrapping an inner `<div>` that holds the sidebar
126
+ * content. Handles desktop width animation and mobile sheet overlay.
127
+ *
128
+ * @example
129
+ * ```tsx
130
+ * <Sidebar side="left" variant="default" collapsible="icon">
131
+ * <SidebarHeader>
132
+ * <TeamSwitcher />
133
+ * </SidebarHeader>
134
+ * <SidebarContent>
135
+ * <SidebarGroup>
136
+ * <SidebarGroupLabel>Platform</SidebarGroupLabel>
137
+ * <SidebarGroupContent>
138
+ * <SidebarMenu>
139
+ * <SidebarMenuItem>
140
+ * <SidebarMenuButton>Dashboard</SidebarMenuButton>
141
+ * </SidebarMenuItem>
142
+ * </SidebarMenu>
143
+ * </SidebarGroupContent>
144
+ * </SidebarGroup>
145
+ * </SidebarContent>
146
+ * <SidebarFooter>
147
+ * <UserNav />
148
+ * </SidebarFooter>
149
+ * </Sidebar>
150
+ * ```
151
+ */
152
+ declare const Sidebar: react.ForwardRefExoticComponent<SidebarProps & react.RefAttributes<HTMLDivElement>>;
153
+ interface SidebarTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
154
+ /** Additional CSS classes. */
155
+ className?: string;
156
+ /** Custom trigger content. Defaults to a PanelLeft icon. */
157
+ children?: ReactNode;
158
+ }
159
+ /**
160
+ * SidebarTrigger — a button that toggles the sidebar open/closed.
161
+ *
162
+ * @example
163
+ * ```tsx
164
+ * <SidebarTrigger className="ml-2" />
165
+ * ```
166
+ */
167
+ declare const SidebarTrigger: react.ForwardRefExoticComponent<SidebarTriggerProps & react.RefAttributes<HTMLButtonElement>>;
168
+ declare const SidebarToggle: react.ForwardRefExoticComponent<SidebarTriggerProps & react.RefAttributes<HTMLButtonElement>>;
169
+ type SidebarToggleProps = SidebarTriggerProps;
170
+ interface SidebarRailProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
171
+ /** Additional CSS classes. */
172
+ className?: string;
173
+ }
174
+ /**
175
+ * SidebarRail — a thin vertical bar at the sidebar edge that toggles
176
+ * the sidebar on click. Provides an affordance for quick collapse/expand.
177
+ *
178
+ * @example
179
+ * ```tsx
180
+ * <Sidebar>
181
+ * {/* ... sidebar content ... *\/}
182
+ * <SidebarRail />
183
+ * </Sidebar>
184
+ * ```
185
+ */
186
+ declare const SidebarRail: react.ForwardRefExoticComponent<SidebarRailProps & react.RefAttributes<HTMLButtonElement>>;
187
+ interface SidebarInsetProps extends React.HTMLAttributes<HTMLDivElement> {
188
+ /** Additional CSS classes. */
189
+ className?: string;
190
+ /** Content. */
191
+ children?: ReactNode;
192
+ }
193
+ /**
194
+ * SidebarInset — the main content area that sits beside the sidebar.
195
+ *
196
+ * Use as a sibling of `<Sidebar>` inside `<SidebarProvider>`.
197
+ *
198
+ * @example
199
+ * ```tsx
200
+ * <SidebarProvider>
201
+ * <Sidebar>...</Sidebar>
202
+ * <SidebarInset>
203
+ * <header>...</header>
204
+ * <main>Page content</main>
205
+ * </SidebarInset>
206
+ * </SidebarProvider>
207
+ * ```
208
+ */
209
+ declare const SidebarInset: react.ForwardRefExoticComponent<SidebarInsetProps & react.RefAttributes<HTMLDivElement>>;
210
+ interface SidebarHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
211
+ /** Additional CSS classes. */
212
+ className?: string;
213
+ /** Header content (logo, team switcher, etc.). */
214
+ children?: ReactNode;
215
+ }
216
+ /**
217
+ * SidebarHeader — sticky top area of the sidebar.
218
+ *
219
+ * Typically contains a logo, team/workspace switcher, or branding.
220
+ *
221
+ * @example
222
+ * ```tsx
223
+ * <SidebarHeader>
224
+ * <SidebarMenu>
225
+ * <SidebarMenuItem>
226
+ * <DropdownMenu>
227
+ * <DropdownMenuTrigger asChild>
228
+ * <SidebarMenuButton>
229
+ * <Logo />
230
+ * <span>Acme Inc</span>
231
+ * </SidebarMenuButton>
232
+ * </DropdownMenuTrigger>
233
+ * <DropdownMenuContent>...</DropdownMenuContent>
234
+ * </DropdownMenu>
235
+ * </SidebarMenuItem>
236
+ * </SidebarMenu>
237
+ * </SidebarHeader>
238
+ * ```
239
+ */
240
+ declare const SidebarHeader: react.ForwardRefExoticComponent<SidebarHeaderProps & react.RefAttributes<HTMLDivElement>>;
241
+ interface SidebarContentProps extends React.HTMLAttributes<HTMLDivElement> {
242
+ /** Additional CSS classes. */
243
+ className?: string;
244
+ /** Content (SidebarGroups). */
245
+ children?: ReactNode;
246
+ }
247
+ /**
248
+ * SidebarContent — the scrollable middle area of the sidebar.
249
+ *
250
+ * Contains one or more `<SidebarGroup>` components. Automatically
251
+ * scrollable when content overflows.
252
+ *
253
+ * @example
254
+ * ```tsx
255
+ * <SidebarContent>
256
+ * <SidebarGroup>...</SidebarGroup>
257
+ * <SidebarGroup>...</SidebarGroup>
258
+ * </SidebarContent>
259
+ * ```
260
+ */
261
+ declare const SidebarContent: react.ForwardRefExoticComponent<SidebarContentProps & react.RefAttributes<HTMLDivElement>>;
262
+ interface SidebarFooterProps extends React.HTMLAttributes<HTMLDivElement> {
263
+ /** Additional CSS classes. */
264
+ className?: string;
265
+ /** Footer content (user nav, actions, etc.). */
266
+ children?: ReactNode;
267
+ }
268
+ /**
269
+ * SidebarFooter — sticky bottom area of the sidebar.
270
+ *
271
+ * Typically contains user navigation, account switcher, or actions.
272
+ *
273
+ * @example
274
+ * ```tsx
275
+ * <SidebarFooter>
276
+ * <SidebarMenu>
277
+ * <SidebarMenuItem>
278
+ * <DropdownMenu>
279
+ * <DropdownMenuTrigger asChild>
280
+ * <SidebarMenuButton>
281
+ * <Avatar src="/avatar.jpg" />
282
+ * <span>shadcn</span>
283
+ * </SidebarMenuButton>
284
+ * </DropdownMenuTrigger>
285
+ * <DropdownMenuContent>...</DropdownMenuContent>
286
+ * </DropdownMenu>
287
+ * </SidebarMenuItem>
288
+ * </SidebarMenu>
289
+ * </SidebarFooter>
290
+ * ```
291
+ */
292
+ declare const SidebarFooter: react.ForwardRefExoticComponent<SidebarFooterProps & react.RefAttributes<HTMLDivElement>>;
293
+ interface SidebarSeparatorProps extends React.HTMLAttributes<HTMLHRElement> {
294
+ /** Additional CSS classes. */
295
+ className?: string;
296
+ }
297
+ /**
298
+ * SidebarSeparator — a horizontal divider within the sidebar.
299
+ *
300
+ * @example
301
+ * ```tsx
302
+ * <SidebarContent>
303
+ * <SidebarGroup>...</SidebarGroup>
304
+ * <SidebarSeparator />
305
+ * <SidebarGroup>...</SidebarGroup>
306
+ * </SidebarContent>
307
+ * ```
308
+ */
309
+ declare const SidebarSeparator: react.ForwardRefExoticComponent<SidebarSeparatorProps & react.RefAttributes<HTMLHRElement>>;
310
+ interface SidebarInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
311
+ /** Additional CSS classes. */
312
+ className?: string;
313
+ }
314
+ /**
315
+ * SidebarInput — a search/filter input styled for the sidebar.
316
+ *
317
+ * @example
318
+ * ```tsx
319
+ * <SidebarHeader>
320
+ * <SidebarInput placeholder="Search the docs..." />
321
+ * </SidebarHeader>
322
+ * ```
323
+ */
324
+ declare const SidebarInput: react.ForwardRefExoticComponent<SidebarInputProps & react.RefAttributes<HTMLInputElement>>;
325
+ interface SidebarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
326
+ /** Additional CSS classes. */
327
+ className?: string;
328
+ /** Group content. */
329
+ children?: ReactNode;
330
+ }
331
+ /**
332
+ * SidebarGroup — a logical section within the sidebar content.
333
+ *
334
+ * Groups contain a label, optional action, and content (menu items).
335
+ *
336
+ * @example
337
+ * ```tsx
338
+ * <SidebarGroup>
339
+ * <SidebarGroupLabel>Platform</SidebarGroupLabel>
340
+ * <SidebarGroupContent>
341
+ * <SidebarMenu>
342
+ * <SidebarMenuItem>
343
+ * <SidebarMenuButton>Dashboard</SidebarMenuButton>
344
+ * </SidebarMenuItem>
345
+ * </SidebarMenu>
346
+ * </SidebarGroupContent>
347
+ * </SidebarGroup>
348
+ * ```
349
+ */
350
+ declare const SidebarGroup: react.ForwardRefExoticComponent<SidebarGroupProps & react.RefAttributes<HTMLDivElement>>;
351
+ interface SidebarGroupLabelProps extends React.HTMLAttributes<HTMLDivElement> {
352
+ /**
353
+ * Render as a different element via `asChild` pattern.
354
+ * When true, merges props onto the single child element.
355
+ * @default false
356
+ */
357
+ asChild?: boolean;
358
+ /** Additional CSS classes. */
359
+ className?: string;
360
+ /** Label content. */
361
+ children?: ReactNode;
362
+ }
363
+ /**
364
+ * SidebarGroupLabel — the heading for a sidebar group.
365
+ *
366
+ * Automatically hides when the sidebar is in icon-only collapsed state.
367
+ *
368
+ * @example
369
+ * ```tsx
370
+ * <SidebarGroupLabel>Platform</SidebarGroupLabel>
371
+ *
372
+ * // With collapsible group (renders as a button):
373
+ * <Collapsible>
374
+ * <SidebarGroupLabel asChild>
375
+ * <CollapsibleTrigger>
376
+ * Build Your Application
377
+ * <ChevronDown />
378
+ * </CollapsibleTrigger>
379
+ * </SidebarGroupLabel>
380
+ * <CollapsibleContent>
381
+ * <SidebarGroupContent>...</SidebarGroupContent>
382
+ * </CollapsibleContent>
383
+ * </Collapsible>
384
+ * ```
385
+ */
386
+ declare const SidebarGroupLabel: react.ForwardRefExoticComponent<SidebarGroupLabelProps & react.RefAttributes<HTMLDivElement>>;
387
+ interface SidebarGroupActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
388
+ /** Additional CSS classes. */
389
+ className?: string;
390
+ /** Action content (typically an icon). */
391
+ children?: ReactNode;
392
+ }
393
+ /**
394
+ * SidebarGroupAction — an action button in the group header row.
395
+ *
396
+ * Positioned absolutely to the right of the group label. Useful for
397
+ * "add" buttons, expand/collapse toggles, etc.
398
+ *
399
+ * @example
400
+ * ```tsx
401
+ * <SidebarGroup>
402
+ * <SidebarGroupLabel>Projects</SidebarGroupLabel>
403
+ * <SidebarGroupAction title="Add Project">
404
+ * <PlusIcon className="size-4" />
405
+ * </SidebarGroupAction>
406
+ * <SidebarGroupContent>...</SidebarGroupContent>
407
+ * </SidebarGroup>
408
+ * ```
409
+ */
410
+ declare const SidebarGroupAction: react.ForwardRefExoticComponent<SidebarGroupActionProps & react.RefAttributes<HTMLButtonElement>>;
411
+ interface SidebarGroupContentProps extends React.HTMLAttributes<HTMLDivElement> {
412
+ /** Additional CSS classes. */
413
+ className?: string;
414
+ /** Content. */
415
+ children?: ReactNode;
416
+ }
417
+ /**
418
+ * SidebarGroupContent — wrapper for the items inside a group.
419
+ *
420
+ * @example
421
+ * ```tsx
422
+ * <SidebarGroupContent>
423
+ * <SidebarMenu>...</SidebarMenu>
424
+ * </SidebarGroupContent>
425
+ * ```
426
+ */
427
+ declare const SidebarGroupContent: react.ForwardRefExoticComponent<SidebarGroupContentProps & react.RefAttributes<HTMLDivElement>>;
428
+ interface SidebarMenuProps extends React.HTMLAttributes<HTMLUListElement> {
429
+ /** Additional CSS classes. */
430
+ className?: string;
431
+ /** Menu items. */
432
+ children?: ReactNode;
433
+ }
434
+ /**
435
+ * SidebarMenu — a navigation list container (`<ul>`).
436
+ *
437
+ * @example
438
+ * ```tsx
439
+ * <SidebarMenu>
440
+ * <SidebarMenuItem>...</SidebarMenuItem>
441
+ * <SidebarMenuItem>...</SidebarMenuItem>
442
+ * </SidebarMenu>
443
+ * ```
444
+ */
445
+ declare const SidebarMenu: react.ForwardRefExoticComponent<SidebarMenuProps & react.RefAttributes<HTMLUListElement>>;
446
+ interface SidebarMenuItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
447
+ /** Additional CSS classes. */
448
+ className?: string;
449
+ /** Item content. */
450
+ children?: ReactNode;
451
+ }
452
+ /**
453
+ * SidebarMenuItem — a single item wrapper (`<li>`) inside a SidebarMenu.
454
+ *
455
+ * @example
456
+ * ```tsx
457
+ * <SidebarMenuItem>
458
+ * <SidebarMenuButton>
459
+ * <HomeIcon />
460
+ * <span>Dashboard</span>
461
+ * </SidebarMenuButton>
462
+ * </SidebarMenuItem>
463
+ * ```
464
+ */
465
+ declare const SidebarMenuItem: react.ForwardRefExoticComponent<SidebarMenuItemProps & react.RefAttributes<HTMLLIElement>>;
466
+ type SidebarMenuButtonSize = "sm" | "default" | "lg";
467
+ type SidebarMenuButtonVariant = "default" | "outline";
468
+ interface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
469
+ /**
470
+ * Whether this item is the currently active page.
471
+ * @default false
472
+ */
473
+ isActive?: boolean;
474
+ /**
475
+ * Size of the menu button.
476
+ * @default "default"
477
+ */
478
+ size?: SidebarMenuButtonSize;
479
+ /**
480
+ * Visual variant.
481
+ * @default "default"
482
+ */
483
+ variant?: SidebarMenuButtonVariant;
484
+ /**
485
+ * Tooltip content shown when sidebar is collapsed to icon-only mode.
486
+ * Can be a string or ReactNode. If not provided, no tooltip is shown.
487
+ */
488
+ tooltip?: string | ReactNode;
489
+ /**
490
+ * Render as a child element (e.g., <a> or framework Link).
491
+ * When true, the component does NOT render its own <button>.
492
+ * Instead it renders a <span> wrapper. Use this with DropdownMenuTrigger
493
+ * or similar Radix "asChild" patterns.
494
+ * @default false
495
+ */
496
+ asChild?: boolean;
497
+ /** Additional CSS classes. */
498
+ className?: string;
499
+ /** Button content. */
500
+ children?: ReactNode;
501
+ }
502
+ /**
503
+ * SidebarMenuButton — the clickable navigation element inside a menu item.
504
+ *
505
+ * Supports icons, labels, active state, tooltip on icon-collapse, and
506
+ * multiple sizes and variants.
507
+ *
508
+ * @example
509
+ * ```tsx
510
+ * // Basic
511
+ * <SidebarMenuButton tooltip="Dashboard">
512
+ * <HomeIcon />
513
+ * <span>Dashboard</span>
514
+ * </SidebarMenuButton>
515
+ *
516
+ * // Active
517
+ * <SidebarMenuButton isActive tooltip="Settings">
518
+ * <SettingsIcon />
519
+ * <span>Settings</span>
520
+ * </SidebarMenuButton>
521
+ *
522
+ * // As link
523
+ * <SidebarMenuButton asChild tooltip="Docs">
524
+ * <a href="/docs">
525
+ * <BookIcon />
526
+ * <span>Documentation</span>
527
+ * </a>
528
+ * </SidebarMenuButton>
529
+ *
530
+ * // Large size (for header/footer team/user switcher)
531
+ * <SidebarMenuButton size="lg" tooltip="Acme Inc">
532
+ * <Logo />
533
+ * <div className="flex flex-col">
534
+ * <span className="font-semibold">Acme Inc</span>
535
+ * <span className="text-xs">Enterprise</span>
536
+ * </div>
537
+ * <ChevronsUpDown className="ml-auto" />
538
+ * </SidebarMenuButton>
539
+ * ```
540
+ */
541
+ declare const SidebarMenuButton: react.ForwardRefExoticComponent<SidebarMenuButtonProps & react.RefAttributes<HTMLButtonElement>>;
542
+ interface SidebarMenuActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
543
+ /**
544
+ * Whether to always show the action, or only on hover.
545
+ * @default false
546
+ */
547
+ showOnHover?: boolean;
548
+ /** Additional CSS classes. */
549
+ className?: string;
550
+ /** Action content (typically an icon). */
551
+ children?: ReactNode;
552
+ }
553
+ /**
554
+ * SidebarMenuAction — a trailing action button within a menu item.
555
+ *
556
+ * Useful for "more options" menus, expand chevrons, or quick actions.
557
+ *
558
+ * @example
559
+ * ```tsx
560
+ * <SidebarMenuItem>
561
+ * <SidebarMenuButton>
562
+ * <FolderIcon />
563
+ * <span>Projects</span>
564
+ * </SidebarMenuButton>
565
+ * <SidebarMenuAction showOnHover>
566
+ * <MoreHorizontalIcon className="size-4" />
567
+ * </SidebarMenuAction>
568
+ * </SidebarMenuItem>
569
+ * ```
570
+ */
571
+ declare const SidebarMenuAction: react.ForwardRefExoticComponent<SidebarMenuActionProps & react.RefAttributes<HTMLButtonElement>>;
572
+ interface SidebarMenuBadgeProps extends React.HTMLAttributes<HTMLDivElement> {
573
+ /** Additional CSS classes. */
574
+ className?: string;
575
+ /** Badge content (text, count, icon). */
576
+ children?: ReactNode;
577
+ }
578
+ /**
579
+ * SidebarMenuBadge — a badge/count indicator within a menu item.
580
+ *
581
+ * Positioned to the right of the menu button label. Automatically
582
+ * hidden when the sidebar is collapsed to icon-only mode.
583
+ *
584
+ * @example
585
+ * ```tsx
586
+ * <SidebarMenuItem>
587
+ * <SidebarMenuButton>
588
+ * <InboxIcon />
589
+ * <span>Inbox</span>
590
+ * </SidebarMenuButton>
591
+ * <SidebarMenuBadge>24</SidebarMenuBadge>
592
+ * </SidebarMenuItem>
593
+ * ```
594
+ */
595
+ declare const SidebarMenuBadge: react.ForwardRefExoticComponent<SidebarMenuBadgeProps & react.RefAttributes<HTMLDivElement>>;
596
+ interface SidebarMenuSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
597
+ /**
598
+ * Whether to show the icon placeholder.
599
+ * @default false
600
+ */
601
+ showIcon?: boolean;
602
+ /** Additional CSS classes. */
603
+ className?: string;
604
+ }
605
+ /**
606
+ * SidebarMenuSkeleton — a loading placeholder for a menu item.
607
+ *
608
+ * @example
609
+ * ```tsx
610
+ * <SidebarMenu>
611
+ * {Array.from({ length: 5 }).map((_, i) => (
612
+ * <SidebarMenuItem key={i}>
613
+ * <SidebarMenuSkeleton showIcon />
614
+ * </SidebarMenuItem>
615
+ * ))}
616
+ * </SidebarMenu>
617
+ * ```
618
+ */
619
+ declare const SidebarMenuSkeleton: react.ForwardRefExoticComponent<SidebarMenuSkeletonProps & react.RefAttributes<HTMLDivElement>>;
620
+ interface SidebarMenuSubProps extends React.HTMLAttributes<HTMLUListElement> {
621
+ /** Additional CSS classes. */
622
+ className?: string;
623
+ /** Sub-menu items. */
624
+ children?: ReactNode;
625
+ }
626
+ /**
627
+ * SidebarMenuSub — a nested sub-menu list within a menu item.
628
+ *
629
+ * Renders as an indented `<ul>` with a left border to show hierarchy.
630
+ *
631
+ * @example
632
+ * ```tsx
633
+ * <SidebarMenuItem>
634
+ * <SidebarMenuButton>
635
+ * <PlaygroundIcon />
636
+ * <span>Playground</span>
637
+ * </SidebarMenuButton>
638
+ * <SidebarMenuSub>
639
+ * <SidebarMenuSubItem>
640
+ * <SidebarMenuSubButton>History</SidebarMenuSubButton>
641
+ * </SidebarMenuSubItem>
642
+ * <SidebarMenuSubItem>
643
+ * <SidebarMenuSubButton>Starred</SidebarMenuSubButton>
644
+ * </SidebarMenuSubItem>
645
+ * </SidebarMenuSub>
646
+ * </SidebarMenuItem>
647
+ * ```
648
+ */
649
+ declare const SidebarMenuSub: react.ForwardRefExoticComponent<SidebarMenuSubProps & react.RefAttributes<HTMLUListElement>>;
650
+ interface SidebarMenuSubItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
651
+ /** Additional CSS classes. */
652
+ className?: string;
653
+ /** Sub-item content. */
654
+ children?: ReactNode;
655
+ }
656
+ /**
657
+ * SidebarMenuSubItem — wrapper for a single sub-menu item (`<li>`).
658
+ *
659
+ * @example
660
+ * ```tsx
661
+ * <SidebarMenuSubItem>
662
+ * <SidebarMenuSubButton href="/history">History</SidebarMenuSubButton>
663
+ * </SidebarMenuSubItem>
664
+ * ```
665
+ */
666
+ declare const SidebarMenuSubItem: react.ForwardRefExoticComponent<SidebarMenuSubItemProps & react.RefAttributes<HTMLLIElement>>;
667
+ interface SidebarMenuSubButtonProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
668
+ /**
669
+ * Whether this sub-item is the currently active page.
670
+ * @default false
671
+ */
672
+ isActive?: boolean;
673
+ /**
674
+ * Size of the sub-button.
675
+ * @default "md"
676
+ */
677
+ size?: "sm" | "md";
678
+ /** Additional CSS classes. */
679
+ className?: string;
680
+ /** Content. */
681
+ children?: ReactNode;
682
+ }
683
+ /**
684
+ * SidebarMenuSubButton — a clickable sub-navigation item.
685
+ *
686
+ * Renders as an `<a>` element. For framework links (Next.js Link, etc.),
687
+ * wrap or compose via `asChild`-like patterns.
688
+ *
689
+ * @example
690
+ * ```tsx
691
+ * <SidebarMenuSubButton href="/history" isActive>
692
+ * History
693
+ * </SidebarMenuSubButton>
694
+ * ```
695
+ */
696
+ declare const SidebarMenuSubButton: react.ForwardRefExoticComponent<SidebarMenuSubButtonProps & react.RefAttributes<HTMLAnchorElement>>;
697
+ /**
698
+ * @deprecated Use `SidebarGroup` instead.
699
+ */
700
+ declare const SidebarSection: react.ForwardRefExoticComponent<SidebarGroupProps & react.RefAttributes<HTMLDivElement>>;
701
+ type SidebarSectionProps = SidebarGroupProps;
702
+ /**
703
+ * @deprecated Use `SidebarMenuButton` instead.
704
+ */
705
+ interface SidebarItemProps {
706
+ icon?: ReactNode;
707
+ label?: ReactNode;
708
+ active?: boolean;
709
+ disabled?: boolean;
710
+ badge?: ReactNode;
711
+ href?: string;
712
+ className?: string;
713
+ children?: ReactNode;
714
+ }
715
+ /**
716
+ * @deprecated Use `<SidebarMenuItem>` + `<SidebarMenuButton>` instead.
717
+ *
718
+ * Legacy SidebarItem that wraps the new API for backward compatibility.
719
+ */
720
+ declare const SidebarItem: react.ForwardRefExoticComponent<SidebarItemProps & react.RefAttributes<HTMLButtonElement>>;
721
+ interface SidebarMobileOverlayProps extends React.HTMLAttributes<HTMLDivElement> {
722
+ className?: string;
723
+ }
724
+ /**
725
+ * @deprecated The new `<Sidebar>` handles mobile overlay internally.
726
+ * This component is kept for backward compatibility but is now a no-op.
727
+ */
728
+ declare function SidebarMobileOverlay(_props: SidebarMobileOverlayProps): null;
729
+ declare namespace SidebarMobileOverlay {
730
+ var displayName: string;
731
+ }
732
+
733
+ export { Sidebar, type SidebarCollapsible, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, SidebarGroupAction, type SidebarGroupActionProps, SidebarGroupContent, type SidebarGroupContentProps, SidebarGroupLabel, type SidebarGroupLabelProps, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarInput, type SidebarInputProps, SidebarInset, type SidebarInsetProps, SidebarItem, type SidebarItemProps, SidebarMenu, SidebarMenuAction, type SidebarMenuActionProps, SidebarMenuBadge, type SidebarMenuBadgeProps, SidebarMenuButton, type SidebarMenuButtonProps, type SidebarMenuButtonSize, type SidebarMenuButtonVariant, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, SidebarMenuSkeleton, type SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, type SidebarMenuSubButtonProps, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, SidebarMobileOverlay, type SidebarMobileOverlayProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, type SidebarRailProps, SidebarSection, type SidebarSectionProps, SidebarSeparator, type SidebarSeparatorProps, type SidebarSide, SidebarToggle, type SidebarToggleProps, SidebarTrigger, type SidebarTriggerProps, type SidebarVariant, useSidebar, useSidebarContext };