@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,1077 @@
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 sidebar_exports = {};
21
+ __export(sidebar_exports, {
22
+ Sidebar: () => Sidebar,
23
+ SidebarContent: () => SidebarContent,
24
+ SidebarFooter: () => SidebarFooter,
25
+ SidebarGroup: () => SidebarGroup,
26
+ SidebarGroupAction: () => SidebarGroupAction,
27
+ SidebarGroupContent: () => SidebarGroupContent,
28
+ SidebarGroupLabel: () => SidebarGroupLabel,
29
+ SidebarHeader: () => SidebarHeader,
30
+ SidebarInput: () => SidebarInput,
31
+ SidebarInset: () => SidebarInset,
32
+ SidebarItem: () => SidebarItem,
33
+ SidebarMenu: () => SidebarMenu,
34
+ SidebarMenuAction: () => SidebarMenuAction,
35
+ SidebarMenuBadge: () => SidebarMenuBadge,
36
+ SidebarMenuButton: () => SidebarMenuButton,
37
+ SidebarMenuItem: () => SidebarMenuItem,
38
+ SidebarMenuSkeleton: () => SidebarMenuSkeleton,
39
+ SidebarMenuSub: () => SidebarMenuSub,
40
+ SidebarMenuSubButton: () => SidebarMenuSubButton,
41
+ SidebarMenuSubItem: () => SidebarMenuSubItem,
42
+ SidebarMobileOverlay: () => SidebarMobileOverlay,
43
+ SidebarProvider: () => SidebarProvider,
44
+ SidebarRail: () => SidebarRail,
45
+ SidebarSection: () => SidebarSection,
46
+ SidebarSeparator: () => SidebarSeparator,
47
+ SidebarToggle: () => SidebarToggle,
48
+ SidebarTrigger: () => SidebarTrigger,
49
+ useSidebar: () => useSidebar,
50
+ useSidebarContext: () => useSidebarContext
51
+ });
52
+ module.exports = __toCommonJS(sidebar_exports);
53
+ var import_jsx_runtime = require("react/jsx-runtime");
54
+ var import_motion = require("../motion/index.cjs");
55
+ var import_cn = require("../utils/cn.cjs");
56
+ var import_focus_ring = require("../utils/focus-ring.cjs");
57
+ var import_framer_motion = require("framer-motion");
58
+ var import_radix_ui = require("radix-ui");
59
+ var import_react = require("react");
60
+ const SIDEBAR_COOKIE_NAME = "sidebar:state";
61
+ const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
62
+ const SIDEBAR_WIDTH = "16rem";
63
+ const SIDEBAR_WIDTH_MOBILE = "18rem";
64
+ const SIDEBAR_WIDTH_ICON = "3rem";
65
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b";
66
+ function PanelLeftIcon({ className }) {
67
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
68
+ "svg",
69
+ {
70
+ className,
71
+ xmlns: "http://www.w3.org/2000/svg",
72
+ viewBox: "0 0 24 24",
73
+ fill: "none",
74
+ stroke: "currentColor",
75
+ strokeWidth: "2",
76
+ strokeLinecap: "round",
77
+ strokeLinejoin: "round",
78
+ "aria-hidden": "true",
79
+ children: [
80
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
81
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9 3v18" })
82
+ ]
83
+ }
84
+ );
85
+ }
86
+ function _ChevronRightIcon({ className }) {
87
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
+ "svg",
89
+ {
90
+ className,
91
+ xmlns: "http://www.w3.org/2000/svg",
92
+ viewBox: "0 0 24 24",
93
+ fill: "none",
94
+ stroke: "currentColor",
95
+ strokeWidth: "2",
96
+ strokeLinecap: "round",
97
+ strokeLinejoin: "round",
98
+ "aria-hidden": "true",
99
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m9 18 6-6-6-6" })
100
+ }
101
+ );
102
+ }
103
+ const SidebarContext = (0, import_react.createContext)({
104
+ state: "expanded",
105
+ open: true,
106
+ setOpen: () => {
107
+ },
108
+ openMobile: false,
109
+ setOpenMobile: () => {
110
+ },
111
+ isMobile: false,
112
+ toggleSidebar: () => {
113
+ },
114
+ variant: "default",
115
+ collapsible: "offcanvas",
116
+ side: "left"
117
+ });
118
+ function useSidebar() {
119
+ const context = (0, import_react.useContext)(SidebarContext);
120
+ if (!context) {
121
+ throw new Error("useSidebar must be used within a <SidebarProvider>");
122
+ }
123
+ return context;
124
+ }
125
+ const useSidebarContext = useSidebar;
126
+ const MOBILE_BREAKPOINT = 768;
127
+ function useIsMobile() {
128
+ const [isMobile, setIsMobile] = (0, import_react.useState)(false);
129
+ (0, import_react.useEffect)(() => {
130
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
131
+ const onChange = () => setIsMobile(mql.matches);
132
+ mql.addEventListener("change", onChange);
133
+ setIsMobile(mql.matches);
134
+ return () => mql.removeEventListener("change", onChange);
135
+ }, []);
136
+ return isMobile;
137
+ }
138
+ const SidebarProvider = (0, import_react.forwardRef)(
139
+ function SidebarProvider2({
140
+ defaultOpen = true,
141
+ open: openProp,
142
+ onOpenChange: setOpenProp,
143
+ variant = "default",
144
+ collapsible = "offcanvas",
145
+ side = "left",
146
+ className,
147
+ style,
148
+ children,
149
+ ...rest
150
+ }, ref) {
151
+ const isMobile = useIsMobile();
152
+ const [openMobile, setOpenMobile] = (0, import_react.useState)(false);
153
+ const isControlled = openProp !== void 0;
154
+ const [_open, _setOpen] = (0, import_react.useState)(defaultOpen);
155
+ const open = isControlled ? openProp : _open;
156
+ const setOpen = (0, import_react.useCallback)(
157
+ (value) => {
158
+ const openState = typeof value === "function" ? value(open) : value;
159
+ if (setOpenProp) {
160
+ setOpenProp(openState);
161
+ } else {
162
+ _setOpen(openState);
163
+ }
164
+ try {
165
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
166
+ } catch {
167
+ }
168
+ },
169
+ [setOpenProp, open]
170
+ );
171
+ const toggleSidebar = (0, import_react.useCallback)(() => {
172
+ if (isMobile) {
173
+ setOpenMobile((prev) => !prev);
174
+ } else {
175
+ setOpen((prev) => !prev);
176
+ }
177
+ }, [isMobile, setOpen]);
178
+ (0, import_react.useEffect)(() => {
179
+ const handleKeyDown = (e) => {
180
+ if (e.key === SIDEBAR_KEYBOARD_SHORTCUT && (e.metaKey || e.ctrlKey)) {
181
+ e.preventDefault();
182
+ toggleSidebar();
183
+ }
184
+ };
185
+ window.addEventListener("keydown", handleKeyDown);
186
+ return () => window.removeEventListener("keydown", handleKeyDown);
187
+ }, [toggleSidebar]);
188
+ const state = open ? "expanded" : "collapsed";
189
+ const contextValue = (0, import_react.useMemo)(
190
+ () => ({
191
+ state,
192
+ open,
193
+ setOpen,
194
+ openMobile,
195
+ setOpenMobile,
196
+ isMobile,
197
+ toggleSidebar,
198
+ variant,
199
+ collapsible,
200
+ side
201
+ }),
202
+ [
203
+ state,
204
+ open,
205
+ setOpen,
206
+ openMobile,
207
+ isMobile,
208
+ toggleSidebar,
209
+ variant,
210
+ collapsible,
211
+ side
212
+ ]
213
+ );
214
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Tooltip.Provider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
215
+ "div",
216
+ {
217
+ ref,
218
+ className: (0, import_cn.cn)(
219
+ "group/sidebar-wrapper flex min-h-svh w-full",
220
+ "has-data-[variant=inset]:bg-sidebar",
221
+ className
222
+ ),
223
+ style: {
224
+ "--sidebar-width": SIDEBAR_WIDTH,
225
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
226
+ ...style
227
+ },
228
+ "data-ds": "",
229
+ "data-ds-component": "sidebar-provider",
230
+ ...rest,
231
+ children
232
+ }
233
+ ) }) });
234
+ }
235
+ );
236
+ SidebarProvider.displayName = "SidebarProvider";
237
+ const Sidebar = (0, import_react.forwardRef)(
238
+ function Sidebar2({
239
+ side: sideProp,
240
+ variant: variantProp,
241
+ collapsible: collapsibleProp,
242
+ className,
243
+ children,
244
+ ...rest
245
+ }, ref) {
246
+ const ctx = useSidebar();
247
+ const side = sideProp ?? ctx.side;
248
+ const variant = variantProp ?? ctx.variant;
249
+ const collapsible = collapsibleProp ?? ctx.collapsible;
250
+ const shouldReduce = (0, import_framer_motion.useReducedMotion)();
251
+ if (collapsible === "none") {
252
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
253
+ "div",
254
+ {
255
+ ref,
256
+ className: (0, import_cn.cn)(
257
+ "flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",
258
+ className
259
+ ),
260
+ "data-ds": "",
261
+ "data-ds-component": "sidebar",
262
+ ...rest,
263
+ children
264
+ }
265
+ );
266
+ }
267
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
268
+ ctx.isMobile && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.AnimatePresence, { children: ctx.openMobile && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
269
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
270
+ import_framer_motion.motion.div,
271
+ {
272
+ className: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
273
+ variants: shouldReduce ? void 0 : import_motion.overlayBackdrop.variants,
274
+ initial: shouldReduce ? { opacity: 0 } : "initial",
275
+ animate: shouldReduce ? { opacity: 1 } : "animate",
276
+ exit: shouldReduce ? { opacity: 0 } : "exit",
277
+ transition: shouldReduce ? { duration: 0.15 } : import_motion.overlayBackdrop.transition,
278
+ onClick: () => ctx.setOpenMobile(false),
279
+ "data-ds-animated": ""
280
+ }
281
+ ),
282
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
283
+ import_framer_motion.motion.div,
284
+ {
285
+ className: (0, import_cn.cn)(
286
+ "fixed inset-y-0 z-50 flex w-[--sidebar-width-mobile] flex-col bg-sidebar text-sidebar-foreground",
287
+ "p-0 shadow-lg",
288
+ side === "left" ? "left-0 border-r border-sidebar-border" : "right-0 border-l border-sidebar-border",
289
+ className
290
+ ),
291
+ style: {
292
+ "--sidebar-width-mobile": SIDEBAR_WIDTH_MOBILE
293
+ },
294
+ initial: {
295
+ x: side === "left" ? "-100%" : "100%",
296
+ opacity: shouldReduce ? 0 : 1
297
+ },
298
+ animate: {
299
+ x: 0,
300
+ opacity: 1
301
+ },
302
+ exit: {
303
+ x: side === "left" ? "-100%" : "100%",
304
+ opacity: shouldReduce ? 0 : 1
305
+ },
306
+ transition: shouldReduce ? { duration: 0.15 } : {
307
+ type: "spring",
308
+ stiffness: 300,
309
+ damping: 30,
310
+ mass: 0.8
311
+ },
312
+ "data-ds": "",
313
+ "data-ds-component": "sidebar",
314
+ "data-variant": variant,
315
+ "data-side": side,
316
+ "data-mobile": "",
317
+ "data-ds-animated": "",
318
+ children
319
+ }
320
+ )
321
+ ] }) }),
322
+ !ctx.isMobile && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
323
+ "div",
324
+ {
325
+ ref,
326
+ className: "group peer hidden md:block text-sidebar-foreground",
327
+ "data-state": ctx.state,
328
+ "data-collapsible": ctx.state === "collapsed" ? collapsible : "",
329
+ "data-variant": variant,
330
+ "data-side": side,
331
+ children: [
332
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
333
+ import_framer_motion.motion.div,
334
+ {
335
+ className: (0, import_cn.cn)(
336
+ "relative h-svh bg-transparent",
337
+ "duration-200 ease-linear",
338
+ variant === "floating" || variant === "inset" ? "w-[calc(var(--sidebar-width)+(--spacing(4)))]" : "w-[--sidebar-width]"
339
+ ),
340
+ animate: {
341
+ width: ctx.state === "collapsed" ? collapsible === "offcanvas" ? "0px" : variant === "floating" || variant === "inset" ? "calc(var(--sidebar-width-icon) + theme(spacing.4) + 2px)" : "var(--sidebar-width-icon)" : variant === "floating" || variant === "inset" ? "calc(var(--sidebar-width) + theme(spacing.4))" : "var(--sidebar-width)"
342
+ },
343
+ transition: shouldReduce ? { duration: 0 } : { duration: 0.2, ease: [0.25, 0.1, 0.25, 1] }
344
+ }
345
+ ),
346
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
347
+ import_framer_motion.motion.div,
348
+ {
349
+ className: (0, import_cn.cn)(
350
+ "fixed inset-y-0 z-10 hidden h-svh md:flex flex-col",
351
+ side === "left" ? "left-0" : "right-0",
352
+ // Variant styles
353
+ variant === "floating" && "m-2 rounded-lg border border-sidebar-border shadow-lg overflow-hidden",
354
+ variant === "inset" && "m-2 rounded-lg overflow-hidden",
355
+ variant === "default" && (0, import_cn.cn)(
356
+ "border-sidebar-border",
357
+ side === "left" ? "border-r" : "border-l"
358
+ ),
359
+ "bg-sidebar text-sidebar-foreground",
360
+ className
361
+ ),
362
+ animate: {
363
+ width: ctx.state === "collapsed" ? collapsible === "offcanvas" ? "0px" : "var(--sidebar-width-icon)" : "var(--sidebar-width)"
364
+ },
365
+ transition: shouldReduce ? { duration: 0 } : { duration: 0.2, ease: [0.25, 0.1, 0.25, 1] },
366
+ "data-ds": "",
367
+ "data-ds-component": "sidebar",
368
+ "data-variant": variant,
369
+ "data-side": side,
370
+ "data-state": ctx.state,
371
+ "data-collapsible": ctx.state === "collapsed" ? collapsible : "",
372
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
373
+ "div",
374
+ {
375
+ className: (0, import_cn.cn)(
376
+ "flex h-full w-full flex-col",
377
+ "group-data-[collapsible=offcanvas]:opacity-0 group-data-[collapsible=offcanvas]:pointer-events-none"
378
+ ),
379
+ "data-sidebar": "content-wrapper",
380
+ children
381
+ }
382
+ )
383
+ }
384
+ )
385
+ ]
386
+ }
387
+ )
388
+ ] });
389
+ }
390
+ );
391
+ Sidebar.displayName = "Sidebar";
392
+ const SidebarTrigger = (0, import_react.forwardRef)(function SidebarTrigger2({ className, onClick, children, ...rest }, ref) {
393
+ const { toggleSidebar, state, isMobile: _isMobile } = useSidebar();
394
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
395
+ "button",
396
+ {
397
+ ref,
398
+ type: "button",
399
+ onClick: (e) => {
400
+ onClick?.(e);
401
+ toggleSidebar();
402
+ },
403
+ "aria-label": state === "expanded" ? "Collapse sidebar" : "Expand sidebar",
404
+ "aria-expanded": state === "expanded",
405
+ className: (0, import_cn.cn)(
406
+ "inline-flex items-center justify-center size-8 shrink-0 rounded-md",
407
+ "text-muted-foreground hover:text-foreground hover:bg-accent",
408
+ "transition-colors duration-fast",
409
+ import_focus_ring.focusRingClasses,
410
+ className
411
+ ),
412
+ "data-ds": "",
413
+ "data-ds-component": "sidebar-trigger",
414
+ ...rest,
415
+ children: [
416
+ children ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PanelLeftIcon, { className: "size-4" }),
417
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
418
+ ]
419
+ }
420
+ );
421
+ });
422
+ SidebarTrigger.displayName = "SidebarTrigger";
423
+ const SidebarToggle = SidebarTrigger;
424
+ const SidebarRail = (0, import_react.forwardRef)(
425
+ function SidebarRail2({ className, ...rest }, ref) {
426
+ const { toggleSidebar, side } = useSidebar();
427
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
428
+ "button",
429
+ {
430
+ ref,
431
+ type: "button",
432
+ tabIndex: -1,
433
+ "aria-label": "Toggle Sidebar",
434
+ onClick: toggleSidebar,
435
+ title: "Toggle Sidebar",
436
+ className: (0, import_cn.cn)(
437
+ "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 md:flex items-center justify-center",
438
+ "after:absolute after:inset-y-0 after:left-1/2 after:w-0.5",
439
+ "hover:after:bg-sidebar-border",
440
+ "transition-all duration-fast ease-linear",
441
+ "group-data-[side=left]:right-0 group-data-[side=right]:left-0",
442
+ side === "left" ? "cursor-w-resize group-data-[state=collapsed]:cursor-e-resize" : "cursor-e-resize group-data-[state=collapsed]:cursor-w-resize",
443
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize",
444
+ "[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
445
+ className
446
+ ),
447
+ "data-ds": "",
448
+ "data-ds-component": "sidebar-rail",
449
+ ...rest
450
+ }
451
+ );
452
+ }
453
+ );
454
+ SidebarRail.displayName = "SidebarRail";
455
+ const SidebarInset = (0, import_react.forwardRef)(
456
+ function SidebarInset2({ className, children, ...rest }, ref) {
457
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
458
+ "main",
459
+ {
460
+ ref,
461
+ className: (0, import_cn.cn)(
462
+ "relative flex min-h-svh flex-1 flex-col bg-background",
463
+ "peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))]",
464
+ "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0",
465
+ "md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",
466
+ className
467
+ ),
468
+ "data-ds": "",
469
+ "data-ds-component": "sidebar-inset",
470
+ ...rest,
471
+ children
472
+ }
473
+ );
474
+ }
475
+ );
476
+ SidebarInset.displayName = "SidebarInset";
477
+ const SidebarHeader = (0, import_react.forwardRef)(
478
+ function SidebarHeader2({ className, children, ...rest }, ref) {
479
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
480
+ "div",
481
+ {
482
+ ref,
483
+ className: (0, import_cn.cn)(
484
+ "flex flex-col gap-2 p-2",
485
+ "group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:px-1.5",
486
+ className
487
+ ),
488
+ "data-ds": "",
489
+ "data-ds-component": "sidebar-header",
490
+ "data-sidebar": "header",
491
+ ...rest,
492
+ children
493
+ }
494
+ );
495
+ }
496
+ );
497
+ SidebarHeader.displayName = "SidebarHeader";
498
+ const SidebarContent = (0, import_react.forwardRef)(
499
+ function SidebarContent2({ className, children, ...rest }, ref) {
500
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
501
+ "div",
502
+ {
503
+ ref,
504
+ className: (0, import_cn.cn)(
505
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden",
506
+ "group-data-[collapsible=icon]:items-center",
507
+ className
508
+ ),
509
+ "data-ds": "",
510
+ "data-ds-component": "sidebar-content",
511
+ "data-sidebar": "content",
512
+ ...rest,
513
+ children
514
+ }
515
+ );
516
+ }
517
+ );
518
+ SidebarContent.displayName = "SidebarContent";
519
+ const SidebarFooter = (0, import_react.forwardRef)(
520
+ function SidebarFooter2({ className, children, ...rest }, ref) {
521
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
522
+ "div",
523
+ {
524
+ ref,
525
+ className: (0, import_cn.cn)(
526
+ "flex flex-col gap-2 p-2",
527
+ "group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:px-1.5",
528
+ className
529
+ ),
530
+ "data-ds": "",
531
+ "data-ds-component": "sidebar-footer",
532
+ "data-sidebar": "footer",
533
+ ...rest,
534
+ children
535
+ }
536
+ );
537
+ }
538
+ );
539
+ SidebarFooter.displayName = "SidebarFooter";
540
+ const SidebarSeparator = (0, import_react.forwardRef)(function SidebarSeparator2({ className, ...rest }, ref) {
541
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
542
+ "hr",
543
+ {
544
+ ref,
545
+ className: (0, import_cn.cn)("mx-2 w-auto border-sidebar-border", className),
546
+ "data-ds": "",
547
+ "data-ds-component": "sidebar-separator",
548
+ "data-sidebar": "separator",
549
+ ...rest
550
+ }
551
+ );
552
+ });
553
+ SidebarSeparator.displayName = "SidebarSeparator";
554
+ const SidebarInput = (0, import_react.forwardRef)(
555
+ function SidebarInput2({ className, ...rest }, ref) {
556
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
557
+ "input",
558
+ {
559
+ ref,
560
+ className: (0, import_cn.cn)(
561
+ "h-8 w-full rounded-md border border-sidebar-border bg-background px-3",
562
+ "text-sm text-sidebar-foreground placeholder:text-sidebar-foreground/50",
563
+ "transition-[border-color,box-shadow] duration-fast",
564
+ "focus:border-sidebar-ring focus:outline-none focus:ring-2 focus:ring-sidebar-ring/20",
565
+ className
566
+ ),
567
+ "data-ds": "",
568
+ "data-ds-component": "sidebar-input",
569
+ "data-sidebar": "input",
570
+ ...rest
571
+ }
572
+ );
573
+ }
574
+ );
575
+ SidebarInput.displayName = "SidebarInput";
576
+ const SidebarGroup = (0, import_react.forwardRef)(
577
+ function SidebarGroup2({ className, children, ...rest }, ref) {
578
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
579
+ "div",
580
+ {
581
+ ref,
582
+ className: (0, import_cn.cn)(
583
+ "relative flex w-full min-w-0 flex-col p-2",
584
+ "group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:px-1.5",
585
+ className
586
+ ),
587
+ "data-ds": "",
588
+ "data-ds-component": "sidebar-group",
589
+ "data-sidebar": "group",
590
+ ...rest,
591
+ children
592
+ }
593
+ );
594
+ }
595
+ );
596
+ SidebarGroup.displayName = "SidebarGroup";
597
+ const SidebarGroupLabel = (0, import_react.forwardRef)(function SidebarGroupLabel2({ className, asChild = false, children, ...rest }, ref) {
598
+ const { state } = useSidebar();
599
+ const classes = (0, import_cn.cn)(
600
+ "flex h-8 shrink-0 items-center rounded-md px-2",
601
+ "text-xs font-medium text-sidebar-foreground/70",
602
+ "outline-none ring-sidebar-ring",
603
+ "transition-[margin,opacity,padding] duration-200 ease-linear",
604
+ // When collapsed to icon mode, hide label
605
+ state === "collapsed" && "opacity-0 overflow-hidden h-0 p-0 m-0",
606
+ className
607
+ );
608
+ if (asChild) {
609
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
610
+ "div",
611
+ {
612
+ ref,
613
+ className: classes,
614
+ "data-ds": "",
615
+ "data-ds-component": "sidebar-group-label",
616
+ "data-sidebar": "group-label",
617
+ ...rest,
618
+ children
619
+ }
620
+ );
621
+ }
622
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
623
+ "div",
624
+ {
625
+ ref,
626
+ className: classes,
627
+ "data-ds": "",
628
+ "data-ds-component": "sidebar-group-label",
629
+ "data-sidebar": "group-label",
630
+ ...rest,
631
+ children
632
+ }
633
+ );
634
+ });
635
+ SidebarGroupLabel.displayName = "SidebarGroupLabel";
636
+ const SidebarGroupAction = (0, import_react.forwardRef)(function SidebarGroupAction2({ className, children, ...rest }, ref) {
637
+ const { state } = useSidebar();
638
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
639
+ "button",
640
+ {
641
+ ref,
642
+ type: "button",
643
+ className: (0, import_cn.cn)(
644
+ "absolute right-3 top-3.5 flex items-center justify-center",
645
+ "size-5 rounded-md p-0",
646
+ "text-sidebar-foreground/70 ring-sidebar-ring",
647
+ "outline-none",
648
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
649
+ "transition-transform duration-200",
650
+ import_focus_ring.focusRingClasses,
651
+ "[&>svg]:size-4 [&>svg]:shrink-0",
652
+ // When icon-collapsed, hide
653
+ state === "collapsed" && "hidden",
654
+ className
655
+ ),
656
+ "data-ds": "",
657
+ "data-ds-component": "sidebar-group-action",
658
+ "data-sidebar": "group-action",
659
+ ...rest,
660
+ children
661
+ }
662
+ );
663
+ });
664
+ SidebarGroupAction.displayName = "SidebarGroupAction";
665
+ const SidebarGroupContent = (0, import_react.forwardRef)(function SidebarGroupContent2({ className, children, ...rest }, ref) {
666
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
667
+ "div",
668
+ {
669
+ ref,
670
+ className: (0, import_cn.cn)("w-full text-sm", className),
671
+ "data-ds": "",
672
+ "data-ds-component": "sidebar-group-content",
673
+ "data-sidebar": "group-content",
674
+ ...rest,
675
+ children
676
+ }
677
+ );
678
+ });
679
+ SidebarGroupContent.displayName = "SidebarGroupContent";
680
+ const SidebarMenu = (0, import_react.forwardRef)(
681
+ function SidebarMenu2({ className, children, ...rest }, ref) {
682
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
683
+ "ul",
684
+ {
685
+ ref,
686
+ className: (0, import_cn.cn)(
687
+ "flex w-full min-w-0 flex-col gap-1 list-none m-0 p-0",
688
+ "group-data-[collapsible=icon]:items-center",
689
+ className
690
+ ),
691
+ "data-ds": "",
692
+ "data-ds-component": "sidebar-menu",
693
+ "data-sidebar": "menu",
694
+ ...rest,
695
+ children
696
+ }
697
+ );
698
+ }
699
+ );
700
+ SidebarMenu.displayName = "SidebarMenu";
701
+ const SidebarMenuItem = (0, import_react.forwardRef)(
702
+ function SidebarMenuItem2({ className, children, ...rest }, ref) {
703
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
704
+ "li",
705
+ {
706
+ ref,
707
+ className: (0, import_cn.cn)("group/menu-item relative list-none m-0 p-0", className),
708
+ "data-ds": "",
709
+ "data-ds-component": "sidebar-menu-item",
710
+ "data-sidebar": "menu-item",
711
+ ...rest,
712
+ children
713
+ }
714
+ );
715
+ }
716
+ );
717
+ SidebarMenuItem.displayName = "SidebarMenuItem";
718
+ const SidebarMenuButton = (0, import_react.forwardRef)(function SidebarMenuButton2({
719
+ isActive = false,
720
+ size = "default",
721
+ variant = "default",
722
+ tooltip,
723
+ asChild = false,
724
+ className,
725
+ children,
726
+ ...rest
727
+ }, ref) {
728
+ const { state, isMobile, collapsible } = useSidebar();
729
+ const isCollapsed = state === "collapsed" && collapsible === "icon";
730
+ const lgExpandedLayout = !isCollapsed ? [
731
+ "[&>*:nth-child(2)]:flex-1 [&>*:nth-child(2)]:min-w-0",
732
+ "[&>*:nth-child(2)]:grid [&>*:nth-child(2)]:text-left [&>*:nth-child(2)]:text-sm [&>*:nth-child(2)]:leading-tight",
733
+ "[&>*:nth-child(2)_span]:truncate",
734
+ "[&>svg:last-child]:ml-auto [&>svg:last-child]:shrink-0"
735
+ ].join(" ") : "";
736
+ const sizeClasses = {
737
+ sm: "h-7 text-xs",
738
+ default: "h-8 text-sm",
739
+ lg: [
740
+ "h-12 text-sm",
741
+ lgExpandedLayout,
742
+ // lg collapsed: shrink height to match default buttons and scale
743
+ // the first-child wrapper (logo div, Avatar) to 24px so it fits
744
+ // neatly inside the 32px collapsed button.
745
+ "group-data-[collapsible=icon]:!h-8",
746
+ "group-data-[collapsible=icon]:[&>:first-child]:!size-6",
747
+ "group-data-[collapsible=icon]:[&>:first-child]:shrink-0",
748
+ "group-data-[collapsible=icon]:[&>:first-child]:overflow-hidden",
749
+ "group-data-[collapsible=icon]:[&>:first-child]:rounded-md"
750
+ ].join(" ")
751
+ };
752
+ const buttonClasses = (0, import_cn.cn)(
753
+ // Base
754
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2",
755
+ "outline-none ring-sidebar-ring",
756
+ "transition-[width,height,padding] duration-200 ease-linear",
757
+ import_focus_ring.focusRingClasses,
758
+ // Active & hover states
759
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
760
+ "active:bg-sidebar-accent active:text-sidebar-accent-foreground",
761
+ // Size
762
+ sizeClasses[size],
763
+ // Variant
764
+ variant === "outline" && "bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:shadow-[0_0_0_1px_var(--sidebar-accent)]",
765
+ // Active
766
+ isActive && "bg-sidebar-accent text-sidebar-accent-foreground font-medium",
767
+ // Icon collapse — fixed 32px button, no padding, center the icon,
768
+ // hide everything except the first child (icon/avatar).
769
+ // Plain <svg> icons stay at size-4 (16px); lg wrapper divs are
770
+ // handled separately by the lg sizeClass above.
771
+ isCollapsed && "!size-8 !p-0 !gap-0 justify-center [&>*:not(:first-child)]:hidden [&>svg]:size-4",
772
+ // Disabled
773
+ "disabled:pointer-events-none disabled:opacity-50",
774
+ // Icon sizing
775
+ "[&>svg]:size-4 [&>svg]:shrink-0",
776
+ className
777
+ );
778
+ const button = asChild ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
779
+ "span",
780
+ {
781
+ ref,
782
+ className: buttonClasses,
783
+ "data-ds": "",
784
+ "data-ds-component": "sidebar-menu-button",
785
+ "data-sidebar": "menu-button",
786
+ "data-size": size,
787
+ "data-active": isActive ? "" : void 0,
788
+ children
789
+ }
790
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
791
+ "button",
792
+ {
793
+ ref,
794
+ type: "button",
795
+ className: buttonClasses,
796
+ "aria-current": isActive ? "page" : void 0,
797
+ "data-ds": "",
798
+ "data-ds-component": "sidebar-menu-button",
799
+ "data-sidebar": "menu-button",
800
+ "data-size": size,
801
+ "data-active": isActive ? "" : void 0,
802
+ ...rest,
803
+ children
804
+ }
805
+ );
806
+ if (!tooltip || isMobile) {
807
+ return button;
808
+ }
809
+ if (!isCollapsed) {
810
+ return button;
811
+ }
812
+ const tooltipContent = typeof tooltip === "string" ? tooltip : tooltip;
813
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_radix_ui.Tooltip.Root, { children: [
814
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Tooltip.Trigger, { asChild: true, children: button }),
815
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
816
+ import_radix_ui.Tooltip.Content,
817
+ {
818
+ side: "right",
819
+ align: "center",
820
+ sideOffset: 4,
821
+ className: (0, import_cn.cn)(
822
+ "z-(--z-tooltip,9999)",
823
+ "overflow-hidden rounded-md px-3 py-1.5",
824
+ "bg-sidebar-primary text-sidebar-primary-foreground",
825
+ "text-xs font-medium",
826
+ "animate-in fade-in-0 zoom-in-95",
827
+ "data-[side=right]:slide-in-from-left-2"
828
+ ),
829
+ children: tooltipContent
830
+ }
831
+ ) })
832
+ ] });
833
+ });
834
+ SidebarMenuButton.displayName = "SidebarMenuButton";
835
+ const SidebarMenuAction = (0, import_react.forwardRef)(function SidebarMenuAction2({ showOnHover = false, className, children, ...rest }, ref) {
836
+ const { state } = useSidebar();
837
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
838
+ "button",
839
+ {
840
+ ref,
841
+ type: "button",
842
+ className: (0, import_cn.cn)(
843
+ "absolute right-1 top-1.5 flex items-center justify-center",
844
+ "size-5 rounded-md p-0",
845
+ "text-sidebar-foreground/70 outline-none ring-sidebar-ring",
846
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
847
+ "transition-opacity duration-fast",
848
+ import_focus_ring.focusRingClasses,
849
+ "[&>svg]:size-4 [&>svg]:shrink-0",
850
+ // Show on hover only
851
+ showOnHover && "opacity-0 group-hover/menu-item:opacity-100 group-focus-within/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground",
852
+ // Hide when collapsed to icon mode
853
+ state === "collapsed" && "hidden",
854
+ className
855
+ ),
856
+ "data-ds": "",
857
+ "data-ds-component": "sidebar-menu-action",
858
+ "data-sidebar": "menu-action",
859
+ ...rest,
860
+ children
861
+ }
862
+ );
863
+ });
864
+ SidebarMenuAction.displayName = "SidebarMenuAction";
865
+ const SidebarMenuBadge = (0, import_react.forwardRef)(function SidebarMenuBadge2({ className, children, ...rest }, ref) {
866
+ const { state } = useSidebar();
867
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
868
+ "div",
869
+ {
870
+ ref,
871
+ className: (0, import_cn.cn)(
872
+ "absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1",
873
+ "text-xs font-medium tabular-nums text-sidebar-foreground",
874
+ "select-none pointer-events-none",
875
+ // Hide when collapsed
876
+ state === "collapsed" && "hidden",
877
+ className
878
+ ),
879
+ "data-ds": "",
880
+ "data-ds-component": "sidebar-menu-badge",
881
+ "data-sidebar": "menu-badge",
882
+ ...rest,
883
+ children
884
+ }
885
+ );
886
+ });
887
+ SidebarMenuBadge.displayName = "SidebarMenuBadge";
888
+ const SidebarMenuSkeleton = (0, import_react.forwardRef)(function SidebarMenuSkeleton2({ className, showIcon = false, ...rest }, ref) {
889
+ const width = (0, import_react.useMemo)(() => {
890
+ return `${Math.floor(Math.random() * 40) + 50}%`;
891
+ }, []);
892
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
893
+ "div",
894
+ {
895
+ ref,
896
+ className: (0, import_cn.cn)("flex h-8 items-center gap-2 rounded-md px-2", className),
897
+ "data-ds": "",
898
+ "data-ds-component": "sidebar-menu-skeleton",
899
+ "data-sidebar": "menu-skeleton",
900
+ ...rest,
901
+ children: [
902
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "size-4 rounded-md bg-sidebar-accent animate-pulse" }),
903
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
904
+ "div",
905
+ {
906
+ className: "h-4 max-w-[--skeleton-width] flex-1 rounded-md bg-sidebar-accent animate-pulse",
907
+ style: { "--skeleton-width": width }
908
+ }
909
+ )
910
+ ]
911
+ }
912
+ );
913
+ });
914
+ SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
915
+ const SidebarMenuSub = (0, import_react.forwardRef)(
916
+ function SidebarMenuSub2({ className, children, ...rest }, ref) {
917
+ const { state } = useSidebar();
918
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
919
+ "ul",
920
+ {
921
+ ref,
922
+ className: (0, import_cn.cn)(
923
+ "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 list-none m-0 p-0",
924
+ "border-l border-sidebar-border pl-2.5 py-0.5",
925
+ // Hide when collapsed to icon
926
+ state === "collapsed" && "hidden",
927
+ className
928
+ ),
929
+ "data-ds": "",
930
+ "data-ds-component": "sidebar-menu-sub",
931
+ "data-sidebar": "menu-sub",
932
+ ...rest,
933
+ children
934
+ }
935
+ );
936
+ }
937
+ );
938
+ SidebarMenuSub.displayName = "SidebarMenuSub";
939
+ const SidebarMenuSubItem = (0, import_react.forwardRef)(function SidebarMenuSubItem2({ className, children, ...rest }, ref) {
940
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
941
+ "li",
942
+ {
943
+ ref,
944
+ className: (0, import_cn.cn)("list-none m-0 p-0", className),
945
+ "data-ds": "",
946
+ "data-ds-component": "sidebar-menu-sub-item",
947
+ "data-sidebar": "menu-sub-item",
948
+ ...rest,
949
+ children
950
+ }
951
+ );
952
+ });
953
+ SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
954
+ const SidebarMenuSubButton = (0, import_react.forwardRef)(function SidebarMenuSubButton2({ isActive = false, size = "md", className, children, ...rest }, ref) {
955
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
956
+ "a",
957
+ {
958
+ ref,
959
+ className: (0, import_cn.cn)(
960
+ "flex min-w-0 items-center gap-2 overflow-hidden rounded-md px-2 no-underline",
961
+ "text-sidebar-foreground/70 outline-none ring-sidebar-ring",
962
+ "transition-colors duration-fast",
963
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:no-underline",
964
+ import_focus_ring.focusRingClasses,
965
+ size === "sm" ? "h-6 text-xs" : "h-7 text-xs",
966
+ isActive && "bg-sidebar-accent text-sidebar-accent-foreground font-medium",
967
+ "disabled:pointer-events-none disabled:opacity-50",
968
+ "[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
969
+ className
970
+ ),
971
+ "aria-current": isActive ? "page" : void 0,
972
+ "data-ds": "",
973
+ "data-ds-component": "sidebar-menu-sub-button",
974
+ "data-sidebar": "menu-sub-button",
975
+ "data-active": isActive ? "" : void 0,
976
+ ...rest,
977
+ children
978
+ }
979
+ );
980
+ });
981
+ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
982
+ const SidebarSection = SidebarGroup;
983
+ const SidebarItem = (0, import_react.forwardRef)(
984
+ function SidebarItem2({
985
+ icon,
986
+ label,
987
+ active = false,
988
+ disabled = false,
989
+ badge,
990
+ href,
991
+ className,
992
+ children,
993
+ ...rest
994
+ }, ref) {
995
+ const { state } = useSidebar();
996
+ const isCollapsed = state === "collapsed";
997
+ const Tag = href ? "a" : "button";
998
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
999
+ Tag,
1000
+ {
1001
+ ref,
1002
+ href,
1003
+ type: href ? void 0 : "button",
1004
+ disabled,
1005
+ "aria-current": active ? "page" : void 0,
1006
+ className: (0, import_cn.cn)(
1007
+ "flex items-center gap-3 px-2 py-2 rounded-md w-full",
1008
+ "text-sm font-medium leading-none",
1009
+ "transition-colors duration-fast",
1010
+ "disabled:pointer-events-none disabled:opacity-50",
1011
+ import_focus_ring.focusRingClasses,
1012
+ active ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/60",
1013
+ isCollapsed && "justify-center",
1014
+ className
1015
+ ),
1016
+ title: isCollapsed && typeof label === "string" ? label : void 0,
1017
+ "data-ds": "",
1018
+ "data-ds-component": "sidebar-item",
1019
+ "data-ds-active": active ? "" : void 0,
1020
+ ...rest,
1021
+ children: [
1022
+ icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "shrink-0 size-5 flex items-center justify-center", children: icon }),
1023
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.AnimatePresence, { children: !isCollapsed && (label || children) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1024
+ import_framer_motion.motion.span,
1025
+ {
1026
+ className: "flex-1 truncate",
1027
+ initial: { opacity: 0, width: 0 },
1028
+ animate: { opacity: 1, width: "auto" },
1029
+ exit: { opacity: 0, width: 0 },
1030
+ transition: { duration: 0.15 },
1031
+ "data-ds-animated": "",
1032
+ children: label ?? children
1033
+ }
1034
+ ) }),
1035
+ badge && !isCollapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "shrink-0", children: badge })
1036
+ ]
1037
+ }
1038
+ );
1039
+ }
1040
+ );
1041
+ SidebarItem.displayName = "SidebarItem";
1042
+ function SidebarMobileOverlay(_props) {
1043
+ return null;
1044
+ }
1045
+ SidebarMobileOverlay.displayName = "SidebarMobileOverlay";
1046
+ // Annotate the CommonJS export names for ESM import in node:
1047
+ 0 && (module.exports = {
1048
+ Sidebar,
1049
+ SidebarContent,
1050
+ SidebarFooter,
1051
+ SidebarGroup,
1052
+ SidebarGroupAction,
1053
+ SidebarGroupContent,
1054
+ SidebarGroupLabel,
1055
+ SidebarHeader,
1056
+ SidebarInput,
1057
+ SidebarInset,
1058
+ SidebarItem,
1059
+ SidebarMenu,
1060
+ SidebarMenuAction,
1061
+ SidebarMenuBadge,
1062
+ SidebarMenuButton,
1063
+ SidebarMenuItem,
1064
+ SidebarMenuSkeleton,
1065
+ SidebarMenuSub,
1066
+ SidebarMenuSubButton,
1067
+ SidebarMenuSubItem,
1068
+ SidebarMobileOverlay,
1069
+ SidebarProvider,
1070
+ SidebarRail,
1071
+ SidebarSection,
1072
+ SidebarSeparator,
1073
+ SidebarToggle,
1074
+ SidebarTrigger,
1075
+ useSidebar,
1076
+ useSidebarContext
1077
+ });