@stevederico/skateboard-ui 3.12.0 → 4.1.0

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 (339) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +37 -31
  3. package/dist/components/core/Command.js +33 -7
  4. package/dist/shadcn/ui/accordion.d.ts +1 -6
  5. package/dist/shadcn/ui/accordion.js +3 -17
  6. package/dist/shadcn/ui/alert-dialog.d.ts +1 -18
  7. package/dist/shadcn/ui/alert-dialog.js +3 -43
  8. package/dist/shadcn/ui/alert.d.ts +1 -13
  9. package/dist/shadcn/ui/alert.js +3 -28
  10. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -4
  11. package/dist/shadcn/ui/aspect-ratio.js +3 -8
  12. package/dist/shadcn/ui/avatar.d.ts +1 -11
  13. package/dist/shadcn/ui/avatar.js +3 -24
  14. package/dist/shadcn/ui/badge.d.ts +1 -14
  15. package/dist/shadcn/ui/badge.js +3 -33
  16. package/dist/shadcn/ui/breadcrumb.d.ts +1 -10
  17. package/dist/shadcn/ui/breadcrumb.js +3 -37
  18. package/dist/shadcn/ui/button-group.d.ts +1 -13
  19. package/dist/shadcn/ui/button-group.js +3 -36
  20. package/dist/shadcn/ui/button.d.ts +1 -34
  21. package/dist/shadcn/ui/button.js +3 -53
  22. package/dist/shadcn/ui/calendar.d.ts +1 -13
  23. package/dist/shadcn/ui/calendar.js +3 -75
  24. package/dist/shadcn/ui/card.d.ts +1 -11
  25. package/dist/shadcn/ui/card.js +3 -25
  26. package/dist/shadcn/ui/checkbox.d.ts +1 -3
  27. package/dist/shadcn/ui/checkbox.js +3 -9
  28. package/dist/shadcn/ui/collapsible.d.ts +1 -5
  29. package/dist/shadcn/ui/collapsible.js +3 -13
  30. package/dist/shadcn/ui/command.d.ts +1 -19
  31. package/dist/shadcn/ui/command.js +3 -35
  32. package/dist/shadcn/ui/context-menu.d.ts +1 -29
  33. package/dist/shadcn/ui/context-menu.js +3 -52
  34. package/dist/shadcn/ui/dialog.d.ts +1 -17
  35. package/dist/shadcn/ui/dialog.js +3 -38
  36. package/dist/shadcn/ui/drawer.d.ts +1 -13
  37. package/dist/shadcn/ui/drawer.js +3 -196
  38. package/dist/shadcn/ui/dropdown-menu.d.ts +1 -29
  39. package/dist/shadcn/ui/dropdown-menu.js +3 -52
  40. package/dist/shadcn/ui/empty.d.ts +1 -14
  41. package/dist/shadcn/ui/empty.js +3 -33
  42. package/dist/shadcn/ui/field.d.ts +1 -28
  43. package/dist/shadcn/ui/field.js +3 -68
  44. package/dist/shadcn/ui/hover-card.d.ts +1 -5
  45. package/dist/shadcn/ui/hover-card.js +3 -14
  46. package/dist/shadcn/ui/input-group.d.ts +1 -28
  47. package/dist/shadcn/ui/input-group.js +3 -58
  48. package/dist/shadcn/ui/input.d.ts +1 -3
  49. package/dist/shadcn/ui/input.js +3 -8
  50. package/dist/shadcn/ui/item.d.ts +1 -34
  51. package/dist/shadcn/ui/item.js +3 -79
  52. package/dist/shadcn/ui/kbd.d.ts +1 -3
  53. package/dist/shadcn/ui/kbd.js +3 -9
  54. package/dist/shadcn/ui/label.d.ts +1 -3
  55. package/dist/shadcn/ui/label.js +3 -8
  56. package/dist/shadcn/ui/menubar.d.ts +1 -29
  57. package/dist/shadcn/ui/menubar.js +3 -57
  58. package/dist/shadcn/ui/navigation-menu.d.ts +1 -13
  59. package/dist/shadcn/ui/navigation-menu.js +3 -31
  60. package/dist/shadcn/ui/pagination.d.ts +1 -17
  61. package/dist/shadcn/ui/pagination.js +3 -27
  62. package/dist/shadcn/ui/popover.d.ts +1 -9
  63. package/dist/shadcn/ui/popover.js +3 -24
  64. package/dist/shadcn/ui/progress.d.ts +1 -7
  65. package/dist/shadcn/ui/progress.js +3 -20
  66. package/dist/shadcn/ui/radio-group.d.ts +1 -5
  67. package/dist/shadcn/ui/radio-group.js +3 -12
  68. package/dist/shadcn/ui/scroll-area.d.ts +1 -5
  69. package/dist/shadcn/ui/scroll-area.js +3 -12
  70. package/dist/shadcn/ui/select.d.ts +1 -15
  71. package/dist/shadcn/ui/select.js +3 -35
  72. package/dist/shadcn/ui/separator.d.ts +1 -3
  73. package/dist/shadcn/ui/separator.js +3 -8
  74. package/dist/shadcn/ui/sheet.d.ts +1 -14
  75. package/dist/shadcn/ui/sheet.js +3 -38
  76. package/dist/shadcn/ui/sidebar.d.ts +1 -70
  77. package/dist/shadcn/ui/sidebar.js +3 -256
  78. package/dist/shadcn/ui/skeleton.d.ts +1 -2
  79. package/dist/shadcn/ui/skeleton.js +3 -6
  80. package/dist/shadcn/ui/slider.d.ts +1 -3
  81. package/dist/shadcn/ui/slider.js +3 -12
  82. package/dist/shadcn/ui/spinner.d.ts +1 -2
  83. package/dist/shadcn/ui/spinner.js +3 -7
  84. package/dist/shadcn/ui/switch.d.ts +1 -5
  85. package/dist/shadcn/ui/switch.js +3 -8
  86. package/dist/shadcn/ui/table.d.ts +1 -10
  87. package/dist/shadcn/ui/table.js +3 -29
  88. package/dist/shadcn/ui/tabs.d.ts +1 -13
  89. package/dist/shadcn/ui/tabs.js +3 -29
  90. package/dist/shadcn/ui/textarea.d.ts +1 -3
  91. package/dist/shadcn/ui/textarea.js +3 -7
  92. package/dist/shadcn/ui/toggle-group.d.ts +1 -11
  93. package/dist/shadcn/ui/toggle-group.js +3 -25
  94. package/dist/shadcn/ui/toggle.d.ts +1 -15
  95. package/dist/shadcn/ui/toggle.js +3 -26
  96. package/dist/shadcn/ui/tooltip.d.ts +1 -6
  97. package/dist/shadcn/ui/tooltip.js +3 -17
  98. package/dist/ui/accordion.d.ts +21 -0
  99. package/dist/ui/accordion.js +67 -0
  100. package/dist/ui/alert-dialog.d.ts +32 -0
  101. package/dist/ui/alert-dialog.js +102 -0
  102. package/dist/ui/alert.d.ts +13 -0
  103. package/dist/ui/alert.js +28 -0
  104. package/dist/ui/aspect-ratio.d.ts +5 -0
  105. package/dist/ui/aspect-ratio.js +9 -0
  106. package/dist/ui/avatar.d.ts +14 -0
  107. package/dist/ui/avatar.js +49 -0
  108. package/dist/ui/badge.d.ts +22 -0
  109. package/dist/ui/badge.js +26 -0
  110. package/dist/ui/breadcrumb.d.ts +13 -0
  111. package/dist/ui/breadcrumb.js +29 -0
  112. package/dist/ui/button-group.d.ts +21 -0
  113. package/dist/ui/button-group.js +29 -0
  114. package/dist/ui/button.d.ts +38 -0
  115. package/dist/ui/button.js +49 -0
  116. package/dist/ui/calendar.d.ts +13 -0
  117. package/dist/ui/calendar.js +75 -0
  118. package/dist/ui/card.d.ts +11 -0
  119. package/dist/ui/card.js +25 -0
  120. package/dist/ui/checkbox.d.ts +17 -0
  121. package/dist/ui/checkbox.js +25 -0
  122. package/dist/ui/collapsible.d.ts +11 -0
  123. package/dist/ui/collapsible.js +40 -0
  124. package/dist/ui/command.d.ts +19 -0
  125. package/dist/ui/command.js +35 -0
  126. package/dist/ui/context-menu.d.ts +53 -0
  127. package/dist/ui/context-menu.js +372 -0
  128. package/dist/ui/dialog.d.ts +40 -0
  129. package/dist/ui/dialog.js +109 -0
  130. package/dist/ui/drawer.d.ts +36 -0
  131. package/dist/ui/drawer.js +243 -0
  132. package/dist/ui/dropdown-menu.d.ts +61 -0
  133. package/dist/ui/dropdown-menu.js +347 -0
  134. package/dist/ui/empty.d.ts +14 -0
  135. package/dist/ui/empty.js +33 -0
  136. package/dist/ui/field.d.ts +28 -0
  137. package/dist/ui/field.js +68 -0
  138. package/dist/ui/hover-card.d.ts +32 -0
  139. package/dist/ui/hover-card.js +119 -0
  140. package/dist/ui/input-group.d.ts +28 -0
  141. package/dist/ui/input-group.js +58 -0
  142. package/dist/ui/input.d.ts +3 -0
  143. package/dist/ui/input.js +7 -0
  144. package/dist/ui/item.d.ts +41 -0
  145. package/dist/ui/item.js +69 -0
  146. package/dist/ui/kbd.d.ts +4 -0
  147. package/dist/ui/kbd.js +10 -0
  148. package/dist/ui/label.d.ts +3 -0
  149. package/dist/ui/label.js +8 -0
  150. package/dist/ui/menubar.d.ts +59 -0
  151. package/dist/ui/menubar.js +397 -0
  152. package/dist/ui/navigation-menu.d.ts +24 -0
  153. package/dist/ui/navigation-menu.js +203 -0
  154. package/dist/ui/pagination.d.ts +17 -0
  155. package/dist/ui/pagination.js +36 -0
  156. package/dist/ui/popover.d.ts +25 -0
  157. package/dist/ui/popover.js +126 -0
  158. package/dist/ui/portal.d.ts +7 -0
  159. package/dist/ui/portal.js +12 -0
  160. package/dist/ui/progress.d.ts +15 -0
  161. package/dist/ui/progress.js +36 -0
  162. package/dist/ui/radio-group.d.ts +17 -0
  163. package/dist/ui/radio-group.js +66 -0
  164. package/dist/ui/scroll-area.d.ts +9 -0
  165. package/dist/ui/scroll-area.js +72 -0
  166. package/dist/ui/select.d.ts +37 -0
  167. package/dist/ui/select.js +226 -0
  168. package/dist/ui/separator.d.ts +14 -0
  169. package/dist/ui/separator.js +13 -0
  170. package/dist/ui/sheet.d.ts +31 -0
  171. package/dist/ui/sheet.js +121 -0
  172. package/dist/ui/sidebar.d.ts +86 -0
  173. package/dist/ui/sidebar.js +211 -0
  174. package/dist/ui/skeleton.d.ts +3 -0
  175. package/dist/ui/skeleton.js +7 -0
  176. package/dist/ui/slider.d.ts +18 -0
  177. package/dist/ui/slider.js +94 -0
  178. package/dist/ui/slot.d.ts +27 -0
  179. package/dist/ui/slot.js +62 -0
  180. package/dist/ui/spinner.d.ts +3 -0
  181. package/dist/ui/spinner.js +8 -0
  182. package/dist/ui/switch.d.ts +17 -0
  183. package/dist/ui/switch.js +23 -0
  184. package/dist/ui/table.d.ts +10 -0
  185. package/dist/ui/table.js +29 -0
  186. package/dist/ui/tabs.d.ts +29 -0
  187. package/dist/ui/tabs.js +96 -0
  188. package/dist/ui/textarea.d.ts +3 -0
  189. package/dist/ui/textarea.js +7 -0
  190. package/dist/ui/toggle-group.d.ts +23 -0
  191. package/dist/ui/toggle-group.js +52 -0
  192. package/dist/ui/toggle.d.ts +25 -0
  193. package/dist/ui/toggle.js +41 -0
  194. package/dist/ui/tooltip.d.ts +25 -0
  195. package/dist/ui/tooltip.js +90 -0
  196. package/dist/ui/use-controllable-state.d.ts +10 -0
  197. package/dist/ui/use-controllable-state.js +17 -0
  198. package/dist/ui/use-dismiss.d.ts +10 -0
  199. package/dist/ui/use-dismiss.js +51 -0
  200. package/dist/ui/use-floating.d.ts +42 -0
  201. package/dist/ui/use-floating.js +136 -0
  202. package/dist/ui/use-presence.d.ts +8 -0
  203. package/dist/ui/use-presence.js +48 -0
  204. package/dist/ui/use-typeahead.d.ts +19 -0
  205. package/dist/ui/use-typeahead.js +64 -0
  206. package/package.json +6 -1
  207. package/dist/shadcn/lib/base-ui/LICENSE +0 -21
  208. package/dist/shadcn/lib/base-ui/_chunk-000kmre8.js +0 -150
  209. package/dist/shadcn/lib/base-ui/_chunk-1vw45v38.js +0 -64
  210. package/dist/shadcn/lib/base-ui/_chunk-23rx7haq.js +0 -81
  211. package/dist/shadcn/lib/base-ui/_chunk-242gh8ph.js +0 -230
  212. package/dist/shadcn/lib/base-ui/_chunk-26cc610z.js +0 -6
  213. package/dist/shadcn/lib/base-ui/_chunk-2z044bba.js +0 -5890
  214. package/dist/shadcn/lib/base-ui/_chunk-3cpd1vjz.js +0 -13
  215. package/dist/shadcn/lib/base-ui/_chunk-3enq1vat.js +0 -82
  216. package/dist/shadcn/lib/base-ui/_chunk-3xpke33f.js +0 -23
  217. package/dist/shadcn/lib/base-ui/_chunk-451nqgsa.js +0 -6
  218. package/dist/shadcn/lib/base-ui/_chunk-4maf6pas.js +0 -11
  219. package/dist/shadcn/lib/base-ui/_chunk-4zhfq4d3.js +0 -16
  220. package/dist/shadcn/lib/base-ui/_chunk-5gaqyne5.js +0 -21
  221. package/dist/shadcn/lib/base-ui/_chunk-5tt5hk59.js +0 -4
  222. package/dist/shadcn/lib/base-ui/_chunk-5tze5c8q.js +0 -13
  223. package/dist/shadcn/lib/base-ui/_chunk-5xmdvndx.js +0 -225
  224. package/dist/shadcn/lib/base-ui/_chunk-6adaer33.js +0 -435
  225. package/dist/shadcn/lib/base-ui/_chunk-6ejf1z1r.js +0 -9
  226. package/dist/shadcn/lib/base-ui/_chunk-6kqramh9.js +0 -27
  227. package/dist/shadcn/lib/base-ui/_chunk-7b9dc493.js +0 -14
  228. package/dist/shadcn/lib/base-ui/_chunk-8a9vv8am.js +0 -89
  229. package/dist/shadcn/lib/base-ui/_chunk-8ctgmf06.js +0 -129
  230. package/dist/shadcn/lib/base-ui/_chunk-8ganmsbg.js +0 -54
  231. package/dist/shadcn/lib/base-ui/_chunk-8xaqxgck.js +0 -15
  232. package/dist/shadcn/lib/base-ui/_chunk-95tf2rxq.js +0 -62
  233. package/dist/shadcn/lib/base-ui/_chunk-9x63vfqj.js +0 -70
  234. package/dist/shadcn/lib/base-ui/_chunk-ase0ydtt.js +0 -9
  235. package/dist/shadcn/lib/base-ui/_chunk-b0nc8wq7.js +0 -34
  236. package/dist/shadcn/lib/base-ui/_chunk-b5ya6xds.js +0 -10
  237. package/dist/shadcn/lib/base-ui/_chunk-b6dkjkbw.js +0 -43
  238. package/dist/shadcn/lib/base-ui/_chunk-c2bz952e.js +0 -19
  239. package/dist/shadcn/lib/base-ui/_chunk-cdgfsr3q.js +0 -15
  240. package/dist/shadcn/lib/base-ui/_chunk-cdj8cpx5.js +0 -347
  241. package/dist/shadcn/lib/base-ui/_chunk-cgptgywc.js +0 -104
  242. package/dist/shadcn/lib/base-ui/_chunk-cwvtvwc7.js +0 -35
  243. package/dist/shadcn/lib/base-ui/_chunk-dan0mva4.js +0 -23
  244. package/dist/shadcn/lib/base-ui/_chunk-dzvjwv25.js +0 -0
  245. package/dist/shadcn/lib/base-ui/_chunk-e13rsb6b.js +0 -184
  246. package/dist/shadcn/lib/base-ui/_chunk-e56mpvk1.js +0 -118
  247. package/dist/shadcn/lib/base-ui/_chunk-e6k2ecs7.js +0 -48
  248. package/dist/shadcn/lib/base-ui/_chunk-ebyxgtb4.js +0 -29
  249. package/dist/shadcn/lib/base-ui/_chunk-f2wttwrf.js +0 -39
  250. package/dist/shadcn/lib/base-ui/_chunk-fdzctasg.js +0 -38
  251. package/dist/shadcn/lib/base-ui/_chunk-ffpjy0ta.js +0 -39
  252. package/dist/shadcn/lib/base-ui/_chunk-fqry7pew.js +0 -603
  253. package/dist/shadcn/lib/base-ui/_chunk-ghn1tzt8.js +0 -84
  254. package/dist/shadcn/lib/base-ui/_chunk-gy0bpkmx.js +0 -12
  255. package/dist/shadcn/lib/base-ui/_chunk-hm5h9vsk.js +0 -16
  256. package/dist/shadcn/lib/base-ui/_chunk-htdj1jps.js +0 -833
  257. package/dist/shadcn/lib/base-ui/_chunk-j29xjete.js +0 -146
  258. package/dist/shadcn/lib/base-ui/_chunk-j3qkyd10.js +0 -50
  259. package/dist/shadcn/lib/base-ui/_chunk-ktvsd5k6.js +0 -2386
  260. package/dist/shadcn/lib/base-ui/_chunk-kw8nnq00.js +0 -546
  261. package/dist/shadcn/lib/base-ui/_chunk-m307wpdj.js +0 -18
  262. package/dist/shadcn/lib/base-ui/_chunk-mnd0j7v9.js +0 -15
  263. package/dist/shadcn/lib/base-ui/_chunk-n11h505c.js +0 -32
  264. package/dist/shadcn/lib/base-ui/_chunk-p0e2qacz.js +0 -26
  265. package/dist/shadcn/lib/base-ui/_chunk-pv7b791x.js +0 -106
  266. package/dist/shadcn/lib/base-ui/_chunk-q5cg71p7.js +0 -83
  267. package/dist/shadcn/lib/base-ui/_chunk-qbezxj1g.js +0 -385
  268. package/dist/shadcn/lib/base-ui/_chunk-qmsqz6nt.js +0 -15
  269. package/dist/shadcn/lib/base-ui/_chunk-rrh8rt4v.js +0 -65
  270. package/dist/shadcn/lib/base-ui/_chunk-s5pwkz8v.js +0 -25
  271. package/dist/shadcn/lib/base-ui/_chunk-svxv97ph.js +0 -218
  272. package/dist/shadcn/lib/base-ui/_chunk-t7ppm3t0.js +0 -68
  273. package/dist/shadcn/lib/base-ui/_chunk-vg16xxmb.js +0 -52
  274. package/dist/shadcn/lib/base-ui/_chunk-vgkfmtbe.js +0 -21
  275. package/dist/shadcn/lib/base-ui/_chunk-watha94s.js +0 -14
  276. package/dist/shadcn/lib/base-ui/_chunk-wdqynnjf.js +0 -35
  277. package/dist/shadcn/lib/base-ui/_chunk-wx2nxg0p.js +0 -15
  278. package/dist/shadcn/lib/base-ui/_chunk-x11e1k9r.js +0 -0
  279. package/dist/shadcn/lib/base-ui/_chunk-x8xehj6d.js +0 -302
  280. package/dist/shadcn/lib/base-ui/_chunk-xcqbtm2f.js +0 -28
  281. package/dist/shadcn/lib/base-ui/_chunk-ytnp24gq.js +0 -328
  282. package/dist/shadcn/lib/base-ui/_chunk-yzr7eg4b.js +0 -6
  283. package/dist/shadcn/lib/base-ui/_chunk-zk4mtm9m.js +0 -9
  284. package/dist/shadcn/lib/base-ui/accordion.d.ts +0 -447
  285. package/dist/shadcn/lib/base-ui/accordion.js +0 -630
  286. package/dist/shadcn/lib/base-ui/alert-dialog.d.ts +0 -1467
  287. package/dist/shadcn/lib/base-ui/alert-dialog.js +0 -98
  288. package/dist/shadcn/lib/base-ui/avatar.d.ts +0 -123
  289. package/dist/shadcn/lib/base-ui/avatar.js +0 -235
  290. package/dist/shadcn/lib/base-ui/button.d.ts +0 -84
  291. package/dist/shadcn/lib/base-ui/button.js +0 -51
  292. package/dist/shadcn/lib/base-ui/checkbox.d.ts +0 -341
  293. package/dist/shadcn/lib/base-ui/checkbox.js +0 -501
  294. package/dist/shadcn/lib/base-ui/collapsible.d.ts +0 -291
  295. package/dist/shadcn/lib/base-ui/collapsible.js +0 -264
  296. package/dist/shadcn/lib/base-ui/context-menu.d.ts +0 -2213
  297. package/dist/shadcn/lib/base-ui/context-menu.js +0 -323
  298. package/dist/shadcn/lib/base-ui/dialog.d.ts +0 -1448
  299. package/dist/shadcn/lib/base-ui/dialog.js +0 -79
  300. package/dist/shadcn/lib/base-ui/input.d.ts +0 -506
  301. package/dist/shadcn/lib/base-ui/input.js +0 -1027
  302. package/dist/shadcn/lib/base-ui/menu.d.ts +0 -2275
  303. package/dist/shadcn/lib/base-ui/menu.js +0 -60
  304. package/dist/shadcn/lib/base-ui/menubar.d.ts +0 -48
  305. package/dist/shadcn/lib/base-ui/menubar.js +0 -156
  306. package/dist/shadcn/lib/base-ui/merge-props.d.ts +0 -70
  307. package/dist/shadcn/lib/base-ui/merge-props.js +0 -15
  308. package/dist/shadcn/lib/base-ui/navigation-menu.d.ts +0 -825
  309. package/dist/shadcn/lib/base-ui/navigation-menu.js +0 -1849
  310. package/dist/shadcn/lib/base-ui/popover.d.ts +0 -1743
  311. package/dist/shadcn/lib/base-ui/popover.js +0 -1089
  312. package/dist/shadcn/lib/base-ui/preview-card.d.ts +0 -1608
  313. package/dist/shadcn/lib/base-ui/preview-card.js +0 -919
  314. package/dist/shadcn/lib/base-ui/progress.d.ts +0 -172
  315. package/dist/shadcn/lib/base-ui/progress.js +0 -272
  316. package/dist/shadcn/lib/base-ui/radio-group.d.ts +0 -260
  317. package/dist/shadcn/lib/base-ui/radio-group.js +0 -239
  318. package/dist/shadcn/lib/base-ui/radio.d.ts +0 -176
  319. package/dist/shadcn/lib/base-ui/radio.js +0 -387
  320. package/dist/shadcn/lib/base-ui/scroll-area.d.ts +0 -241
  321. package/dist/shadcn/lib/base-ui/scroll-area.js +0 -1055
  322. package/dist/shadcn/lib/base-ui/select.d.ts +0 -1266
  323. package/dist/shadcn/lib/base-ui/select.js +0 -2450
  324. package/dist/shadcn/lib/base-ui/separator.d.ts +0 -76
  325. package/dist/shadcn/lib/base-ui/separator.js +0 -11
  326. package/dist/shadcn/lib/base-ui/slider.d.ts +0 -551
  327. package/dist/shadcn/lib/base-ui/slider.js +0 -1583
  328. package/dist/shadcn/lib/base-ui/switch.d.ts +0 -313
  329. package/dist/shadcn/lib/base-ui/switch.js +0 -326
  330. package/dist/shadcn/lib/base-ui/tabs.d.ts +0 -406
  331. package/dist/shadcn/lib/base-ui/tabs.js +0 -915
  332. package/dist/shadcn/lib/base-ui/toggle-group.d.ts +0 -235
  333. package/dist/shadcn/lib/base-ui/toggle-group.js +0 -145
  334. package/dist/shadcn/lib/base-ui/toggle.d.ts +0 -224
  335. package/dist/shadcn/lib/base-ui/toggle.js +0 -127
  336. package/dist/shadcn/lib/base-ui/tooltip.d.ts +0 -1656
  337. package/dist/shadcn/lib/base-ui/tooltip.js +0 -920
  338. package/dist/shadcn/lib/base-ui/use-render.d.ts +0 -87
  339. package/dist/shadcn/lib/base-ui/use-render.js +0 -15
@@ -0,0 +1,226 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../shadcn/lib/utils.js";
5
+ import { mergeRefs } from "./slot.js";
6
+ import { Portal } from "./portal.js";
7
+ import { useFloating } from "./use-floating.js";
8
+ import { usePresence } from "./use-presence.js";
9
+ import { useControllableState } from "./use-controllable-state.js";
10
+ import { useTypeahead } from "./use-typeahead.js";
11
+ import { ChevronDownIcon, CheckIcon } from "../icons/index.js";
12
+ const SelectContext = React.createContext(null);
13
+ function useSelect() {
14
+ const ctx = React.useContext(SelectContext);
15
+ if (!ctx)
16
+ throw new Error("Select parts must be used within <Select>");
17
+ return ctx;
18
+ }
19
+ function Select({ value, defaultValue, onValueChange, open, defaultOpen = false, onOpenChange, children, }) {
20
+ const [selected, setSelected] = useControllableState({
21
+ value,
22
+ defaultValue,
23
+ onChange: onValueChange,
24
+ });
25
+ const [isOpen, setOpen] = useControllableState({
26
+ value: open,
27
+ defaultValue: defaultOpen,
28
+ onChange: onOpenChange,
29
+ });
30
+ const triggerRef = React.useRef(null);
31
+ const contentId = React.useId();
32
+ const [labels, setLabels] = React.useState({});
33
+ const registerLabel = React.useCallback((v, label) => setLabels((prev) => ({ ...prev, [v]: label })), []);
34
+ const unregisterLabel = React.useCallback((v) => setLabels((prev) => {
35
+ const { [v]: _, ...rest } = prev;
36
+ return rest;
37
+ }), []);
38
+ const setValue = React.useCallback((v) => {
39
+ setSelected(v);
40
+ setOpen(false);
41
+ triggerRef.current?.focus();
42
+ }, [setSelected, setOpen]);
43
+ return (_jsx(SelectContext.Provider, { value: {
44
+ open: isOpen,
45
+ setOpen,
46
+ value: selected,
47
+ setValue,
48
+ triggerRef,
49
+ contentId,
50
+ labels,
51
+ registerLabel,
52
+ unregisterLabel,
53
+ }, children: children }));
54
+ }
55
+ function SelectGroup({ className, ...props }) {
56
+ return (_jsx("div", { role: "group", "data-slot": "select-group", className: cn("scroll-my-1 p-1", className), ...props }));
57
+ }
58
+ function SelectValue({ className, placeholder, ...props }) {
59
+ const { value, labels } = useSelect();
60
+ const label = value !== undefined ? labels[value] : undefined;
61
+ return (_jsx("span", { "data-slot": "select-value", "data-placeholder": value === undefined ? "" : undefined, className: cn("flex flex-1 text-left", className), ...props, children: label ?? placeholder ?? null }));
62
+ }
63
+ function SelectTrigger({ className, size = "default", children, onClick, onKeyDown, ...props }) {
64
+ const { open, setOpen, value, triggerRef, contentId } = useSelect();
65
+ return (_jsxs("button", { ref: triggerRef, type: "button", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? contentId : undefined, "data-slot": "select-trigger", "data-size": size, "data-state": open ? "open" : "closed", "data-placeholder": value === undefined ? "" : undefined, className: cn("flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), onClick: (e) => {
66
+ onClick?.(e);
67
+ if (!e.defaultPrevented)
68
+ setOpen(!open);
69
+ }, onKeyDown: (e) => {
70
+ onKeyDown?.(e);
71
+ if (e.defaultPrevented)
72
+ return;
73
+ if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
74
+ e.preventDefault();
75
+ setOpen(true);
76
+ }
77
+ }, ...props, children: [children, _jsx(ChevronDownIcon, {})] }));
78
+ }
79
+ function optionsOf(container) {
80
+ return Array.from(container.querySelectorAll('[role="option"]:not([data-disabled])'));
81
+ }
82
+ function SelectContent({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, onKeyDown, ...props }) {
83
+ const { open, setOpen, value, triggerRef, contentId } = useSelect();
84
+ const [mounted, presenceRef] = usePresence(open);
85
+ const { floatingRef, pos } = useFloating(triggerRef, mounted, {
86
+ side,
87
+ align,
88
+ sideOffset,
89
+ alignOffset,
90
+ });
91
+ const containerRef = React.useRef(null);
92
+ const { onTypeaheadKeyDown } = useTypeahead();
93
+ // Focus the selected (or first) option once the popup is actually visible.
94
+ const didFocus = React.useRef(false);
95
+ React.useEffect(() => {
96
+ if (!open) {
97
+ didFocus.current = false;
98
+ return;
99
+ }
100
+ let raf = 0;
101
+ const tryFocus = () => {
102
+ const c = containerRef.current;
103
+ if (c && getComputedStyle(c).visibility !== "hidden") {
104
+ didFocus.current = true;
105
+ const opts = optionsOf(c);
106
+ const selected = opts.find((o) => o.getAttribute("data-value") === value);
107
+ (selected ?? opts[0])?.focus();
108
+ }
109
+ else if (!didFocus.current) {
110
+ raf = requestAnimationFrame(tryFocus);
111
+ }
112
+ };
113
+ raf = requestAnimationFrame(tryFocus);
114
+ return () => cancelAnimationFrame(raf);
115
+ }, [open, value]);
116
+ React.useEffect(() => {
117
+ if (!open)
118
+ return;
119
+ const onPointerDown = (e) => {
120
+ const t = e.target;
121
+ if (triggerRef.current?.contains(t))
122
+ return;
123
+ if (containerRef.current?.contains(t))
124
+ return;
125
+ setOpen(false);
126
+ };
127
+ document.addEventListener("pointerdown", onPointerDown, true);
128
+ return () => {
129
+ document.removeEventListener("pointerdown", onPointerDown, true);
130
+ };
131
+ }, [open, setOpen, triggerRef]);
132
+ // While closed, render the items into a hidden tree so their value→label
133
+ // mappings register — this lets SelectValue show the selected label on initial
134
+ // render, before the listbox has ever been opened.
135
+ if (!mounted) {
136
+ return (_jsx("div", { hidden: true, "aria-hidden": true, "data-slot": "select-content-registry", children: children }));
137
+ }
138
+ const triggerWidth = triggerRef.current?.offsetWidth;
139
+ return (_jsx(Portal, { children: _jsx("div", { ref: mergeRefs(floatingRef, presenceRef, containerRef), id: contentId, role: "listbox", tabIndex: -1, "data-slot": "select-content", "data-state": open ? "open" : "closed", "data-open": open ? "" : undefined, "data-closed": open ? undefined : "", "data-side": pos?.side ?? side, style: {
140
+ position: "fixed",
141
+ left: pos?.x ?? 0,
142
+ top: pos?.y ?? 0,
143
+ minWidth: triggerWidth,
144
+ visibility: pos ? "visible" : "hidden",
145
+ ["--transform-origin"]: pos?.transformOrigin ?? "center",
146
+ ["--available-height"]: pos ? `${pos.availableHeight}px` : undefined,
147
+ }, onPointerMove: (e) => {
148
+ const opt = e.target.closest('[role="option"]:not([data-disabled])');
149
+ if (opt && opt !== document.activeElement)
150
+ opt.focus();
151
+ }, onKeyDown: (e) => {
152
+ onKeyDown?.(e);
153
+ if (e.defaultPrevented)
154
+ return;
155
+ const c = containerRef.current;
156
+ const opts = optionsOf(c);
157
+ const idx = opts.indexOf(document.activeElement);
158
+ if (e.key === "ArrowDown") {
159
+ e.preventDefault();
160
+ opts[idx < 0 ? 0 : (idx + 1) % opts.length]?.focus();
161
+ }
162
+ else if (e.key === "ArrowUp") {
163
+ e.preventDefault();
164
+ opts[idx < 0 ? opts.length - 1 : (idx - 1 + opts.length) % opts.length]?.focus();
165
+ }
166
+ else if (e.key === "Home") {
167
+ e.preventDefault();
168
+ opts[0]?.focus();
169
+ }
170
+ else if (e.key === "End") {
171
+ e.preventDefault();
172
+ opts[opts.length - 1]?.focus();
173
+ }
174
+ else if (e.key === "Escape") {
175
+ e.preventDefault();
176
+ setOpen(false);
177
+ triggerRef.current?.focus();
178
+ }
179
+ else if (e.key === "Enter" || e.key === " ") {
180
+ const active = document.activeElement;
181
+ if (active && c.contains(active) && active.getAttribute("role") === "option") {
182
+ e.preventDefault();
183
+ active.click();
184
+ }
185
+ }
186
+ else {
187
+ const match = onTypeaheadKeyDown(e, opts, idx);
188
+ if (match) {
189
+ e.preventDefault();
190
+ match.focus();
191
+ }
192
+ }
193
+ }, className: cn("relative isolate z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: children }) }));
194
+ }
195
+ function SelectLabel({ className, ...props }) {
196
+ return (_jsx("div", { "data-slot": "select-label", className: cn("px-2 py-1.5 text-xs text-muted-foreground", className), ...props }));
197
+ }
198
+ function SelectItem({ className, children, value, disabled, onClick, ...props }) {
199
+ const ctx = useSelect();
200
+ const selected = ctx.value === value;
201
+ // Register the value→label mapping. Kept sticky (no unregister on unmount) so
202
+ // SelectValue can still render the selected label after the list closes and
203
+ // its items unmount.
204
+ const { registerLabel } = ctx;
205
+ React.useEffect(() => {
206
+ registerLabel(value, children);
207
+ }, [value, children, registerLabel]);
208
+ return (_jsxs("div", { role: "option", tabIndex: -1, "aria-selected": selected, "aria-disabled": disabled || undefined, "data-slot": "select-item", "data-value": value, "data-disabled": disabled ? "" : undefined, className: cn("relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), onClick: (e) => {
209
+ if (disabled)
210
+ return;
211
+ onClick?.(e);
212
+ if (!e.defaultPrevented)
213
+ ctx.setValue(value);
214
+ }, ...props, children: [_jsx("span", { className: "flex flex-1 shrink-0 items-center gap-2 whitespace-nowrap", children: children }), selected ? (_jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: _jsx(CheckIcon, {}) })) : null] }));
215
+ }
216
+ function SelectSeparator({ className, ...props }) {
217
+ return (_jsx("div", { role: "separator", "data-slot": "select-separator", className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className), ...props }));
218
+ }
219
+ /** No-op scroll buttons — native overflow handles scrolling. Kept for API parity. */
220
+ function SelectScrollUpButton(_props) {
221
+ return null;
222
+ }
223
+ function SelectScrollDownButton(_props) {
224
+ return null;
225
+ }
226
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ export interface SeparatorProps extends React.ComponentProps<"div"> {
3
+ orientation?: "horizontal" | "vertical";
4
+ /** Set true for a purely-visual divider hidden from a11y. Defaults to false
5
+ * so the separator keeps `role="separator"` semantics (matches the spec). */
6
+ decorative?: boolean;
7
+ }
8
+ /**
9
+ * Self-contained separator: a styled `<div>` with the correct ARIA role and
10
+ * orientation. No primitive framework, no `data-orientation` style bridge —
11
+ * orientation classes are applied directly.
12
+ */
13
+ declare function Separator({ className, orientation, decorative, ...props }: SeparatorProps): React.JSX.Element;
14
+ export { Separator };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../shadcn/lib/utils.js";
5
+ /**
6
+ * Self-contained separator: a styled `<div>` with the correct ARIA role and
7
+ * orientation. No primitive framework, no `data-orientation` style bridge —
8
+ * orientation classes are applied directly.
9
+ */
10
+ function Separator({ className, orientation = "horizontal", decorative = false, ...props }) {
11
+ return (_jsx("div", { "data-slot": "separator", "data-orientation": orientation, role: decorative ? "none" : "separator", "aria-orientation": decorative ? undefined : orientation, className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-px w-full" : "w-px self-stretch", className), ...props }));
12
+ }
13
+ export { Separator };
@@ -0,0 +1,31 @@
1
+ import * as React from "react";
2
+ type SheetSide = "top" | "right" | "bottom" | "left";
3
+ export interface SheetProps {
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ children?: React.ReactNode;
8
+ }
9
+ /** Self-contained sheet (drawer) on native `<dialog>`, sliding in from an edge.
10
+ * Exit slide is preserved via {@link usePresence} before `dialog.close()`. */
11
+ declare function Sheet({ open, defaultOpen, onOpenChange, children }: SheetProps): React.JSX.Element;
12
+ declare function SheetTrigger({ asChild, render, nativeButton: _nativeButton, children, onClick, ...props }: React.ComponentProps<"button"> & {
13
+ asChild?: boolean;
14
+ render?: React.ReactElement;
15
+ nativeButton?: boolean;
16
+ }): React.JSX.Element;
17
+ declare function SheetClose({ asChild, render, nativeButton: _nativeButton, children, onClick, ...props }: React.ComponentProps<"button"> & {
18
+ asChild?: boolean;
19
+ render?: React.ReactElement;
20
+ nativeButton?: boolean;
21
+ }): React.JSX.Element;
22
+ export interface SheetContentProps extends React.ComponentProps<"dialog"> {
23
+ side?: SheetSide;
24
+ showCloseButton?: boolean;
25
+ }
26
+ declare function SheetContent({ className, children, side, showCloseButton, ...props }: SheetContentProps): React.JSX.Element | null;
27
+ declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
28
+ declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
29
+ declare function SheetTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
30
+ declare function SheetDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
31
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -0,0 +1,121 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../shadcn/lib/utils.js";
5
+ import { Button } from "./button.js";
6
+ import { Slot, mergeRefs, resolveRender } from "./slot.js";
7
+ import { XIcon } from "../icons/index.js";
8
+ import { useControllableState } from "./use-controllable-state.js";
9
+ import { usePresence } from "./use-presence.js";
10
+ const SheetContext = React.createContext(null);
11
+ function useSheet() {
12
+ const ctx = React.useContext(SheetContext);
13
+ if (!ctx)
14
+ throw new Error("Sheet parts must be used within <Sheet>");
15
+ return ctx;
16
+ }
17
+ /** Self-contained sheet (drawer) on native `<dialog>`, sliding in from an edge.
18
+ * Exit slide is preserved via {@link usePresence} before `dialog.close()`. */
19
+ function Sheet({ open, defaultOpen = false, onOpenChange, children }) {
20
+ const [isOpen, setOpen] = useControllableState({
21
+ value: open,
22
+ defaultValue: defaultOpen,
23
+ onChange: onOpenChange,
24
+ });
25
+ const titleId = React.useId();
26
+ const descriptionId = React.useId();
27
+ return (_jsx(SheetContext.Provider, { value: { open: isOpen, setOpen, titleId, descriptionId }, children: children }));
28
+ }
29
+ function SheetTrigger({ asChild = false, render, nativeButton: _nativeButton, children, onClick, ...props }) {
30
+ const { open, setOpen } = useSheet();
31
+ const { useSlot, slotChild } = resolveRender(asChild, render, children);
32
+ const Comp = useSlot ? Slot : "button";
33
+ return (_jsx(Comp, { type: useSlot ? undefined : "button", "data-slot": "sheet-trigger", "aria-haspopup": "dialog", "data-state": open ? "open" : "closed", onClick: (e) => {
34
+ onClick?.(e);
35
+ if (!e.defaultPrevented)
36
+ setOpen(true);
37
+ }, ...props, children: slotChild }));
38
+ }
39
+ function SheetClose({ asChild = false, render, nativeButton: _nativeButton, children, onClick, ...props }) {
40
+ const { setOpen } = useSheet();
41
+ const { useSlot, slotChild } = resolveRender(asChild, render, children);
42
+ const Comp = useSlot ? Slot : "button";
43
+ return (_jsx(Comp, { type: useSlot ? undefined : "button", "data-slot": "sheet-close", onClick: (e) => {
44
+ onClick?.(e);
45
+ if (!e.defaultPrevented)
46
+ setOpen(false);
47
+ }, ...props, children: slotChild }));
48
+ }
49
+ // `left-auto`/`right-auto`/etc. override the native <dialog> UA inset (left:0),
50
+ // otherwise `right-0` + a width would still anchor to the left edge.
51
+ const SIDE_POSITION = {
52
+ right: "inset-y-0 right-0 left-auto h-full w-3/4 border-l sm:max-w-sm",
53
+ left: "inset-y-0 left-0 right-auto h-full w-3/4 border-r sm:max-w-sm",
54
+ top: "inset-x-0 top-0 bottom-auto h-auto border-b",
55
+ bottom: "inset-x-0 bottom-0 top-auto h-auto border-t",
56
+ };
57
+ const SIDE_IN = {
58
+ right: "slide-in-from-right-52",
59
+ left: "slide-in-from-left-52",
60
+ top: "slide-in-from-top-52",
61
+ bottom: "slide-in-from-bottom-52",
62
+ };
63
+ const SIDE_OUT = {
64
+ right: "slide-out-to-right-52",
65
+ left: "slide-out-to-left-52",
66
+ top: "slide-out-to-top-52",
67
+ bottom: "slide-out-to-bottom-52",
68
+ };
69
+ function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
70
+ const { open, setOpen, titleId, descriptionId } = useSheet();
71
+ const ref = React.useRef(null);
72
+ const pointerDownOnBackdrop = React.useRef(false);
73
+ const [mounted, presenceRef] = usePresence(open);
74
+ React.useEffect(() => {
75
+ const node = ref.current;
76
+ if (!node)
77
+ return;
78
+ if (mounted && !node.open)
79
+ node.showModal();
80
+ else if (!mounted && node.open)
81
+ node.close();
82
+ }, [mounted]);
83
+ React.useEffect(() => {
84
+ if (!mounted)
85
+ return;
86
+ const prev = document.body.style.overflow;
87
+ document.body.style.overflow = "hidden";
88
+ return () => {
89
+ document.body.style.overflow = prev;
90
+ };
91
+ }, [mounted]);
92
+ if (!mounted)
93
+ return null;
94
+ return (_jsxs("dialog", { ...props, ref: mergeRefs(ref, presenceRef), "aria-labelledby": titleId, "aria-describedby": descriptionId, "data-slot": "sheet-content", "data-side": side, "data-state": open ? "open" : "closed", "data-open": open ? "" : undefined, "data-closed": open ? undefined : "", onCancel: (e) => {
95
+ e.preventDefault();
96
+ setOpen(false);
97
+ }, onClose: () => setOpen(false), onPointerDown: (e) => {
98
+ pointerDownOnBackdrop.current = e.target === ref.current;
99
+ }, onClick: (e) => {
100
+ if (e.target === ref.current && pointerDownOnBackdrop.current) {
101
+ setOpen(false);
102
+ }
103
+ }, className: cn("m-0 flex max-h-none flex-col gap-4 bg-background bg-clip-padding p-0 text-sm text-foreground shadow-lg backdrop:bg-black/10 backdrop:duration-150 supports-backdrop-filter:backdrop:backdrop-blur-xs fixed", SIDE_POSITION[side], open
104
+ ? `animate-in fade-in-0 ${SIDE_IN[side]} duration-200`
105
+ : `animate-out fade-out-0 ${SIDE_OUT[side]} duration-200`, className), children: [children, showCloseButton && (_jsx(SheetClose, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "absolute top-4 right-4", size: "icon-sm", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }) }))] }));
106
+ }
107
+ function SheetHeader({ className, ...props }) {
108
+ return (_jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-1.5 p-4", className), ...props }));
109
+ }
110
+ function SheetFooter({ className, ...props }) {
111
+ return (_jsx("div", { "data-slot": "sheet-footer", className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props }));
112
+ }
113
+ function SheetTitle({ className, ...props }) {
114
+ const { titleId } = useSheet();
115
+ return (_jsx("h2", { id: titleId, "data-slot": "sheet-title", className: cn("font-medium text-foreground", className), ...props }));
116
+ }
117
+ function SheetDescription({ className, ...props }) {
118
+ const { descriptionId } = useSheet();
119
+ return (_jsx("p", { id: descriptionId, "data-slot": "sheet-description", className: cn("text-sm text-muted-foreground", className), ...props }));
120
+ }
121
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -0,0 +1,86 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "../shadcn/lib/cva.js";
3
+ import { Button } from "./button.js";
4
+ import { Input } from "./input.js";
5
+ import { Separator } from "./separator.js";
6
+ import { TooltipContent } from "./tooltip.js";
7
+ type SidebarContextProps = {
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
+ };
16
+ declare function useSidebar(): SidebarContextProps;
17
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
18
+ defaultOpen?: boolean;
19
+ open?: boolean;
20
+ onOpenChange?: (open: boolean) => void;
21
+ }): React.JSX.Element;
22
+ declare function Sidebar({ side, variant, collapsible, className, children, dir, ...props }: React.ComponentProps<"div"> & {
23
+ side?: "left" | "right";
24
+ variant?: "sidebar" | "floating" | "inset";
25
+ collapsible?: "offcanvas" | "icon" | "none";
26
+ }): React.JSX.Element;
27
+ declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
28
+ declare function SidebarRail({ className, ...props }: React.ComponentProps<"button">): React.JSX.Element;
29
+ declare function SidebarInset({ className, ...props }: React.ComponentProps<"main">): React.JSX.Element;
30
+ declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): React.JSX.Element;
31
+ declare function SidebarHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
32
+ declare function SidebarFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
33
+ declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
34
+ declare function SidebarContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
35
+ declare function SidebarGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
36
+ declare function SidebarGroupLabel({ className, asChild, render, nativeButton: _nativeButton, children, ...props }: React.ComponentProps<"div"> & {
37
+ asChild?: boolean;
38
+ render?: React.ReactElement;
39
+ nativeButton?: boolean;
40
+ }): React.JSX.Element;
41
+ declare function SidebarGroupAction({ className, asChild, render, nativeButton: _nativeButton, children, ...props }: React.ComponentProps<"button"> & {
42
+ asChild?: boolean;
43
+ render?: React.ReactElement;
44
+ nativeButton?: boolean;
45
+ }): React.JSX.Element;
46
+ declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
47
+ declare function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
48
+ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
49
+ declare const sidebarMenuButtonVariants: (props?: import("../shadcn/lib/cva.js").CvaProps<{
50
+ variant: {
51
+ default: string;
52
+ outline: string;
53
+ };
54
+ size: {
55
+ default: string;
56
+ sm: string;
57
+ lg: string;
58
+ };
59
+ }> | undefined) => string;
60
+ declare function SidebarMenuButton({ asChild, render, nativeButton: _nativeButton, children, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<"button"> & {
61
+ asChild?: boolean;
62
+ render?: React.ReactElement;
63
+ nativeButton?: boolean;
64
+ isActive?: boolean;
65
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
66
+ } & VariantProps<typeof sidebarMenuButtonVariants>): React.JSX.Element;
67
+ declare function SidebarMenuAction({ className, asChild, render, nativeButton: _nativeButton, children, showOnHover, ...props }: React.ComponentProps<"button"> & {
68
+ asChild?: boolean;
69
+ render?: React.ReactElement;
70
+ nativeButton?: boolean;
71
+ showOnHover?: boolean;
72
+ }): React.JSX.Element;
73
+ declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
74
+ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React.ComponentProps<"div"> & {
75
+ showIcon?: boolean;
76
+ }): React.JSX.Element;
77
+ declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
78
+ declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
79
+ declare function SidebarMenuSubButton({ asChild, render, nativeButton: _nativeButton, children, size, isActive, className, ...props }: React.ComponentProps<"a"> & {
80
+ asChild?: boolean;
81
+ render?: React.ReactElement;
82
+ nativeButton?: boolean;
83
+ size?: "sm" | "md";
84
+ isActive?: boolean;
85
+ }): React.JSX.Element;
86
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, };