@stevederico/skateboard-ui 3.11.0 → 4.0.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 (336) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +37 -31
  3. package/dist/shadcn/ui/accordion.d.ts +1 -6
  4. package/dist/shadcn/ui/accordion.js +3 -17
  5. package/dist/shadcn/ui/alert-dialog.d.ts +1 -18
  6. package/dist/shadcn/ui/alert-dialog.js +3 -43
  7. package/dist/shadcn/ui/alert.d.ts +1 -13
  8. package/dist/shadcn/ui/alert.js +3 -28
  9. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -4
  10. package/dist/shadcn/ui/aspect-ratio.js +3 -8
  11. package/dist/shadcn/ui/avatar.d.ts +1 -11
  12. package/dist/shadcn/ui/avatar.js +3 -24
  13. package/dist/shadcn/ui/badge.d.ts +1 -14
  14. package/dist/shadcn/ui/badge.js +3 -33
  15. package/dist/shadcn/ui/breadcrumb.d.ts +1 -10
  16. package/dist/shadcn/ui/breadcrumb.js +3 -37
  17. package/dist/shadcn/ui/button-group.d.ts +1 -13
  18. package/dist/shadcn/ui/button-group.js +3 -36
  19. package/dist/shadcn/ui/button.d.ts +1 -34
  20. package/dist/shadcn/ui/button.js +3 -48
  21. package/dist/shadcn/ui/calendar.d.ts +1 -13
  22. package/dist/shadcn/ui/calendar.js +3 -75
  23. package/dist/shadcn/ui/card.d.ts +1 -11
  24. package/dist/shadcn/ui/card.js +3 -25
  25. package/dist/shadcn/ui/checkbox.d.ts +1 -3
  26. package/dist/shadcn/ui/checkbox.js +3 -9
  27. package/dist/shadcn/ui/collapsible.d.ts +1 -5
  28. package/dist/shadcn/ui/collapsible.js +3 -13
  29. package/dist/shadcn/ui/command.d.ts +1 -19
  30. package/dist/shadcn/ui/command.js +3 -35
  31. package/dist/shadcn/ui/context-menu.d.ts +1 -29
  32. package/dist/shadcn/ui/context-menu.js +3 -52
  33. package/dist/shadcn/ui/dialog.d.ts +1 -17
  34. package/dist/shadcn/ui/dialog.js +3 -38
  35. package/dist/shadcn/ui/drawer.d.ts +1 -13
  36. package/dist/shadcn/ui/drawer.js +3 -196
  37. package/dist/shadcn/ui/dropdown-menu.d.ts +1 -29
  38. package/dist/shadcn/ui/dropdown-menu.js +3 -52
  39. package/dist/shadcn/ui/empty.d.ts +1 -14
  40. package/dist/shadcn/ui/empty.js +3 -33
  41. package/dist/shadcn/ui/field.d.ts +1 -28
  42. package/dist/shadcn/ui/field.js +3 -68
  43. package/dist/shadcn/ui/hover-card.d.ts +1 -5
  44. package/dist/shadcn/ui/hover-card.js +3 -14
  45. package/dist/shadcn/ui/input-group.d.ts +1 -28
  46. package/dist/shadcn/ui/input-group.js +3 -58
  47. package/dist/shadcn/ui/input.d.ts +1 -3
  48. package/dist/shadcn/ui/input.js +3 -8
  49. package/dist/shadcn/ui/item.d.ts +1 -34
  50. package/dist/shadcn/ui/item.js +3 -79
  51. package/dist/shadcn/ui/kbd.d.ts +1 -3
  52. package/dist/shadcn/ui/kbd.js +3 -9
  53. package/dist/shadcn/ui/label.d.ts +1 -3
  54. package/dist/shadcn/ui/label.js +3 -8
  55. package/dist/shadcn/ui/menubar.d.ts +1 -29
  56. package/dist/shadcn/ui/menubar.js +3 -57
  57. package/dist/shadcn/ui/navigation-menu.d.ts +1 -13
  58. package/dist/shadcn/ui/navigation-menu.js +3 -31
  59. package/dist/shadcn/ui/pagination.d.ts +1 -17
  60. package/dist/shadcn/ui/pagination.js +3 -27
  61. package/dist/shadcn/ui/popover.d.ts +1 -9
  62. package/dist/shadcn/ui/popover.js +3 -24
  63. package/dist/shadcn/ui/progress.d.ts +1 -7
  64. package/dist/shadcn/ui/progress.js +3 -20
  65. package/dist/shadcn/ui/radio-group.d.ts +1 -5
  66. package/dist/shadcn/ui/radio-group.js +3 -12
  67. package/dist/shadcn/ui/scroll-area.d.ts +1 -5
  68. package/dist/shadcn/ui/scroll-area.js +3 -12
  69. package/dist/shadcn/ui/select.d.ts +1 -15
  70. package/dist/shadcn/ui/select.js +3 -35
  71. package/dist/shadcn/ui/separator.d.ts +1 -3
  72. package/dist/shadcn/ui/separator.js +3 -8
  73. package/dist/shadcn/ui/sheet.d.ts +1 -14
  74. package/dist/shadcn/ui/sheet.js +3 -38
  75. package/dist/shadcn/ui/sidebar.d.ts +1 -70
  76. package/dist/shadcn/ui/sidebar.js +3 -256
  77. package/dist/shadcn/ui/skeleton.d.ts +1 -2
  78. package/dist/shadcn/ui/skeleton.js +3 -6
  79. package/dist/shadcn/ui/slider.d.ts +1 -3
  80. package/dist/shadcn/ui/slider.js +3 -12
  81. package/dist/shadcn/ui/spinner.d.ts +1 -2
  82. package/dist/shadcn/ui/spinner.js +3 -7
  83. package/dist/shadcn/ui/switch.d.ts +1 -5
  84. package/dist/shadcn/ui/switch.js +3 -8
  85. package/dist/shadcn/ui/table.d.ts +1 -10
  86. package/dist/shadcn/ui/table.js +3 -29
  87. package/dist/shadcn/ui/tabs.d.ts +1 -13
  88. package/dist/shadcn/ui/tabs.js +3 -29
  89. package/dist/shadcn/ui/textarea.d.ts +1 -3
  90. package/dist/shadcn/ui/textarea.js +3 -7
  91. package/dist/shadcn/ui/toggle-group.d.ts +1 -11
  92. package/dist/shadcn/ui/toggle-group.js +3 -25
  93. package/dist/shadcn/ui/toggle.d.ts +1 -15
  94. package/dist/shadcn/ui/toggle.js +3 -26
  95. package/dist/shadcn/ui/tooltip.d.ts +1 -6
  96. package/dist/shadcn/ui/tooltip.js +3 -17
  97. package/dist/ui/accordion.d.ts +21 -0
  98. package/dist/ui/accordion.js +67 -0
  99. package/dist/ui/alert-dialog.d.ts +32 -0
  100. package/dist/ui/alert-dialog.js +102 -0
  101. package/dist/ui/alert.d.ts +13 -0
  102. package/dist/ui/alert.js +28 -0
  103. package/dist/ui/aspect-ratio.d.ts +5 -0
  104. package/dist/ui/aspect-ratio.js +9 -0
  105. package/dist/ui/avatar.d.ts +14 -0
  106. package/dist/ui/avatar.js +49 -0
  107. package/dist/ui/badge.d.ts +22 -0
  108. package/dist/ui/badge.js +26 -0
  109. package/dist/ui/breadcrumb.d.ts +13 -0
  110. package/dist/ui/breadcrumb.js +29 -0
  111. package/dist/ui/button-group.d.ts +21 -0
  112. package/dist/ui/button-group.js +29 -0
  113. package/dist/ui/button.d.ts +38 -0
  114. package/dist/ui/button.js +49 -0
  115. package/dist/ui/calendar.d.ts +13 -0
  116. package/dist/ui/calendar.js +75 -0
  117. package/dist/ui/card.d.ts +11 -0
  118. package/dist/ui/card.js +25 -0
  119. package/dist/ui/checkbox.d.ts +17 -0
  120. package/dist/ui/checkbox.js +25 -0
  121. package/dist/ui/collapsible.d.ts +11 -0
  122. package/dist/ui/collapsible.js +40 -0
  123. package/dist/ui/command.d.ts +19 -0
  124. package/dist/ui/command.js +35 -0
  125. package/dist/ui/context-menu.d.ts +53 -0
  126. package/dist/ui/context-menu.js +345 -0
  127. package/dist/ui/dialog.d.ts +40 -0
  128. package/dist/ui/dialog.js +109 -0
  129. package/dist/ui/drawer.d.ts +36 -0
  130. package/dist/ui/drawer.js +234 -0
  131. package/dist/ui/dropdown-menu.d.ts +61 -0
  132. package/dist/ui/dropdown-menu.js +323 -0
  133. package/dist/ui/empty.d.ts +14 -0
  134. package/dist/ui/empty.js +33 -0
  135. package/dist/ui/field.d.ts +28 -0
  136. package/dist/ui/field.js +68 -0
  137. package/dist/ui/hover-card.d.ts +32 -0
  138. package/dist/ui/hover-card.js +119 -0
  139. package/dist/ui/input-group.d.ts +28 -0
  140. package/dist/ui/input-group.js +58 -0
  141. package/dist/ui/input.d.ts +3 -0
  142. package/dist/ui/input.js +7 -0
  143. package/dist/ui/item.d.ts +41 -0
  144. package/dist/ui/item.js +69 -0
  145. package/dist/ui/kbd.d.ts +4 -0
  146. package/dist/ui/kbd.js +10 -0
  147. package/dist/ui/label.d.ts +3 -0
  148. package/dist/ui/label.js +8 -0
  149. package/dist/ui/menubar.d.ts +59 -0
  150. package/dist/ui/menubar.js +384 -0
  151. package/dist/ui/navigation-menu.d.ts +24 -0
  152. package/dist/ui/navigation-menu.js +134 -0
  153. package/dist/ui/pagination.d.ts +17 -0
  154. package/dist/ui/pagination.js +36 -0
  155. package/dist/ui/popover.d.ts +25 -0
  156. package/dist/ui/popover.js +68 -0
  157. package/dist/ui/portal.d.ts +7 -0
  158. package/dist/ui/portal.js +12 -0
  159. package/dist/ui/progress.d.ts +15 -0
  160. package/dist/ui/progress.js +36 -0
  161. package/dist/ui/radio-group.d.ts +17 -0
  162. package/dist/ui/radio-group.js +54 -0
  163. package/dist/ui/scroll-area.d.ts +9 -0
  164. package/dist/ui/scroll-area.js +72 -0
  165. package/dist/ui/select.d.ts +37 -0
  166. package/dist/ui/select.js +216 -0
  167. package/dist/ui/separator.d.ts +14 -0
  168. package/dist/ui/separator.js +13 -0
  169. package/dist/ui/sheet.d.ts +31 -0
  170. package/dist/ui/sheet.js +121 -0
  171. package/dist/ui/sidebar.d.ts +86 -0
  172. package/dist/ui/sidebar.js +211 -0
  173. package/dist/ui/skeleton.d.ts +3 -0
  174. package/dist/ui/skeleton.js +7 -0
  175. package/dist/ui/slider.d.ts +18 -0
  176. package/dist/ui/slider.js +94 -0
  177. package/dist/ui/slot.d.ts +27 -0
  178. package/dist/ui/slot.js +62 -0
  179. package/dist/ui/spinner.d.ts +3 -0
  180. package/dist/ui/spinner.js +8 -0
  181. package/dist/ui/switch.d.ts +17 -0
  182. package/dist/ui/switch.js +23 -0
  183. package/dist/ui/table.d.ts +10 -0
  184. package/dist/ui/table.js +29 -0
  185. package/dist/ui/tabs.d.ts +29 -0
  186. package/dist/ui/tabs.js +82 -0
  187. package/dist/ui/textarea.d.ts +3 -0
  188. package/dist/ui/textarea.js +7 -0
  189. package/dist/ui/toggle-group.d.ts +23 -0
  190. package/dist/ui/toggle-group.js +52 -0
  191. package/dist/ui/toggle.d.ts +25 -0
  192. package/dist/ui/toggle.js +41 -0
  193. package/dist/ui/tooltip.d.ts +25 -0
  194. package/dist/ui/tooltip.js +90 -0
  195. package/dist/ui/use-controllable-state.d.ts +10 -0
  196. package/dist/ui/use-controllable-state.js +17 -0
  197. package/dist/ui/use-dismiss.d.ts +10 -0
  198. package/dist/ui/use-dismiss.js +51 -0
  199. package/dist/ui/use-floating.d.ts +38 -0
  200. package/dist/ui/use-floating.js +128 -0
  201. package/dist/ui/use-presence.d.ts +8 -0
  202. package/dist/ui/use-presence.js +48 -0
  203. package/package.json +6 -1
  204. package/dist/shadcn/lib/base-ui/LICENSE +0 -21
  205. package/dist/shadcn/lib/base-ui/_chunk-000kmre8.js +0 -150
  206. package/dist/shadcn/lib/base-ui/_chunk-1vw45v38.js +0 -64
  207. package/dist/shadcn/lib/base-ui/_chunk-23rx7haq.js +0 -81
  208. package/dist/shadcn/lib/base-ui/_chunk-242gh8ph.js +0 -230
  209. package/dist/shadcn/lib/base-ui/_chunk-26cc610z.js +0 -6
  210. package/dist/shadcn/lib/base-ui/_chunk-2z044bba.js +0 -5890
  211. package/dist/shadcn/lib/base-ui/_chunk-3cpd1vjz.js +0 -13
  212. package/dist/shadcn/lib/base-ui/_chunk-3enq1vat.js +0 -82
  213. package/dist/shadcn/lib/base-ui/_chunk-3xpke33f.js +0 -23
  214. package/dist/shadcn/lib/base-ui/_chunk-451nqgsa.js +0 -6
  215. package/dist/shadcn/lib/base-ui/_chunk-4maf6pas.js +0 -11
  216. package/dist/shadcn/lib/base-ui/_chunk-4zhfq4d3.js +0 -16
  217. package/dist/shadcn/lib/base-ui/_chunk-5gaqyne5.js +0 -21
  218. package/dist/shadcn/lib/base-ui/_chunk-5tt5hk59.js +0 -4
  219. package/dist/shadcn/lib/base-ui/_chunk-5tze5c8q.js +0 -13
  220. package/dist/shadcn/lib/base-ui/_chunk-5xmdvndx.js +0 -225
  221. package/dist/shadcn/lib/base-ui/_chunk-6adaer33.js +0 -435
  222. package/dist/shadcn/lib/base-ui/_chunk-6ejf1z1r.js +0 -9
  223. package/dist/shadcn/lib/base-ui/_chunk-6kqramh9.js +0 -27
  224. package/dist/shadcn/lib/base-ui/_chunk-7b9dc493.js +0 -14
  225. package/dist/shadcn/lib/base-ui/_chunk-8a9vv8am.js +0 -89
  226. package/dist/shadcn/lib/base-ui/_chunk-8ctgmf06.js +0 -129
  227. package/dist/shadcn/lib/base-ui/_chunk-8ganmsbg.js +0 -54
  228. package/dist/shadcn/lib/base-ui/_chunk-8xaqxgck.js +0 -15
  229. package/dist/shadcn/lib/base-ui/_chunk-95tf2rxq.js +0 -62
  230. package/dist/shadcn/lib/base-ui/_chunk-9x63vfqj.js +0 -70
  231. package/dist/shadcn/lib/base-ui/_chunk-ase0ydtt.js +0 -9
  232. package/dist/shadcn/lib/base-ui/_chunk-b0nc8wq7.js +0 -34
  233. package/dist/shadcn/lib/base-ui/_chunk-b5ya6xds.js +0 -10
  234. package/dist/shadcn/lib/base-ui/_chunk-b6dkjkbw.js +0 -43
  235. package/dist/shadcn/lib/base-ui/_chunk-c2bz952e.js +0 -19
  236. package/dist/shadcn/lib/base-ui/_chunk-cdgfsr3q.js +0 -15
  237. package/dist/shadcn/lib/base-ui/_chunk-cdj8cpx5.js +0 -347
  238. package/dist/shadcn/lib/base-ui/_chunk-cgptgywc.js +0 -104
  239. package/dist/shadcn/lib/base-ui/_chunk-cwvtvwc7.js +0 -35
  240. package/dist/shadcn/lib/base-ui/_chunk-dan0mva4.js +0 -23
  241. package/dist/shadcn/lib/base-ui/_chunk-dzvjwv25.js +0 -0
  242. package/dist/shadcn/lib/base-ui/_chunk-e13rsb6b.js +0 -184
  243. package/dist/shadcn/lib/base-ui/_chunk-e56mpvk1.js +0 -118
  244. package/dist/shadcn/lib/base-ui/_chunk-e6k2ecs7.js +0 -48
  245. package/dist/shadcn/lib/base-ui/_chunk-ebyxgtb4.js +0 -29
  246. package/dist/shadcn/lib/base-ui/_chunk-f2wttwrf.js +0 -39
  247. package/dist/shadcn/lib/base-ui/_chunk-fdzctasg.js +0 -38
  248. package/dist/shadcn/lib/base-ui/_chunk-ffpjy0ta.js +0 -39
  249. package/dist/shadcn/lib/base-ui/_chunk-fqry7pew.js +0 -603
  250. package/dist/shadcn/lib/base-ui/_chunk-ghn1tzt8.js +0 -84
  251. package/dist/shadcn/lib/base-ui/_chunk-gy0bpkmx.js +0 -12
  252. package/dist/shadcn/lib/base-ui/_chunk-hm5h9vsk.js +0 -16
  253. package/dist/shadcn/lib/base-ui/_chunk-htdj1jps.js +0 -833
  254. package/dist/shadcn/lib/base-ui/_chunk-j29xjete.js +0 -146
  255. package/dist/shadcn/lib/base-ui/_chunk-j3qkyd10.js +0 -50
  256. package/dist/shadcn/lib/base-ui/_chunk-ktvsd5k6.js +0 -2386
  257. package/dist/shadcn/lib/base-ui/_chunk-kw8nnq00.js +0 -546
  258. package/dist/shadcn/lib/base-ui/_chunk-m307wpdj.js +0 -18
  259. package/dist/shadcn/lib/base-ui/_chunk-mnd0j7v9.js +0 -15
  260. package/dist/shadcn/lib/base-ui/_chunk-n11h505c.js +0 -32
  261. package/dist/shadcn/lib/base-ui/_chunk-p0e2qacz.js +0 -26
  262. package/dist/shadcn/lib/base-ui/_chunk-pv7b791x.js +0 -106
  263. package/dist/shadcn/lib/base-ui/_chunk-q5cg71p7.js +0 -83
  264. package/dist/shadcn/lib/base-ui/_chunk-qbezxj1g.js +0 -385
  265. package/dist/shadcn/lib/base-ui/_chunk-qmsqz6nt.js +0 -15
  266. package/dist/shadcn/lib/base-ui/_chunk-rrh8rt4v.js +0 -65
  267. package/dist/shadcn/lib/base-ui/_chunk-s5pwkz8v.js +0 -25
  268. package/dist/shadcn/lib/base-ui/_chunk-svxv97ph.js +0 -218
  269. package/dist/shadcn/lib/base-ui/_chunk-t7ppm3t0.js +0 -68
  270. package/dist/shadcn/lib/base-ui/_chunk-vg16xxmb.js +0 -52
  271. package/dist/shadcn/lib/base-ui/_chunk-vgkfmtbe.js +0 -21
  272. package/dist/shadcn/lib/base-ui/_chunk-watha94s.js +0 -14
  273. package/dist/shadcn/lib/base-ui/_chunk-wdqynnjf.js +0 -35
  274. package/dist/shadcn/lib/base-ui/_chunk-wx2nxg0p.js +0 -15
  275. package/dist/shadcn/lib/base-ui/_chunk-x11e1k9r.js +0 -0
  276. package/dist/shadcn/lib/base-ui/_chunk-x8xehj6d.js +0 -302
  277. package/dist/shadcn/lib/base-ui/_chunk-xcqbtm2f.js +0 -28
  278. package/dist/shadcn/lib/base-ui/_chunk-ytnp24gq.js +0 -328
  279. package/dist/shadcn/lib/base-ui/_chunk-yzr7eg4b.js +0 -6
  280. package/dist/shadcn/lib/base-ui/_chunk-zk4mtm9m.js +0 -9
  281. package/dist/shadcn/lib/base-ui/accordion.d.ts +0 -447
  282. package/dist/shadcn/lib/base-ui/accordion.js +0 -630
  283. package/dist/shadcn/lib/base-ui/alert-dialog.d.ts +0 -1467
  284. package/dist/shadcn/lib/base-ui/alert-dialog.js +0 -98
  285. package/dist/shadcn/lib/base-ui/avatar.d.ts +0 -123
  286. package/dist/shadcn/lib/base-ui/avatar.js +0 -235
  287. package/dist/shadcn/lib/base-ui/button.d.ts +0 -84
  288. package/dist/shadcn/lib/base-ui/button.js +0 -51
  289. package/dist/shadcn/lib/base-ui/checkbox.d.ts +0 -341
  290. package/dist/shadcn/lib/base-ui/checkbox.js +0 -501
  291. package/dist/shadcn/lib/base-ui/collapsible.d.ts +0 -291
  292. package/dist/shadcn/lib/base-ui/collapsible.js +0 -264
  293. package/dist/shadcn/lib/base-ui/context-menu.d.ts +0 -2213
  294. package/dist/shadcn/lib/base-ui/context-menu.js +0 -323
  295. package/dist/shadcn/lib/base-ui/dialog.d.ts +0 -1448
  296. package/dist/shadcn/lib/base-ui/dialog.js +0 -79
  297. package/dist/shadcn/lib/base-ui/input.d.ts +0 -506
  298. package/dist/shadcn/lib/base-ui/input.js +0 -1027
  299. package/dist/shadcn/lib/base-ui/menu.d.ts +0 -2275
  300. package/dist/shadcn/lib/base-ui/menu.js +0 -60
  301. package/dist/shadcn/lib/base-ui/menubar.d.ts +0 -48
  302. package/dist/shadcn/lib/base-ui/menubar.js +0 -156
  303. package/dist/shadcn/lib/base-ui/merge-props.d.ts +0 -70
  304. package/dist/shadcn/lib/base-ui/merge-props.js +0 -15
  305. package/dist/shadcn/lib/base-ui/navigation-menu.d.ts +0 -825
  306. package/dist/shadcn/lib/base-ui/navigation-menu.js +0 -1849
  307. package/dist/shadcn/lib/base-ui/popover.d.ts +0 -1743
  308. package/dist/shadcn/lib/base-ui/popover.js +0 -1089
  309. package/dist/shadcn/lib/base-ui/preview-card.d.ts +0 -1608
  310. package/dist/shadcn/lib/base-ui/preview-card.js +0 -919
  311. package/dist/shadcn/lib/base-ui/progress.d.ts +0 -172
  312. package/dist/shadcn/lib/base-ui/progress.js +0 -272
  313. package/dist/shadcn/lib/base-ui/radio-group.d.ts +0 -260
  314. package/dist/shadcn/lib/base-ui/radio-group.js +0 -239
  315. package/dist/shadcn/lib/base-ui/radio.d.ts +0 -176
  316. package/dist/shadcn/lib/base-ui/radio.js +0 -387
  317. package/dist/shadcn/lib/base-ui/scroll-area.d.ts +0 -241
  318. package/dist/shadcn/lib/base-ui/scroll-area.js +0 -1055
  319. package/dist/shadcn/lib/base-ui/select.d.ts +0 -1266
  320. package/dist/shadcn/lib/base-ui/select.js +0 -2450
  321. package/dist/shadcn/lib/base-ui/separator.d.ts +0 -76
  322. package/dist/shadcn/lib/base-ui/separator.js +0 -11
  323. package/dist/shadcn/lib/base-ui/slider.d.ts +0 -551
  324. package/dist/shadcn/lib/base-ui/slider.js +0 -1583
  325. package/dist/shadcn/lib/base-ui/switch.d.ts +0 -313
  326. package/dist/shadcn/lib/base-ui/switch.js +0 -326
  327. package/dist/shadcn/lib/base-ui/tabs.d.ts +0 -406
  328. package/dist/shadcn/lib/base-ui/tabs.js +0 -915
  329. package/dist/shadcn/lib/base-ui/toggle-group.d.ts +0 -235
  330. package/dist/shadcn/lib/base-ui/toggle-group.js +0 -145
  331. package/dist/shadcn/lib/base-ui/toggle.d.ts +0 -224
  332. package/dist/shadcn/lib/base-ui/toggle.js +0 -127
  333. package/dist/shadcn/lib/base-ui/tooltip.d.ts +0 -1656
  334. package/dist/shadcn/lib/base-ui/tooltip.js +0 -920
  335. package/dist/shadcn/lib/base-ui/use-render.d.ts +0 -87
  336. package/dist/shadcn/lib/base-ui/use-render.js +0 -15
@@ -1,1055 +0,0 @@
1
- /* @base-ui/react 1.5.0 — vendored (MIT — MUI Inc).
2
- * Refresh: scripts/vendor-base-ui.js (see header for instructions).
3
- * Do not edit by hand. */
4
- import {
5
- normalizeScrollOffset,
6
- styleDisableScrollbar
7
- } from "./_chunk-e6k2ecs7.js";
8
- import {
9
- clamp
10
- } from "./_chunk-yzr7eg4b.js";
11
- import {
12
- useCSPContext
13
- } from "./_chunk-watha94s.js";
14
- import {
15
- useDirection
16
- } from "./_chunk-gy0bpkmx.js";
17
- import {
18
- contains,
19
- getTarget
20
- } from "./_chunk-cgptgywc.js";
21
- import {
22
- isWebKit
23
- } from "./_chunk-rrh8rt4v.js";
24
- import {
25
- useTimeout
26
- } from "./_chunk-b6dkjkbw.js";
27
- import {
28
- addEventListener
29
- } from "./_chunk-ase0ydtt.js";
30
- import {
31
- useBaseUiId
32
- } from "./_chunk-wdqynnjf.js";
33
- import"./_chunk-6ejf1z1r.js";
34
- import"./_chunk-000kmre8.js";
35
- import {
36
- useStableCallback
37
- } from "./_chunk-cwvtvwc7.js";
38
- import {
39
- useIsoLayoutEffect
40
- } from "./_chunk-5tze5c8q.js";
41
- import {
42
- useRenderElement
43
- } from "./_chunk-x8xehj6d.js";
44
- import {
45
- __export
46
- } from "./_chunk-svxv97ph.js";
47
-
48
- // node_modules/@base-ui/react/esm/scroll-area/index.parts.js
49
- var exports_index_parts = {};
50
- __export(exports_index_parts, {
51
- Viewport: () => ScrollAreaViewport,
52
- Thumb: () => ScrollAreaThumb,
53
- Scrollbar: () => ScrollAreaScrollbar,
54
- Root: () => ScrollAreaRoot,
55
- Corner: () => ScrollAreaCorner,
56
- Content: () => ScrollAreaContent
57
- });
58
-
59
- // node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRoot.js
60
- import * as React2 from "react";
61
-
62
- // node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootContext.js
63
- import * as React from "react";
64
- "use client";
65
- var ScrollAreaRootContext = /* @__PURE__ */ React.createContext(undefined);
66
- if (true)
67
- ScrollAreaRootContext.displayName = "ScrollAreaRootContext";
68
- function useScrollAreaRootContext() {
69
- const context = React.useContext(ScrollAreaRootContext);
70
- if (context === undefined) {
71
- throw new Error("Base UI: ScrollAreaRootContext is missing. ScrollArea parts must be placed within <ScrollArea.Root>.");
72
- }
73
- return context;
74
- }
75
-
76
- // node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootCssVars.js
77
- var ScrollAreaRootCssVars = /* @__PURE__ */ function(ScrollAreaRootCssVars2) {
78
- ScrollAreaRootCssVars2["scrollAreaCornerHeight"] = "--scroll-area-corner-height";
79
- ScrollAreaRootCssVars2["scrollAreaCornerWidth"] = "--scroll-area-corner-width";
80
- return ScrollAreaRootCssVars2;
81
- }({});
82
-
83
- // node_modules/@base-ui/react/esm/scroll-area/constants.js
84
- var SCROLL_TIMEOUT = 500;
85
- var MIN_THUMB_SIZE = 16;
86
-
87
- // node_modules/@base-ui/react/esm/scroll-area/utils/getOffset.js
88
- function getOffset(element, prop, axis) {
89
- if (!element) {
90
- return 0;
91
- }
92
- const styles = getComputedStyle(element);
93
- const propAxis = axis === "x" ? "Inline" : "Block";
94
- if (axis === "x" && prop === "margin") {
95
- return parseFloat(styles[`${prop}InlineStart`]) * 2;
96
- }
97
- return parseFloat(styles[`${prop}${propAxis}Start`]) + parseFloat(styles[`${prop}${propAxis}End`]);
98
- }
99
-
100
- // node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js
101
- var ScrollAreaScrollbarDataAttributes = /* @__PURE__ */ function(ScrollAreaScrollbarDataAttributes2) {
102
- ScrollAreaScrollbarDataAttributes2["orientation"] = "data-orientation";
103
- ScrollAreaScrollbarDataAttributes2["hovering"] = "data-hovering";
104
- ScrollAreaScrollbarDataAttributes2["scrolling"] = "data-scrolling";
105
- ScrollAreaScrollbarDataAttributes2["hasOverflowX"] = "data-has-overflow-x";
106
- ScrollAreaScrollbarDataAttributes2["hasOverflowY"] = "data-has-overflow-y";
107
- ScrollAreaScrollbarDataAttributes2["overflowXStart"] = "data-overflow-x-start";
108
- ScrollAreaScrollbarDataAttributes2["overflowXEnd"] = "data-overflow-x-end";
109
- ScrollAreaScrollbarDataAttributes2["overflowYStart"] = "data-overflow-y-start";
110
- ScrollAreaScrollbarDataAttributes2["overflowYEnd"] = "data-overflow-y-end";
111
- return ScrollAreaScrollbarDataAttributes2;
112
- }({});
113
-
114
- // node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootDataAttributes.js
115
- var ScrollAreaRootDataAttributes = /* @__PURE__ */ function(ScrollAreaRootDataAttributes2) {
116
- ScrollAreaRootDataAttributes2["scrolling"] = "data-scrolling";
117
- ScrollAreaRootDataAttributes2["hasOverflowX"] = "data-has-overflow-x";
118
- ScrollAreaRootDataAttributes2["hasOverflowY"] = "data-has-overflow-y";
119
- ScrollAreaRootDataAttributes2["overflowXStart"] = "data-overflow-x-start";
120
- ScrollAreaRootDataAttributes2["overflowXEnd"] = "data-overflow-x-end";
121
- ScrollAreaRootDataAttributes2["overflowYStart"] = "data-overflow-y-start";
122
- ScrollAreaRootDataAttributes2["overflowYEnd"] = "data-overflow-y-end";
123
- return ScrollAreaRootDataAttributes2;
124
- }({});
125
-
126
- // node_modules/@base-ui/react/esm/scroll-area/root/stateAttributes.js
127
- var scrollAreaStateAttributesMapping = {
128
- hasOverflowX: (value) => value ? {
129
- [ScrollAreaRootDataAttributes.hasOverflowX]: ""
130
- } : null,
131
- hasOverflowY: (value) => value ? {
132
- [ScrollAreaRootDataAttributes.hasOverflowY]: ""
133
- } : null,
134
- overflowXStart: (value) => value ? {
135
- [ScrollAreaRootDataAttributes.overflowXStart]: ""
136
- } : null,
137
- overflowXEnd: (value) => value ? {
138
- [ScrollAreaRootDataAttributes.overflowXEnd]: ""
139
- } : null,
140
- overflowYStart: (value) => value ? {
141
- [ScrollAreaRootDataAttributes.overflowYStart]: ""
142
- } : null,
143
- overflowYEnd: (value) => value ? {
144
- [ScrollAreaRootDataAttributes.overflowYEnd]: ""
145
- } : null,
146
- cornerHidden: () => null
147
- };
148
-
149
- // node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRoot.js
150
- import { jsxs as _jsxs } from "react/jsx-runtime";
151
- "use client";
152
- var DEFAULT_COORDS = {
153
- x: 0,
154
- y: 0
155
- };
156
- var DEFAULT_SIZE = {
157
- width: 0,
158
- height: 0
159
- };
160
- var DEFAULT_OVERFLOW_EDGES = {
161
- xStart: false,
162
- xEnd: false,
163
- yStart: false,
164
- yEnd: false
165
- };
166
- var DEFAULT_HIDDEN_STATE = {
167
- x: true,
168
- y: true,
169
- corner: true
170
- };
171
- var ScrollAreaRoot = /* @__PURE__ */ React2.forwardRef(function ScrollAreaRoot2(componentProps, forwardedRef) {
172
- const {
173
- render,
174
- className,
175
- overflowEdgeThreshold: overflowEdgeThresholdProp,
176
- style,
177
- ...elementProps
178
- } = componentProps;
179
- const overflowEdgeThreshold = normalizeOverflowEdgeThreshold(overflowEdgeThresholdProp);
180
- const rootId = useBaseUiId();
181
- const scrollYTimeout = useTimeout();
182
- const scrollXTimeout = useTimeout();
183
- const {
184
- nonce,
185
- disableStyleElements
186
- } = useCSPContext();
187
- const [hovering, setHovering] = React2.useState(false);
188
- const [scrollingX, setScrollingX] = React2.useState(false);
189
- const [scrollingY, setScrollingY] = React2.useState(false);
190
- const [touchModality, setTouchModality] = React2.useState(false);
191
- const [hasMeasuredScrollbar, setHasMeasuredScrollbar] = React2.useState(false);
192
- const [cornerSize, setCornerSize] = React2.useState(DEFAULT_SIZE);
193
- const [thumbSize, setThumbSize] = React2.useState(DEFAULT_SIZE);
194
- const [overflowEdges, setOverflowEdges] = React2.useState(DEFAULT_OVERFLOW_EDGES);
195
- const [hiddenState, setHiddenState] = React2.useState(DEFAULT_HIDDEN_STATE);
196
- const rootRef = React2.useRef(null);
197
- const viewportRef = React2.useRef(null);
198
- const scrollbarYRef = React2.useRef(null);
199
- const scrollbarXRef = React2.useRef(null);
200
- const thumbYRef = React2.useRef(null);
201
- const thumbXRef = React2.useRef(null);
202
- const cornerRef = React2.useRef(null);
203
- const thumbDraggingRef = React2.useRef(false);
204
- const startYRef = React2.useRef(0);
205
- const startXRef = React2.useRef(0);
206
- const startScrollTopRef = React2.useRef(0);
207
- const startScrollLeftRef = React2.useRef(0);
208
- const currentOrientationRef = React2.useRef("vertical");
209
- const scrollPositionRef = React2.useRef(DEFAULT_COORDS);
210
- const handleScroll = useStableCallback((scrollPosition) => {
211
- const offsetX = scrollPosition.x - scrollPositionRef.current.x;
212
- const offsetY = scrollPosition.y - scrollPositionRef.current.y;
213
- scrollPositionRef.current = scrollPosition;
214
- if (offsetY !== 0) {
215
- setScrollingY(true);
216
- scrollYTimeout.start(SCROLL_TIMEOUT, () => {
217
- setScrollingY(false);
218
- });
219
- }
220
- if (offsetX !== 0) {
221
- setScrollingX(true);
222
- scrollXTimeout.start(SCROLL_TIMEOUT, () => {
223
- setScrollingX(false);
224
- });
225
- }
226
- });
227
- const handlePointerDown = useStableCallback((event) => {
228
- if (event.button !== 0) {
229
- return;
230
- }
231
- thumbDraggingRef.current = true;
232
- startYRef.current = event.clientY;
233
- startXRef.current = event.clientX;
234
- currentOrientationRef.current = event.currentTarget.getAttribute(ScrollAreaScrollbarDataAttributes.orientation);
235
- if (viewportRef.current) {
236
- startScrollTopRef.current = viewportRef.current.scrollTop;
237
- startScrollLeftRef.current = viewportRef.current.scrollLeft;
238
- }
239
- if (thumbYRef.current && currentOrientationRef.current === "vertical") {
240
- thumbYRef.current.setPointerCapture(event.pointerId);
241
- }
242
- if (thumbXRef.current && currentOrientationRef.current === "horizontal") {
243
- thumbXRef.current.setPointerCapture(event.pointerId);
244
- }
245
- });
246
- const handlePointerMove = useStableCallback((event) => {
247
- if (!thumbDraggingRef.current) {
248
- return;
249
- }
250
- const deltaY = event.clientY - startYRef.current;
251
- const deltaX = event.clientX - startXRef.current;
252
- if (viewportRef.current) {
253
- const scrollableContentHeight = viewportRef.current.scrollHeight;
254
- const viewportHeight = viewportRef.current.clientHeight;
255
- const scrollableContentWidth = viewportRef.current.scrollWidth;
256
- const viewportWidth = viewportRef.current.clientWidth;
257
- if (thumbYRef.current && scrollbarYRef.current && currentOrientationRef.current === "vertical") {
258
- const scrollbarYOffset = getOffset(scrollbarYRef.current, "padding", "y");
259
- const thumbYOffset = getOffset(thumbYRef.current, "margin", "y");
260
- const thumbHeight = thumbYRef.current.offsetHeight;
261
- const maxThumbOffsetY = scrollbarYRef.current.offsetHeight - thumbHeight - scrollbarYOffset - thumbYOffset;
262
- const scrollRatioY = deltaY / maxThumbOffsetY;
263
- viewportRef.current.scrollTop = startScrollTopRef.current + scrollRatioY * (scrollableContentHeight - viewportHeight);
264
- event.preventDefault();
265
- setScrollingY(true);
266
- scrollYTimeout.start(SCROLL_TIMEOUT, () => {
267
- setScrollingY(false);
268
- });
269
- }
270
- if (thumbXRef.current && scrollbarXRef.current && currentOrientationRef.current === "horizontal") {
271
- const scrollbarXOffset = getOffset(scrollbarXRef.current, "padding", "x");
272
- const thumbXOffset = getOffset(thumbXRef.current, "margin", "x");
273
- const thumbWidth = thumbXRef.current.offsetWidth;
274
- const maxThumbOffsetX = scrollbarXRef.current.offsetWidth - thumbWidth - scrollbarXOffset - thumbXOffset;
275
- const scrollRatioX = deltaX / maxThumbOffsetX;
276
- viewportRef.current.scrollLeft = startScrollLeftRef.current + scrollRatioX * (scrollableContentWidth - viewportWidth);
277
- event.preventDefault();
278
- setScrollingX(true);
279
- scrollXTimeout.start(SCROLL_TIMEOUT, () => {
280
- setScrollingX(false);
281
- });
282
- }
283
- }
284
- });
285
- const handlePointerUp = useStableCallback((event) => {
286
- thumbDraggingRef.current = false;
287
- if (thumbYRef.current && currentOrientationRef.current === "vertical") {
288
- thumbYRef.current.releasePointerCapture(event.pointerId);
289
- }
290
- if (thumbXRef.current && currentOrientationRef.current === "horizontal") {
291
- thumbXRef.current.releasePointerCapture(event.pointerId);
292
- }
293
- });
294
- function handleTouchModalityChange(event) {
295
- setTouchModality(event.pointerType === "touch");
296
- }
297
- function handlePointerEnterOrMove(event) {
298
- handleTouchModalityChange(event);
299
- if (event.pointerType !== "touch") {
300
- const isTargetRootChild = contains(rootRef.current, event.target);
301
- setHovering(isTargetRootChild);
302
- }
303
- }
304
- const state = React2.useMemo(() => ({
305
- scrolling: scrollingX || scrollingY,
306
- hasOverflowX: !hiddenState.x,
307
- hasOverflowY: !hiddenState.y,
308
- overflowXStart: overflowEdges.xStart,
309
- overflowXEnd: overflowEdges.xEnd,
310
- overflowYStart: overflowEdges.yStart,
311
- overflowYEnd: overflowEdges.yEnd,
312
- cornerHidden: hiddenState.corner
313
- }), [scrollingX, scrollingY, hiddenState.x, hiddenState.y, hiddenState.corner, overflowEdges]);
314
- const props = {
315
- role: "presentation",
316
- onPointerEnter: handlePointerEnterOrMove,
317
- onPointerMove: handlePointerEnterOrMove,
318
- onPointerDown: handleTouchModalityChange,
319
- onPointerLeave() {
320
- setHovering(false);
321
- },
322
- style: {
323
- position: "relative",
324
- [ScrollAreaRootCssVars.scrollAreaCornerHeight]: `${cornerSize.height}px`,
325
- [ScrollAreaRootCssVars.scrollAreaCornerWidth]: `${cornerSize.width}px`
326
- }
327
- };
328
- const element = useRenderElement("div", componentProps, {
329
- state,
330
- ref: [forwardedRef, rootRef],
331
- props: [props, elementProps],
332
- stateAttributesMapping: scrollAreaStateAttributesMapping
333
- });
334
- const contextValue = React2.useMemo(() => ({
335
- handlePointerDown,
336
- handlePointerMove,
337
- handlePointerUp,
338
- handleScroll,
339
- cornerSize,
340
- setCornerSize,
341
- thumbSize,
342
- setThumbSize,
343
- hasMeasuredScrollbar,
344
- setHasMeasuredScrollbar,
345
- touchModality,
346
- cornerRef,
347
- scrollingX,
348
- setScrollingX,
349
- scrollingY,
350
- setScrollingY,
351
- hovering,
352
- setHovering,
353
- viewportRef,
354
- rootRef,
355
- scrollbarYRef,
356
- scrollbarXRef,
357
- thumbYRef,
358
- thumbXRef,
359
- rootId,
360
- hiddenState,
361
- setHiddenState,
362
- overflowEdges,
363
- setOverflowEdges,
364
- viewportState: state,
365
- overflowEdgeThreshold
366
- }), [handlePointerDown, handlePointerMove, handlePointerUp, handleScroll, cornerSize, thumbSize, hasMeasuredScrollbar, touchModality, scrollingX, setScrollingX, scrollingY, setScrollingY, hovering, setHovering, rootId, hiddenState, overflowEdges, state, overflowEdgeThreshold]);
367
- return /* @__PURE__ */ _jsxs(ScrollAreaRootContext.Provider, {
368
- value: contextValue,
369
- children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), element]
370
- });
371
- });
372
- if (true)
373
- ScrollAreaRoot.displayName = "ScrollAreaRoot";
374
- function normalizeOverflowEdgeThreshold(threshold) {
375
- if (typeof threshold === "number") {
376
- const value = Math.max(0, threshold);
377
- return {
378
- xStart: value,
379
- xEnd: value,
380
- yStart: value,
381
- yEnd: value
382
- };
383
- }
384
- return {
385
- xStart: Math.max(0, threshold?.xStart || 0),
386
- xEnd: Math.max(0, threshold?.xEnd || 0),
387
- yStart: Math.max(0, threshold?.yStart || 0),
388
- yEnd: Math.max(0, threshold?.yEnd || 0)
389
- };
390
- }
391
- // node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewport.js
392
- import * as React4 from "react";
393
-
394
- // node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportContext.js
395
- import * as React3 from "react";
396
- "use client";
397
- var ScrollAreaViewportContext = /* @__PURE__ */ React3.createContext(undefined);
398
- if (true)
399
- ScrollAreaViewportContext.displayName = "ScrollAreaViewportContext";
400
- function useScrollAreaViewportContext() {
401
- const context = React3.useContext(ScrollAreaViewportContext);
402
- if (context === undefined) {
403
- throw new Error("Base UI: ScrollAreaViewportContext missing. ScrollAreaViewport parts must be placed within <ScrollArea.Viewport>.");
404
- }
405
- return context;
406
- }
407
-
408
- // node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportCssVars.js
409
- var ScrollAreaViewportCssVars = /* @__PURE__ */ function(ScrollAreaViewportCssVars2) {
410
- ScrollAreaViewportCssVars2["scrollAreaOverflowXStart"] = "--scroll-area-overflow-x-start";
411
- ScrollAreaViewportCssVars2["scrollAreaOverflowXEnd"] = "--scroll-area-overflow-x-end";
412
- ScrollAreaViewportCssVars2["scrollAreaOverflowYStart"] = "--scroll-area-overflow-y-start";
413
- ScrollAreaViewportCssVars2["scrollAreaOverflowYEnd"] = "--scroll-area-overflow-y-end";
414
- return ScrollAreaViewportCssVars2;
415
- }({});
416
-
417
- // node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewport.js
418
- import { jsx as _jsx } from "react/jsx-runtime";
419
- "use client";
420
- var scrollAreaOverflowVarsRegistered = false;
421
- function removeCSSVariableInheritance() {
422
- if (scrollAreaOverflowVarsRegistered || isWebKit) {
423
- return;
424
- }
425
- if (typeof CSS !== "undefined" && "registerProperty" in CSS) {
426
- [ScrollAreaViewportCssVars.scrollAreaOverflowXStart, ScrollAreaViewportCssVars.scrollAreaOverflowXEnd, ScrollAreaViewportCssVars.scrollAreaOverflowYStart, ScrollAreaViewportCssVars.scrollAreaOverflowYEnd].forEach((name) => {
427
- try {
428
- CSS.registerProperty({
429
- name,
430
- syntax: "<length>",
431
- inherits: false,
432
- initialValue: "0px"
433
- });
434
- } catch {}
435
- });
436
- }
437
- scrollAreaOverflowVarsRegistered = true;
438
- }
439
- var ScrollAreaViewport = /* @__PURE__ */ React4.forwardRef(function ScrollAreaViewport2(componentProps, forwardedRef) {
440
- const {
441
- render,
442
- className,
443
- style,
444
- ...elementProps
445
- } = componentProps;
446
- const {
447
- viewportRef,
448
- scrollbarYRef,
449
- scrollbarXRef,
450
- thumbYRef,
451
- thumbXRef,
452
- cornerRef,
453
- cornerSize,
454
- setCornerSize,
455
- setThumbSize,
456
- rootId,
457
- setHiddenState,
458
- hiddenState,
459
- setHasMeasuredScrollbar,
460
- handleScroll,
461
- setHovering,
462
- setOverflowEdges,
463
- overflowEdges,
464
- overflowEdgeThreshold,
465
- scrollingX,
466
- scrollingY
467
- } = useScrollAreaRootContext();
468
- const direction = useDirection();
469
- const programmaticScrollRef = React4.useRef(true);
470
- const lastMeasuredViewportMetricsRef = React4.useRef([NaN, NaN, NaN, NaN]);
471
- const scrollEndTimeout = useTimeout();
472
- const waitForAnimationsTimeout = useTimeout();
473
- const computeThumbPosition = useStableCallback(() => {
474
- const viewportEl = viewportRef.current;
475
- const scrollbarYEl = scrollbarYRef.current;
476
- const scrollbarXEl = scrollbarXRef.current;
477
- const thumbYEl = thumbYRef.current;
478
- const thumbXEl = thumbXRef.current;
479
- const cornerEl = cornerRef.current;
480
- if (!viewportEl) {
481
- return;
482
- }
483
- const scrollableContentHeight = viewportEl.scrollHeight;
484
- const scrollableContentWidth = viewportEl.scrollWidth;
485
- const viewportHeight = viewportEl.clientHeight;
486
- const viewportWidth = viewportEl.clientWidth;
487
- const scrollTop = viewportEl.scrollTop;
488
- const scrollLeft = viewportEl.scrollLeft;
489
- const lastMeasuredViewportMetrics = lastMeasuredViewportMetricsRef.current;
490
- const isFirstMeasurement = Number.isNaN(lastMeasuredViewportMetrics[0]);
491
- lastMeasuredViewportMetrics[0] = viewportHeight;
492
- lastMeasuredViewportMetrics[1] = scrollableContentHeight;
493
- lastMeasuredViewportMetrics[2] = viewportWidth;
494
- lastMeasuredViewportMetrics[3] = scrollableContentWidth;
495
- if (isFirstMeasurement) {
496
- setHasMeasuredScrollbar(true);
497
- }
498
- if (scrollableContentHeight === 0 || scrollableContentWidth === 0) {
499
- return;
500
- }
501
- const nextHiddenState = getHiddenState(viewportEl);
502
- const scrollbarYHidden = nextHiddenState.y;
503
- const scrollbarXHidden = nextHiddenState.x;
504
- const ratioX = viewportWidth / scrollableContentWidth;
505
- const ratioY = viewportHeight / scrollableContentHeight;
506
- const maxScrollLeft = Math.max(0, scrollableContentWidth - viewportWidth);
507
- const maxScrollTop = Math.max(0, scrollableContentHeight - viewportHeight);
508
- let scrollLeftFromStart = 0;
509
- let scrollLeftFromEnd = 0;
510
- if (!scrollbarXHidden) {
511
- let rawScrollLeftFromStart = 0;
512
- if (direction === "rtl") {
513
- rawScrollLeftFromStart = clamp(-scrollLeft, 0, maxScrollLeft);
514
- } else {
515
- rawScrollLeftFromStart = clamp(scrollLeft, 0, maxScrollLeft);
516
- }
517
- scrollLeftFromStart = normalizeScrollOffset(rawScrollLeftFromStart, maxScrollLeft);
518
- scrollLeftFromEnd = maxScrollLeft - scrollLeftFromStart;
519
- }
520
- const rawScrollTopFromStart = !scrollbarYHidden ? clamp(scrollTop, 0, maxScrollTop) : 0;
521
- const scrollTopFromStart = !scrollbarYHidden ? normalizeScrollOffset(rawScrollTopFromStart, maxScrollTop) : 0;
522
- const scrollTopFromEnd = !scrollbarYHidden ? maxScrollTop - scrollTopFromStart : 0;
523
- const nextWidth = scrollbarXHidden ? 0 : viewportWidth;
524
- const nextHeight = scrollbarYHidden ? 0 : viewportHeight;
525
- let nextCornerWidth = 0;
526
- let nextCornerHeight = 0;
527
- if (!scrollbarXHidden && !scrollbarYHidden) {
528
- nextCornerWidth = scrollbarYEl?.offsetWidth || 0;
529
- nextCornerHeight = scrollbarXEl?.offsetHeight || 0;
530
- }
531
- const cornerNotYetSized = cornerSize.width === 0 && cornerSize.height === 0;
532
- const cornerWidthOffset = cornerNotYetSized ? nextCornerWidth : 0;
533
- const cornerHeightOffset = cornerNotYetSized ? nextCornerHeight : 0;
534
- const scrollbarXOffset = getOffset(scrollbarXEl, "padding", "x");
535
- const scrollbarYOffset = getOffset(scrollbarYEl, "padding", "y");
536
- const thumbXOffset = getOffset(thumbXEl, "margin", "x");
537
- const thumbYOffset = getOffset(thumbYEl, "margin", "y");
538
- const idealNextWidth = nextWidth - scrollbarXOffset - thumbXOffset;
539
- const idealNextHeight = nextHeight - scrollbarYOffset - thumbYOffset;
540
- const maxNextWidth = scrollbarXEl ? Math.min(scrollbarXEl.offsetWidth - cornerWidthOffset, idealNextWidth) : idealNextWidth;
541
- const maxNextHeight = scrollbarYEl ? Math.min(scrollbarYEl.offsetHeight - cornerHeightOffset, idealNextHeight) : idealNextHeight;
542
- const clampedNextWidth = Math.max(MIN_THUMB_SIZE, maxNextWidth * ratioX);
543
- const clampedNextHeight = Math.max(MIN_THUMB_SIZE, maxNextHeight * ratioY);
544
- setThumbSize((prevSize) => {
545
- if (prevSize.height === clampedNextHeight && prevSize.width === clampedNextWidth) {
546
- return prevSize;
547
- }
548
- return {
549
- width: clampedNextWidth,
550
- height: clampedNextHeight
551
- };
552
- });
553
- if (scrollbarYEl && thumbYEl) {
554
- const maxThumbOffsetY = scrollbarYEl.offsetHeight - clampedNextHeight - scrollbarYOffset - thumbYOffset;
555
- const scrollRangeY = scrollableContentHeight - viewportHeight;
556
- const scrollRatioY = scrollRangeY === 0 ? 0 : scrollTop / scrollRangeY;
557
- const thumbOffsetY = Math.min(maxThumbOffsetY, Math.max(0, scrollRatioY * maxThumbOffsetY));
558
- thumbYEl.style.transform = `translate3d(0,${thumbOffsetY}px,0)`;
559
- }
560
- if (scrollbarXEl && thumbXEl) {
561
- const maxThumbOffsetX = scrollbarXEl.offsetWidth - clampedNextWidth - scrollbarXOffset - thumbXOffset;
562
- const scrollRangeX = scrollableContentWidth - viewportWidth;
563
- const scrollRatioX = scrollRangeX === 0 ? 0 : scrollLeft / scrollRangeX;
564
- const thumbOffsetX = direction === "rtl" ? clamp(scrollRatioX * maxThumbOffsetX, -maxThumbOffsetX, 0) : clamp(scrollRatioX * maxThumbOffsetX, 0, maxThumbOffsetX);
565
- thumbXEl.style.transform = `translate3d(${thumbOffsetX}px,0,0)`;
566
- }
567
- const overflowMetricsPx = [[ScrollAreaViewportCssVars.scrollAreaOverflowXStart, scrollLeftFromStart], [ScrollAreaViewportCssVars.scrollAreaOverflowXEnd, scrollLeftFromEnd], [ScrollAreaViewportCssVars.scrollAreaOverflowYStart, scrollTopFromStart], [ScrollAreaViewportCssVars.scrollAreaOverflowYEnd, scrollTopFromEnd]];
568
- for (const [cssVar, value] of overflowMetricsPx) {
569
- viewportEl.style.setProperty(cssVar, `${value}px`);
570
- }
571
- if (cornerEl) {
572
- if (scrollbarXHidden || scrollbarYHidden) {
573
- setCornerSize({
574
- width: 0,
575
- height: 0
576
- });
577
- } else if (!scrollbarXHidden && !scrollbarYHidden) {
578
- setCornerSize({
579
- width: nextCornerWidth,
580
- height: nextCornerHeight
581
- });
582
- }
583
- }
584
- setHiddenState((prevState) => mergeHiddenState(prevState, nextHiddenState));
585
- const nextOverflowEdges = {
586
- xStart: !scrollbarXHidden && scrollLeftFromStart > overflowEdgeThreshold.xStart,
587
- xEnd: !scrollbarXHidden && scrollLeftFromEnd > overflowEdgeThreshold.xEnd,
588
- yStart: !scrollbarYHidden && scrollTopFromStart > overflowEdgeThreshold.yStart,
589
- yEnd: !scrollbarYHidden && scrollTopFromEnd > overflowEdgeThreshold.yEnd
590
- };
591
- setOverflowEdges((prev) => {
592
- if (prev.xStart === nextOverflowEdges.xStart && prev.xEnd === nextOverflowEdges.xEnd && prev.yStart === nextOverflowEdges.yStart && prev.yEnd === nextOverflowEdges.yEnd) {
593
- return prev;
594
- }
595
- return nextOverflowEdges;
596
- });
597
- });
598
- useIsoLayoutEffect(() => {
599
- if (!viewportRef.current) {
600
- return;
601
- }
602
- removeCSSVariableInheritance();
603
- }, [viewportRef]);
604
- useIsoLayoutEffect(() => {
605
- queueMicrotask(computeThumbPosition);
606
- }, [computeThumbPosition, hiddenState, direction]);
607
- useIsoLayoutEffect(() => {
608
- if (viewportRef.current?.matches(":hover")) {
609
- setHovering(true);
610
- }
611
- }, [viewportRef, setHovering]);
612
- React4.useEffect(() => {
613
- const viewport = viewportRef.current;
614
- if (typeof ResizeObserver === "undefined" || !viewport) {
615
- return;
616
- }
617
- let hasInitialized = false;
618
- const resizeObserver = new ResizeObserver(() => {
619
- if (!hasInitialized) {
620
- hasInitialized = true;
621
- const lastMeasuredViewportMetrics = lastMeasuredViewportMetricsRef.current;
622
- if (lastMeasuredViewportMetrics[0] === viewport.clientHeight && lastMeasuredViewportMetrics[1] === viewport.scrollHeight && lastMeasuredViewportMetrics[2] === viewport.clientWidth && lastMeasuredViewportMetrics[3] === viewport.scrollWidth) {
623
- return;
624
- }
625
- }
626
- computeThumbPosition();
627
- });
628
- resizeObserver.observe(viewport);
629
- waitForAnimationsTimeout.start(0, () => {
630
- const animations = viewport.getAnimations({
631
- subtree: true
632
- });
633
- if (animations.length === 0) {
634
- return;
635
- }
636
- Promise.allSettled(animations.map((animation) => animation.finished)).then(computeThumbPosition).catch(() => {});
637
- });
638
- return () => {
639
- resizeObserver.disconnect();
640
- waitForAnimationsTimeout.clear();
641
- };
642
- }, [computeThumbPosition, viewportRef, waitForAnimationsTimeout]);
643
- function handleUserInteraction() {
644
- programmaticScrollRef.current = false;
645
- }
646
- const props = {
647
- role: "presentation",
648
- ...rootId && {
649
- "data-id": `${rootId}-viewport`
650
- },
651
- tabIndex: hiddenState.x && hiddenState.y ? -1 : 0,
652
- className: styleDisableScrollbar.className,
653
- style: {
654
- overflow: "scroll"
655
- },
656
- onScroll() {
657
- if (!viewportRef.current) {
658
- return;
659
- }
660
- computeThumbPosition();
661
- if (!programmaticScrollRef.current) {
662
- handleScroll({
663
- x: viewportRef.current.scrollLeft,
664
- y: viewportRef.current.scrollTop
665
- });
666
- }
667
- scrollEndTimeout.start(100, () => {
668
- programmaticScrollRef.current = true;
669
- });
670
- },
671
- onWheel: handleUserInteraction,
672
- onTouchMove: handleUserInteraction,
673
- onPointerMove: handleUserInteraction,
674
- onPointerEnter: handleUserInteraction,
675
- onKeyDown: handleUserInteraction
676
- };
677
- const viewportState = React4.useMemo(() => ({
678
- scrolling: scrollingX || scrollingY,
679
- hasOverflowX: !hiddenState.x,
680
- hasOverflowY: !hiddenState.y,
681
- overflowXStart: overflowEdges.xStart,
682
- overflowXEnd: overflowEdges.xEnd,
683
- overflowYStart: overflowEdges.yStart,
684
- overflowYEnd: overflowEdges.yEnd,
685
- cornerHidden: hiddenState.corner
686
- }), [scrollingX, scrollingY, hiddenState.x, hiddenState.y, hiddenState.corner, overflowEdges]);
687
- const element = useRenderElement("div", componentProps, {
688
- ref: [forwardedRef, viewportRef],
689
- state: viewportState,
690
- props: [props, elementProps],
691
- stateAttributesMapping: scrollAreaStateAttributesMapping
692
- });
693
- const contextValue = React4.useMemo(() => ({
694
- computeThumbPosition
695
- }), [computeThumbPosition]);
696
- return /* @__PURE__ */ _jsx(ScrollAreaViewportContext.Provider, {
697
- value: contextValue,
698
- children: element
699
- });
700
- });
701
- if (true)
702
- ScrollAreaViewport.displayName = "ScrollAreaViewport";
703
- function getHiddenState(viewport) {
704
- const y = viewport.clientHeight >= viewport.scrollHeight;
705
- const x = viewport.clientWidth >= viewport.scrollWidth;
706
- return {
707
- y,
708
- x,
709
- corner: y || x
710
- };
711
- }
712
- function mergeHiddenState(prevState, nextState) {
713
- if (prevState.y === nextState.y && prevState.x === nextState.x && prevState.corner === nextState.corner) {
714
- return prevState;
715
- }
716
- return nextState;
717
- }
718
- // node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js
719
- import * as React6 from "react";
720
-
721
- // node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarContext.js
722
- import * as React5 from "react";
723
- "use client";
724
- var ScrollAreaScrollbarContext = /* @__PURE__ */ React5.createContext(undefined);
725
- if (true)
726
- ScrollAreaScrollbarContext.displayName = "ScrollAreaScrollbarContext";
727
- function useScrollAreaScrollbarContext() {
728
- const context = React5.useContext(ScrollAreaScrollbarContext);
729
- if (context === undefined) {
730
- throw new Error("Base UI: ScrollAreaScrollbarContext is missing. ScrollAreaScrollbar parts must be placed within <ScrollArea.Scrollbar>.");
731
- }
732
- return context;
733
- }
734
-
735
- // node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js
736
- var ScrollAreaScrollbarCssVars = /* @__PURE__ */ function(ScrollAreaScrollbarCssVars2) {
737
- ScrollAreaScrollbarCssVars2["scrollAreaThumbHeight"] = "--scroll-area-thumb-height";
738
- ScrollAreaScrollbarCssVars2["scrollAreaThumbWidth"] = "--scroll-area-thumb-width";
739
- return ScrollAreaScrollbarCssVars2;
740
- }({});
741
-
742
- // node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js
743
- import { jsx as _jsx2 } from "react/jsx-runtime";
744
- "use client";
745
- var ScrollAreaScrollbar = /* @__PURE__ */ React6.forwardRef(function ScrollAreaScrollbar2(componentProps, forwardedRef) {
746
- const {
747
- render,
748
- className,
749
- orientation = "vertical",
750
- keepMounted = false,
751
- style,
752
- ...elementProps
753
- } = componentProps;
754
- const {
755
- hovering,
756
- scrollingX,
757
- scrollingY,
758
- hiddenState,
759
- overflowEdges,
760
- scrollbarYRef,
761
- scrollbarXRef,
762
- viewportRef,
763
- thumbYRef,
764
- thumbXRef,
765
- handlePointerDown,
766
- handlePointerUp,
767
- rootId,
768
- thumbSize,
769
- hasMeasuredScrollbar
770
- } = useScrollAreaRootContext();
771
- const state = {
772
- hovering,
773
- scrolling: {
774
- horizontal: scrollingX,
775
- vertical: scrollingY
776
- }[orientation],
777
- orientation,
778
- hasOverflowX: !hiddenState.x,
779
- hasOverflowY: !hiddenState.y,
780
- overflowXStart: overflowEdges.xStart,
781
- overflowXEnd: overflowEdges.xEnd,
782
- overflowYStart: overflowEdges.yStart,
783
- overflowYEnd: overflowEdges.yEnd,
784
- cornerHidden: hiddenState.corner
785
- };
786
- const direction = useDirection();
787
- const hideTrackUntilMeasured = !hasMeasuredScrollbar && !keepMounted;
788
- const isHidden = orientation === "vertical" ? hiddenState.y : hiddenState.x;
789
- const shouldRender = keepMounted || !isHidden;
790
- React6.useEffect(() => {
791
- if (!shouldRender) {
792
- return;
793
- }
794
- const viewportEl = viewportRef.current;
795
- const scrollbarEl = orientation === "vertical" ? scrollbarYRef.current : scrollbarXRef.current;
796
- if (!scrollbarEl) {
797
- return;
798
- }
799
- function handleWheel(event) {
800
- if (!viewportEl || !scrollbarEl || event.ctrlKey) {
801
- return;
802
- }
803
- event.preventDefault();
804
- const horizontal = orientation === "horizontal";
805
- const scrollProperty = horizontal ? "scrollLeft" : "scrollTop";
806
- const delta = horizontal ? event.deltaX : event.deltaY;
807
- const maxScroll = horizontal ? viewportEl.scrollWidth - viewportEl.clientWidth : viewportEl.scrollHeight - viewportEl.clientHeight;
808
- const minScroll = horizontal && direction === "rtl" ? -maxScroll : 0;
809
- const maxScrollValue = horizontal && direction === "rtl" ? 0 : maxScroll;
810
- const scrollValue = viewportEl[scrollProperty];
811
- if (scrollValue <= minScroll && delta < 0 || scrollValue >= maxScrollValue && delta > 0) {
812
- return;
813
- }
814
- viewportEl[scrollProperty] = Math.min(maxScrollValue, Math.max(minScroll, scrollValue + delta));
815
- }
816
- return addEventListener(scrollbarEl, "wheel", handleWheel, {
817
- passive: false
818
- });
819
- }, [direction, orientation, scrollbarXRef, scrollbarYRef, shouldRender, viewportRef]);
820
- const props = {
821
- ...rootId && {
822
- "data-id": `${rootId}-scrollbar`
823
- },
824
- onPointerDown(event) {
825
- if (event.button !== 0) {
826
- return;
827
- }
828
- const target = getTarget(event.nativeEvent);
829
- const thumb = orientation === "vertical" ? thumbYRef.current : thumbXRef.current;
830
- if (thumb && contains(thumb, target)) {
831
- return;
832
- }
833
- if (!viewportRef.current) {
834
- return;
835
- }
836
- if (thumbYRef.current && scrollbarYRef.current && orientation === "vertical") {
837
- const thumbYOffset = getOffset(thumbYRef.current, "margin", "y");
838
- const scrollbarYOffset = getOffset(scrollbarYRef.current, "padding", "y");
839
- const thumbHeight = thumbYRef.current.offsetHeight;
840
- const trackRectY = scrollbarYRef.current.getBoundingClientRect();
841
- const clickY = event.clientY - trackRectY.top - thumbHeight / 2 - scrollbarYOffset + thumbYOffset / 2;
842
- const scrollableContentHeight = viewportRef.current.scrollHeight;
843
- const viewportHeight = viewportRef.current.clientHeight;
844
- const maxThumbOffsetY = scrollbarYRef.current.offsetHeight - thumbHeight - scrollbarYOffset - thumbYOffset;
845
- const scrollRatioY = clickY / maxThumbOffsetY;
846
- const newScrollTop = scrollRatioY * (scrollableContentHeight - viewportHeight);
847
- viewportRef.current.scrollTop = newScrollTop;
848
- }
849
- if (thumbXRef.current && scrollbarXRef.current && orientation === "horizontal") {
850
- const thumbXOffset = getOffset(thumbXRef.current, "margin", "x");
851
- const scrollbarXOffset = getOffset(scrollbarXRef.current, "padding", "x");
852
- const thumbWidth = thumbXRef.current.offsetWidth;
853
- const trackRectX = scrollbarXRef.current.getBoundingClientRect();
854
- const clickX = event.clientX - trackRectX.left - thumbWidth / 2 - scrollbarXOffset + thumbXOffset / 2;
855
- const scrollableContentWidth = viewportRef.current.scrollWidth;
856
- const viewportWidth = viewportRef.current.clientWidth;
857
- const maxThumbOffsetX = scrollbarXRef.current.offsetWidth - thumbWidth - scrollbarXOffset - thumbXOffset;
858
- const scrollRatioX = clickX / maxThumbOffsetX;
859
- let newScrollLeft;
860
- if (direction === "rtl") {
861
- newScrollLeft = (1 - scrollRatioX) * (scrollableContentWidth - viewportWidth);
862
- if (viewportRef.current.scrollLeft <= 0) {
863
- newScrollLeft = -newScrollLeft;
864
- }
865
- } else {
866
- newScrollLeft = scrollRatioX * (scrollableContentWidth - viewportWidth);
867
- }
868
- viewportRef.current.scrollLeft = newScrollLeft;
869
- }
870
- handlePointerDown(event);
871
- },
872
- onPointerUp: handlePointerUp,
873
- style: {
874
- position: "absolute",
875
- touchAction: "none",
876
- WebkitUserSelect: "none",
877
- userSelect: "none",
878
- visibility: hideTrackUntilMeasured ? "hidden" : undefined,
879
- ...orientation === "vertical" && {
880
- top: 0,
881
- bottom: `var(${ScrollAreaRootCssVars.scrollAreaCornerHeight})`,
882
- insetInlineEnd: 0,
883
- [ScrollAreaScrollbarCssVars.scrollAreaThumbHeight]: `${thumbSize.height}px`
884
- },
885
- ...orientation === "horizontal" && {
886
- insetInlineStart: 0,
887
- insetInlineEnd: `var(${ScrollAreaRootCssVars.scrollAreaCornerWidth})`,
888
- bottom: 0,
889
- [ScrollAreaScrollbarCssVars.scrollAreaThumbWidth]: `${thumbSize.width}px`
890
- }
891
- }
892
- };
893
- const element = useRenderElement("div", componentProps, {
894
- ref: [forwardedRef, orientation === "vertical" ? scrollbarYRef : scrollbarXRef],
895
- state,
896
- props: [props, elementProps],
897
- stateAttributesMapping: scrollAreaStateAttributesMapping
898
- });
899
- const contextValue = React6.useMemo(() => ({
900
- orientation
901
- }), [orientation]);
902
- if (!shouldRender) {
903
- return null;
904
- }
905
- return /* @__PURE__ */ _jsx2(ScrollAreaScrollbarContext.Provider, {
906
- value: contextValue,
907
- children: element
908
- });
909
- });
910
- if (true)
911
- ScrollAreaScrollbar.displayName = "ScrollAreaScrollbar";
912
- // node_modules/@base-ui/react/esm/scroll-area/content/ScrollAreaContent.js
913
- import * as React7 from "react";
914
- "use client";
915
- var ScrollAreaContent = /* @__PURE__ */ React7.forwardRef(function ScrollAreaContent2(componentProps, forwardedRef) {
916
- const {
917
- render,
918
- className,
919
- style,
920
- ...elementProps
921
- } = componentProps;
922
- const {
923
- computeThumbPosition
924
- } = useScrollAreaViewportContext();
925
- const {
926
- viewportState
927
- } = useScrollAreaRootContext();
928
- const contentWrapperRef = React7.useRef(null);
929
- useIsoLayoutEffect(() => {
930
- if (typeof ResizeObserver === "undefined") {
931
- return;
932
- }
933
- let hasInitialized = false;
934
- const resizeObserver = new ResizeObserver(() => {
935
- if (!hasInitialized) {
936
- hasInitialized = true;
937
- return;
938
- }
939
- computeThumbPosition();
940
- });
941
- if (contentWrapperRef.current) {
942
- resizeObserver.observe(contentWrapperRef.current);
943
- }
944
- return () => {
945
- resizeObserver.disconnect();
946
- };
947
- }, [computeThumbPosition]);
948
- const element = useRenderElement("div", componentProps, {
949
- ref: [forwardedRef, contentWrapperRef],
950
- state: viewportState,
951
- stateAttributesMapping: scrollAreaStateAttributesMapping,
952
- props: [{
953
- role: "presentation",
954
- style: {
955
- minWidth: "fit-content"
956
- }
957
- }, elementProps]
958
- });
959
- return element;
960
- });
961
- if (true)
962
- ScrollAreaContent.displayName = "ScrollAreaContent";
963
- // node_modules/@base-ui/react/esm/scroll-area/thumb/ScrollAreaThumb.js
964
- import * as React8 from "react";
965
- "use client";
966
- var ScrollAreaThumb = /* @__PURE__ */ React8.forwardRef(function ScrollAreaThumb2(componentProps, forwardedRef) {
967
- const {
968
- render,
969
- className,
970
- style,
971
- ...elementProps
972
- } = componentProps;
973
- const {
974
- thumbYRef,
975
- thumbXRef,
976
- handlePointerDown,
977
- handlePointerMove,
978
- handlePointerUp,
979
- setScrollingX,
980
- setScrollingY,
981
- hasMeasuredScrollbar
982
- } = useScrollAreaRootContext();
983
- const {
984
- orientation
985
- } = useScrollAreaScrollbarContext();
986
- const state = {
987
- orientation
988
- };
989
- const element = useRenderElement("div", componentProps, {
990
- ref: [forwardedRef, orientation === "vertical" ? thumbYRef : thumbXRef],
991
- state,
992
- props: [{
993
- onPointerDown: handlePointerDown,
994
- onPointerMove: handlePointerMove,
995
- onPointerUp(event) {
996
- if (orientation === "vertical") {
997
- setScrollingY(false);
998
- }
999
- if (orientation === "horizontal") {
1000
- setScrollingX(false);
1001
- }
1002
- handlePointerUp(event);
1003
- },
1004
- style: {
1005
- visibility: hasMeasuredScrollbar ? undefined : "hidden",
1006
- ...orientation === "vertical" && {
1007
- height: `var(${ScrollAreaScrollbarCssVars.scrollAreaThumbHeight})`
1008
- },
1009
- ...orientation === "horizontal" && {
1010
- width: `var(${ScrollAreaScrollbarCssVars.scrollAreaThumbWidth})`
1011
- }
1012
- }
1013
- }, elementProps]
1014
- });
1015
- return element;
1016
- });
1017
- if (true)
1018
- ScrollAreaThumb.displayName = "ScrollAreaThumb";
1019
- // node_modules/@base-ui/react/esm/scroll-area/corner/ScrollAreaCorner.js
1020
- import * as React9 from "react";
1021
- "use client";
1022
- var ScrollAreaCorner = /* @__PURE__ */ React9.forwardRef(function ScrollAreaCorner2(componentProps, forwardedRef) {
1023
- const {
1024
- render,
1025
- className,
1026
- style,
1027
- ...elementProps
1028
- } = componentProps;
1029
- const {
1030
- cornerRef,
1031
- cornerSize,
1032
- hiddenState
1033
- } = useScrollAreaRootContext();
1034
- const element = useRenderElement("div", componentProps, {
1035
- ref: [forwardedRef, cornerRef],
1036
- props: [{
1037
- style: {
1038
- position: "absolute",
1039
- bottom: 0,
1040
- insetInlineEnd: 0,
1041
- width: cornerSize.width,
1042
- height: cornerSize.height
1043
- }
1044
- }, elementProps]
1045
- });
1046
- if (hiddenState.corner) {
1047
- return null;
1048
- }
1049
- return element;
1050
- });
1051
- if (true)
1052
- ScrollAreaCorner.displayName = "ScrollAreaCorner";
1053
- export {
1054
- exports_index_parts as ScrollArea
1055
- };