@arcadeai/design-system 3.39.0 → 3.39.2

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 (425) hide show
  1. package/dist/CompositeItem-CniPsjzP.js +30 -0
  2. package/dist/CompositeList-yq5K_yj6.js +81 -0
  3. package/dist/CompositeRoot-Dy-5A-Je.js +206 -0
  4. package/dist/DialogRoot-DDokfJcO.js +57 -0
  5. package/dist/DialogTrigger-CFUE8YsM.js +402 -0
  6. package/dist/DirectionContext-BSOheMwC.js +10 -0
  7. package/dist/FieldItemContext-CF2fRwBC.js +12 -0
  8. package/dist/FloatingPortalLite-BHsRx4XN.js +29 -0
  9. package/dist/InternalBackdrop-BVEfe6O1.js +610 -0
  10. package/dist/LabelableContext-Dzw1DWuj.js +171 -0
  11. package/dist/Separator-CswSYAXX.js +25 -0
  12. package/dist/ToolbarRootContext-D7EsmJ5f.js +10 -0
  13. package/dist/andromeeda-B-gfN00q.js +4 -0
  14. package/dist/angular-html-dA1qUKRV.js +32 -0
  15. package/dist/angular-ts-CXyBC0vY.js +21 -0
  16. package/dist/apl-CjNiDgad.js +3 -3
  17. package/dist/assets/icons/telegram.js +10 -0
  18. package/dist/assets/images/arcade-grid.d.ts.map +1 -1
  19. package/dist/assets/images/arcade-grid.js +1 -0
  20. package/dist/assets/index.css +1 -1
  21. package/dist/assets/tokens.css +1 -1
  22. package/dist/assets/variables.css +1 -1
  23. package/dist/astro--3ZkKqYU.js +18 -0
  24. package/dist/astro-CFFExE8Q.js +5 -5
  25. package/dist/aurora-x-B56eICma.js +4 -0
  26. package/dist/ayu-dark-DJSOaKig.js +4 -0
  27. package/dist/ayu-light-BPfFt4v-.js +4 -0
  28. package/dist/ayu-mirage-DmPLRBj7.js +4 -0
  29. package/dist/blade-BoRuQEEj.js +20 -0
  30. package/dist/blade-D0HyNvCw.js +4 -4
  31. package/dist/c-C4SM8H98.js +6 -0
  32. package/dist/cairo-DM6WF2e3.js +1 -1
  33. package/dist/{calendar-DreAgQKY.js → calendar-CLEnvrbp.js} +483 -482
  34. package/dist/catppuccin-frappe-CA5k7W3u.js +4 -0
  35. package/dist/catppuccin-latte-CYfkUW5v.js +4 -0
  36. package/dist/catppuccin-macchiato-BOj_4I3g.js +4 -0
  37. package/dist/catppuccin-mocha-BXpUXme4.js +4 -0
  38. package/dist/clamp-BxE4ZAuA.js +17 -0
  39. package/dist/cobol-HihOMwht.js +1 -1
  40. package/dist/coffee-D8Swy5yR.js +8 -0
  41. package/dist/components/index.js +665 -644
  42. package/dist/components/ui/atoms/accordion.d.ts +9 -7
  43. package/dist/components/ui/atoms/accordion.d.ts.map +1 -1
  44. package/dist/components/ui/atoms/accordion.js +454 -243
  45. package/dist/components/ui/atoms/alert-dialog.d.ts +13 -9
  46. package/dist/components/ui/atoms/alert-dialog.d.ts.map +1 -1
  47. package/dist/components/ui/atoms/alert-dialog.js +149 -183
  48. package/dist/components/ui/atoms/alert.d.ts +2 -1
  49. package/dist/components/ui/atoms/alert.d.ts.map +1 -1
  50. package/dist/components/ui/atoms/alert.js +36 -25
  51. package/dist/components/ui/atoms/avatar.d.ts +10 -5
  52. package/dist/components/ui/atoms/avatar.d.ts.map +1 -1
  53. package/dist/components/ui/atoms/avatar.js +198 -205
  54. package/dist/components/ui/atoms/badge.d.ts +4 -5
  55. package/dist/components/ui/atoms/badge.d.ts.map +1 -1
  56. package/dist/components/ui/atoms/badge.js +31 -22
  57. package/dist/components/ui/atoms/breadcrumb.d.ts +4 -5
  58. package/dist/components/ui/atoms/breadcrumb.d.ts.map +1 -1
  59. package/dist/components/ui/atoms/breadcrumb.js +46 -29
  60. package/dist/components/ui/atoms/button.d.ts +4 -6
  61. package/dist/components/ui/atoms/button.d.ts.map +1 -1
  62. package/dist/components/ui/atoms/button.js +59 -28
  63. package/dist/components/ui/atoms/byoc-badge.d.ts +2 -2
  64. package/dist/components/ui/atoms/byoc-badge.d.ts.map +1 -1
  65. package/dist/components/ui/atoms/byoc-badge.js +14 -8
  66. package/dist/components/ui/atoms/calendar.d.ts +6 -16
  67. package/dist/components/ui/atoms/calendar.d.ts.map +1 -1
  68. package/dist/components/ui/atoms/calendar.js +1 -1
  69. package/dist/components/ui/atoms/card.d.ts +4 -2
  70. package/dist/components/ui/atoms/card.d.ts.map +1 -1
  71. package/dist/components/ui/atoms/card.js +46 -35
  72. package/dist/components/ui/atoms/chart.d.ts +24 -48
  73. package/dist/components/ui/atoms/chart.d.ts.map +1 -1
  74. package/dist/components/ui/atoms/chart.js +179 -148
  75. package/dist/components/ui/atoms/checkbox.d.ts +2 -3
  76. package/dist/components/ui/atoms/checkbox.d.ts.map +1 -1
  77. package/dist/components/ui/atoms/checkbox.js +269 -249
  78. package/dist/components/ui/atoms/code-block.js +1 -1
  79. package/dist/components/ui/atoms/collapsible.d.ts +5 -5
  80. package/dist/components/ui/atoms/collapsible.d.ts.map +1 -1
  81. package/dist/components/ui/atoms/collapsible.js +208 -23
  82. package/dist/components/ui/atoms/command.d.ts +4 -3
  83. package/dist/components/ui/atoms/command.d.ts.map +1 -1
  84. package/dist/components/ui/atoms/command.js +1655 -348
  85. package/dist/components/ui/atoms/dialog.d.ts +12 -10
  86. package/dist/components/ui/atoms/dialog.d.ts.map +1 -1
  87. package/dist/components/ui/atoms/dialog.js +91 -80
  88. package/dist/components/ui/atoms/dropdown-menu.d.ts +21 -17
  89. package/dist/components/ui/atoms/dropdown-menu.d.ts.map +1 -1
  90. package/dist/components/ui/atoms/dropdown-menu.js +1507 -899
  91. package/dist/components/ui/atoms/form.d.ts +5 -3
  92. package/dist/components/ui/atoms/form.d.ts.map +1 -1
  93. package/dist/components/ui/atoms/form.js +36 -42
  94. package/dist/components/ui/atoms/hover-card.d.ts +5 -6
  95. package/dist/components/ui/atoms/hover-card.d.ts.map +1 -1
  96. package/dist/components/ui/atoms/hover-card.js +355 -193
  97. package/dist/components/ui/atoms/icons/index.d.ts +1 -0
  98. package/dist/components/ui/atoms/icons/index.d.ts.map +1 -1
  99. package/dist/components/ui/atoms/icons/index.js +58 -56
  100. package/dist/components/ui/atoms/icons/telegram.d.ts +4 -0
  101. package/dist/components/ui/atoms/icons/telegram.d.ts.map +1 -0
  102. package/dist/components/ui/atoms/icons/telegram.js +37 -0
  103. package/dist/components/ui/atoms/index.d.ts +1 -0
  104. package/dist/components/ui/atoms/index.d.ts.map +1 -1
  105. package/dist/components/ui/atoms/index.js +566 -545
  106. package/dist/components/ui/atoms/input-group.d.ts +20 -0
  107. package/dist/components/ui/atoms/input-group.d.ts.map +1 -0
  108. package/dist/components/ui/atoms/input-group.js +136 -0
  109. package/dist/components/ui/atoms/input.d.ts.map +1 -1
  110. package/dist/components/ui/atoms/input.js +113 -13
  111. package/dist/components/ui/atoms/label.d.ts +1 -2
  112. package/dist/components/ui/atoms/label.d.ts.map +1 -1
  113. package/dist/components/ui/atoms/label.js +18 -31
  114. package/dist/components/ui/atoms/markdown.js +1 -1
  115. package/dist/components/ui/atoms/mobile-tooltip.js +4 -3
  116. package/dist/components/ui/atoms/popover.d.ts +8 -6
  117. package/dist/components/ui/atoms/popover.d.ts.map +1 -1
  118. package/dist/components/ui/atoms/popover.js +617 -245
  119. package/dist/components/ui/atoms/pro-badge.js +1 -1
  120. package/dist/components/ui/atoms/progress.d.ts +7 -4
  121. package/dist/components/ui/atoms/progress.d.ts.map +1 -1
  122. package/dist/components/ui/atoms/progress.js +236 -92
  123. package/dist/components/ui/atoms/radio-group.d.ts +4 -4
  124. package/dist/components/ui/atoms/radio-group.d.ts.map +1 -1
  125. package/dist/components/ui/atoms/radio-group.js +355 -251
  126. package/dist/components/ui/atoms/resizable.d.ts +3 -4
  127. package/dist/components/ui/atoms/resizable.d.ts.map +1 -1
  128. package/dist/components/ui/atoms/resizable.js +25 -27
  129. package/dist/components/ui/atoms/scroll-area.d.ts +5 -5
  130. package/dist/components/ui/atoms/scroll-area.d.ts.map +1 -1
  131. package/dist/components/ui/atoms/scroll-area.js +611 -526
  132. package/dist/components/ui/atoms/scroll-button.d.ts.map +1 -1
  133. package/dist/components/ui/atoms/scroll-button.js +27 -22
  134. package/dist/components/ui/atoms/select.d.ts +11 -11
  135. package/dist/components/ui/atoms/select.d.ts.map +1 -1
  136. package/dist/components/ui/atoms/select.js +1525 -889
  137. package/dist/components/ui/atoms/separator.d.ts +2 -3
  138. package/dist/components/ui/atoms/separator.d.ts.map +1 -1
  139. package/dist/components/ui/atoms/separator.js +16 -35
  140. package/dist/components/ui/atoms/sheet.d.ts +9 -9
  141. package/dist/components/ui/atoms/sheet.d.ts.map +1 -1
  142. package/dist/components/ui/atoms/sheet.js +65 -64
  143. package/dist/components/ui/atoms/sidebar.d.ts +9 -15
  144. package/dist/components/ui/atoms/sidebar.d.ts.map +1 -1
  145. package/dist/components/ui/atoms/sidebar.js +288 -283
  146. package/dist/components/ui/atoms/skeleton.js +4 -4
  147. package/dist/components/ui/atoms/slider.d.ts +2 -3
  148. package/dist/components/ui/atoms/slider.d.ts.map +1 -1
  149. package/dist/components/ui/atoms/slider.js +886 -440
  150. package/dist/components/ui/atoms/switch.d.ts +4 -5
  151. package/dist/components/ui/atoms/switch.d.ts.map +1 -1
  152. package/dist/components/ui/atoms/switch.js +218 -151
  153. package/dist/components/ui/atoms/table.d.ts +2 -4
  154. package/dist/components/ui/atoms/table.d.ts.map +1 -1
  155. package/dist/components/ui/atoms/table.js +35 -36
  156. package/dist/components/ui/atoms/tabs.d.ts +11 -7
  157. package/dist/components/ui/atoms/tabs.d.ts.map +1 -1
  158. package/dist/components/ui/atoms/tabs.js +492 -186
  159. package/dist/components/ui/atoms/textarea.d.ts.map +1 -1
  160. package/dist/components/ui/atoms/textarea.js +7 -7
  161. package/dist/components/ui/atoms/toggle.d.ts +2 -3
  162. package/dist/components/ui/atoms/toggle.d.ts.map +1 -1
  163. package/dist/components/ui/atoms/toggle.js +92 -45
  164. package/dist/components/ui/atoms/tooltip.d.ts +6 -9
  165. package/dist/components/ui/atoms/tooltip.d.ts.map +1 -1
  166. package/dist/components/ui/atoms/tooltip.js +625 -343
  167. package/dist/components/ui/atoms/view-tools-control.js +16 -15
  168. package/dist/components/ui/atoms/virtualized-grid.d.ts +11 -4
  169. package/dist/components/ui/atoms/virtualized-grid.d.ts.map +1 -1
  170. package/dist/components/ui/atoms/virtualized-grid.js +365 -333
  171. package/dist/components/ui/index.js +665 -644
  172. package/dist/components/ui/molecules/chat-history-item.d.ts.map +1 -1
  173. package/dist/components/ui/molecules/chat-history-item.js +47 -40
  174. package/dist/components/ui/molecules/command-bar.js +1 -1
  175. package/dist/components/ui/molecules/confirm-popover.d.ts +2 -2
  176. package/dist/components/ui/molecules/confirm-popover.d.ts.map +1 -1
  177. package/dist/components/ui/molecules/confirm-popover.js +26 -24
  178. package/dist/components/ui/molecules/date-time-picker.d.ts.map +1 -1
  179. package/dist/components/ui/molecules/date-time-picker.js +17 -11
  180. package/dist/components/ui/molecules/index.js +1 -1
  181. package/dist/components/ui/molecules/message.d.ts +2 -3
  182. package/dist/components/ui/molecules/message.d.ts.map +1 -1
  183. package/dist/components/ui/molecules/message.js +10 -16
  184. package/dist/components/ui/molecules/prompt-input.d.ts +1 -1
  185. package/dist/components/ui/molecules/prompt-input.d.ts.map +1 -1
  186. package/dist/components/ui/molecules/prompt-input.js +21 -22
  187. package/dist/components/ui/molecules/requirement-badges.d.ts.map +1 -1
  188. package/dist/components/ui/molecules/requirement-badges.js +3 -3
  189. package/dist/components/ui/molecules/steps-progress.js +1 -0
  190. package/dist/components/ui/molecules/tool-call-accordion.js +1 -0
  191. package/dist/components/ui/molecules/tool-card.d.ts.map +1 -1
  192. package/dist/components/ui/molecules/tool-card.js +60 -47
  193. package/dist/components/ui/molecules/toolkit-card.d.ts.map +1 -1
  194. package/dist/components/ui/molecules/toolkit-card.js +1 -1
  195. package/dist/components/ui/molecules/user-nav.d.ts.map +1 -1
  196. package/dist/components/ui/molecules/user-nav.js +62 -57
  197. package/dist/components/ui/templates/auth-template.js +5 -5
  198. package/dist/composite-BASdnlNo.js +220 -0
  199. package/dist/composite-BSpUD7nI.js +66 -0
  200. package/dist/cpp-CA4iM_wM.js +18 -0
  201. package/dist/createBaseUIEventDetails-CqidROtw.js +55 -0
  202. package/dist/crystal-CRJyc4G-.js +4 -4
  203. package/dist/css-M7EaDHN_.js +6 -0
  204. package/dist/csv-B7yqA61e.js +6 -0
  205. package/dist/dark-plus-B4vfALTw.js +4 -0
  206. package/dist/detectBrowser-Dn2N72k1.js +42 -0
  207. package/dist/dracula-Cb59ZzY3.js +4 -0
  208. package/dist/dracula-soft-aaEmszbU.js +4 -0
  209. package/dist/edge-BYQkOzbF.js +1 -1
  210. package/dist/element-DSo91iOi.js +88 -0
  211. package/dist/elm-BtNbw_Cd.js +1 -1
  212. package/dist/erlang-DNcDT8Hi.js +1 -1
  213. package/dist/event-BCa0Un_3.js +30 -0
  214. package/dist/everforest-dark-CLp_21RJ.js +4 -0
  215. package/dist/everforest-light-CZ0NCAAv.js +4 -0
  216. package/dist/floating-ui.utils-48URp89E.js +126 -0
  217. package/dist/floating-ui.utils.dom-jr2suqy2.js +135 -0
  218. package/dist/fsharp-CYOiIVNx.js +1 -1
  219. package/dist/getDisabledMountTransitionStyles-fmnaQYVj.js +1539 -0
  220. package/dist/getPseudoElementBounds-B4_miSEJ.js +364 -0
  221. package/dist/git-rebase-ZWUFO_T4.js +1 -1
  222. package/dist/github-dark-BD3lImVS.js +4 -0
  223. package/dist/github-dark-default-ID_nBUwl.js +4 -0
  224. package/dist/github-dark-dimmed-Cw4rFgde.js +4 -0
  225. package/dist/github-dark-high-contrast-DSby9de8.js +4 -0
  226. package/dist/github-light-W396yAFe.js +4 -0
  227. package/dist/github-light-default-DCAQ2px1.js +4 -0
  228. package/dist/github-light-high-contrast-ChWJGEvx.js +4 -0
  229. package/dist/glimmer-js-DkxNrfPT.js +2 -2
  230. package/dist/glimmer-ts-D6YZEmK_.js +2 -2
  231. package/dist/glsl-CgdqkyFp.js +8 -0
  232. package/dist/graphql-Bv26LTzG.js +14 -0
  233. package/dist/gruvbox-dark-hard-BC1GRqFa.js +4 -0
  234. package/dist/gruvbox-dark-medium-COLy2cDY.js +4 -0
  235. package/dist/gruvbox-dark-soft-B8MALL4f.js +4 -0
  236. package/dist/gruvbox-light-hard-Bzxr_AnB.js +4 -0
  237. package/dist/gruvbox-light-medium-D2fqu3Kj.js +4 -0
  238. package/dist/gruvbox-light-soft-atzRH3-n.js +4 -0
  239. package/dist/hack-ItRNKiEb.js +1 -1
  240. package/dist/haml-B1t5q1Sv.js +10 -0
  241. package/dist/haml-NZLVzu_R.js +1 -1
  242. package/dist/handlebars-B2fb61mr.js +14 -0
  243. package/dist/handlebars-mxStpSE7.js +2 -2
  244. package/dist/highlighted-body-OFNGDK62-Df6AJMbs.js +20 -0
  245. package/dist/hooks/use-mobile.d.ts.map +1 -1
  246. package/dist/hooks/use-mobile.js +11 -12
  247. package/dist/horizon-PFtq58ZB.js +4 -0
  248. package/dist/horizon-bright-2WzHy-Vo.js +4 -0
  249. package/dist/houston-BEqUWhHr.js +4 -0
  250. package/dist/html-B50bmoVb.js +1 -1
  251. package/dist/html-CPZ3oZQ7.js +10 -0
  252. package/dist/html-derivative-B2qv7eyt.js +8 -0
  253. package/dist/http-BQ2t9cn1.js +14 -0
  254. package/dist/hurl-RyCMCa80.js +12 -0
  255. package/dist/imba-DpB-wtPB.js +6 -0
  256. package/dist/index-3rscXtm3.js +4708 -0
  257. package/dist/inertValue-kpZZDBEy.js +7 -0
  258. package/dist/integrations/rhf/index.js +6 -5
  259. package/dist/isElementDisabled-Cbd8W9kH.js +6 -0
  260. package/dist/java-CbphP4lz.js +6 -0
  261. package/dist/javascript-CgYd5l7W.js +6 -0
  262. package/dist/jinja-DFCUirAg.js +11 -0
  263. package/dist/jison-CTEI_s6O.js +8 -0
  264. package/dist/json-B5-prx4F.js +6 -0
  265. package/dist/json5-CZ8R1oUY.js +6 -0
  266. package/dist/jsonc-DMboCKBJ.js +6 -0
  267. package/dist/jsonl-YgIUi4Dg.js +6 -0
  268. package/dist/jsx-D4q4E1UD.js +6 -0
  269. package/dist/julia-2ubi2n9a.js +16 -0
  270. package/dist/just-CEK2SJ_k.js +4 -4
  271. package/dist/kanagawa-dragon-DuYaOBBk.js +4 -0
  272. package/dist/kanagawa-lotus-CyjAihYC.js +4 -0
  273. package/dist/kanagawa-wave-BVdXUMj5.js +4 -0
  274. package/dist/laserwave-B_2VVKNJ.js +4 -0
  275. package/dist/less-MoGo8xoS.js +6 -0
  276. package/dist/light-plus-IB4fPeJj.js +4 -0
  277. package/dist/liquid-CHzkx3jT.js +2 -2
  278. package/dist/lua-Bp3IRv7I.js +1 -1
  279. package/dist/main.js +691 -670
  280. package/dist/markdown-B-zRtm0x.js +6 -0
  281. package/dist/{markdown-D0xxRbwP.js → markdown-B71Eurda.js} +10329 -8108
  282. package/dist/marko-BlmC3dqW.js +14 -0
  283. package/dist/marko-CJBA24Ri.js +2 -2
  284. package/dist/material-theme-CjsSdYF2.js +4 -0
  285. package/dist/material-theme-darker-DEk0vgdS.js +4 -0
  286. package/dist/material-theme-lighter-DEVB_7K5.js +4 -0
  287. package/dist/material-theme-ocean-DK6jm24j.js +4 -0
  288. package/dist/material-theme-palenight-CNkXNpHv.js +4 -0
  289. package/dist/mdc-C9YSUwVC.js +2 -2
  290. package/dist/mdc-CLNk3q28.js +12 -0
  291. package/dist/mdx-CiUWpBB_.js +6 -0
  292. package/dist/mermaid-GHXKKRXX-BkplG-MI.js +5 -0
  293. package/dist/metadata/toolkit-icons.d.ts.map +1 -1
  294. package/dist/metadata/toolkit-icons.js +40 -38
  295. package/dist/metadata/toolkits.d.ts.map +1 -1
  296. package/dist/metadata/toolkits.js +13 -0
  297. package/dist/min-dark-CJcHUHwu.js +4 -0
  298. package/dist/min-light-BAN2UR75.js +4 -0
  299. package/dist/monokai-BbXwpjKl.js +4 -0
  300. package/dist/night-owl-csViJ7u4.js +4 -0
  301. package/dist/night-owl-light-BC-NuMC3.js +4 -0
  302. package/dist/nim-QAjRdh9w.js +5 -5
  303. package/dist/nord-B8Sq-VQ0.js +4 -0
  304. package/dist/one-dark-pro-DTdrcl-J.js +4 -0
  305. package/dist/one-light-kPHTChCU.js +4 -0
  306. package/dist/owner-rKN292Q9.js +6 -0
  307. package/dist/perl-DkVrgJBg.js +3 -3
  308. package/dist/php-BIzsF_5x.js +4 -4
  309. package/dist/php-Kn-vgdBD.js +18 -0
  310. package/dist/plastic-DDweBgVs.js +4 -0
  311. package/dist/poimandres-Dqvs16BQ.js +4 -0
  312. package/dist/popupStateMapping-BT9Y_jIq.js +1849 -0
  313. package/dist/postcss-CwL8bLZI.js +6 -0
  314. package/dist/pug-CTOOvSEH.js +12 -0
  315. package/dist/pug-XOw9Q1Ho.js +1 -1
  316. package/dist/python-jjYlTiSH.js +6 -0
  317. package/dist/qml-rTNXsquU.js +1 -1
  318. package/dist/r-C8zl4zMO.js +6 -0
  319. package/dist/react-resizable-panels-BqIpIFl2.js +2017 -0
  320. package/dist/red-DBDwQkX-.js +4 -0
  321. package/dist/regexp-Dpy_RgoJ.js +6 -0
  322. package/dist/resolveAriaLabelledBy-B5vw-szP.js +11 -0
  323. package/dist/rose-pine-DGHrTu7e.js +4 -0
  324. package/dist/rose-pine-dawn-DfRVdapG.js +4 -0
  325. package/dist/rose-pine-moon-DFpJm5Rd.js +4 -0
  326. package/dist/rst-DM32Wy3O.js +5 -5
  327. package/dist/ruby-BeqCs27h.js +8 -8
  328. package/dist/safePolygon-CJcmMc0u.js +389 -0
  329. package/dist/safeReact-DKq-628G.js +7 -0
  330. package/dist/sas-fpEvgATw.js +1 -1
  331. package/dist/sass-BmupNt-w.js +6 -0
  332. package/dist/scss-BZYVIVaN.js +8 -0
  333. package/dist/serializeValue-BebmSzW3.js +14 -0
  334. package/dist/shellscript-fMxXshxv.js +6 -0
  335. package/dist/shellsession-DiDJNQdy.js +1 -1
  336. package/dist/slack-dark-noeC6QPl.js +4 -0
  337. package/dist/slack-ochin-3_2idqLR.js +4 -0
  338. package/dist/snazzy-light-B9cV359v.js +4 -0
  339. package/dist/solarized-dark-B6X0ILWr.js +4 -0
  340. package/dist/solarized-light-LxOemn3c.js +4 -0
  341. package/dist/sql-D30Zid36.js +6 -0
  342. package/dist/stata-B8c5fTjX.js +1 -1
  343. package/dist/styles-DU5BO7fS.js +16 -0
  344. package/dist/stylus-BoBcEBjx.js +6 -0
  345. package/dist/surrealql-CQi7GQN7.js +1 -1
  346. package/dist/svelte-b9PAcyUe.js +14 -0
  347. package/dist/svelte-rYri41WT.js +3 -3
  348. package/dist/synthwave-84-DzQeMpV0.js +4 -0
  349. package/dist/templ-Crs9Ui8q.js +1 -1
  350. package/dist/tex-AHxmLTL0.js +1 -1
  351. package/dist/tokyo-night-CLM-V_Re.js +4 -0
  352. package/dist/{toolkit-card-CB1oiaei.js → toolkit-card-DhpOY80l.js} +56 -36
  353. package/dist/ts-tags-CP1b-4Z2.js +41 -0
  354. package/dist/ts-tags-ioVe2PKw.js +5 -5
  355. package/dist/tsx-QNpb2qLW.js +6 -0
  356. package/dist/twig-DwV2Fi4L.js +2 -2
  357. package/dist/typescript-AhniRyfZ.js +6 -0
  358. package/dist/useAnimationFrame-DIc6eFHa.js +69 -0
  359. package/dist/useAriaLabelledBy-VklrCmKp.js +34 -0
  360. package/dist/useBaseUiId-C8Dq0BQq.js +25 -0
  361. package/dist/useButton-JYPKQKj4.js +150 -0
  362. package/dist/useCollapsiblePanel-9pDlDh3R.js +257 -0
  363. package/dist/useCompositeItem-D00ALGkT.js +35 -0
  364. package/dist/useCompositeListItem-CYQrZg5-.js +74 -0
  365. package/dist/useControlled-Sx-_x7Sz.js +32 -0
  366. package/dist/useFocus-Aj9ShMQu.js +97 -0
  367. package/dist/useIsoLayoutEffect-DpJo20by.js +7 -0
  368. package/dist/useLabelableId-DF_d91GP.js +44 -0
  369. package/dist/useOnFirstRender-B4aruaIA.js +9 -0
  370. package/dist/useOnMount-JHtE6teb.js +9 -0
  371. package/dist/useOpenChangeComplete-DkeH9FGJ.js +130 -0
  372. package/dist/useRender-BNXBkp2o.js +7 -0
  373. package/dist/useRenderElement-DNB2vtF1.js +274 -0
  374. package/dist/useRole-N-RCRzo1.js +76 -0
  375. package/dist/useStableCallback-CudqoENs.js +33 -0
  376. package/dist/useSyncedFloatingRootContext-Bc90zSTy.js +185 -0
  377. package/dist/useTimeout-DAqPwigF.js +33 -0
  378. package/dist/useValueAsRef-LhoZc6As.js +20 -0
  379. package/dist/useValueChanged-Bissqjjn.js +15 -0
  380. package/dist/valueToPercent-BBgE4D3L.js +27 -0
  381. package/dist/vesper-BmV7KiQ0.js +4 -0
  382. package/dist/visuallyHidden-PuyyGHVF.js +22 -0
  383. package/dist/vitesse-black-CxZz3C4s.js +4 -0
  384. package/dist/vitesse-dark-DVUJ0sy2.js +4 -0
  385. package/dist/vitesse-light-BDJohtUr.js +4 -0
  386. package/dist/vue-CY6W2ID0.js +31 -0
  387. package/dist/vue-DXEmyXn9.js +3 -3
  388. package/dist/vue-html-DYXHAJ2G.js +8 -0
  389. package/dist/vue-vine-D41-N99t.js +4 -4
  390. package/dist/vue-vine-DiWTpMwZ.js +18 -0
  391. package/dist/wasm-3y0A1Y71.js +6 -0
  392. package/dist/wasm-Dm9SFfrx.js +7 -0
  393. package/dist/web-BbvN_Lei.js +2846 -0
  394. package/dist/wgsl-SXl3EZUN.js +6 -0
  395. package/dist/wit-Cw0CTVY0.js +6 -0
  396. package/dist/xml-CNXGTZ6Z.js +8 -0
  397. package/dist/xsl-BmSZphgC.js +1 -1
  398. package/dist/yaml-DZqZ2PBD.js +6 -0
  399. package/package.json +37 -34
  400. package/dist/highlighted-body-TPN3WLV5-D6UnKGod.js +0 -19
  401. package/dist/index-0ioNhtNM.js +0 -10
  402. package/dist/index-437EL2iq.js +0 -52
  403. package/dist/index-B695uy69.js +0 -9
  404. package/dist/index-BEZCAdXQ.js +0 -1568
  405. package/dist/index-BGQepRFJ.js +0 -27
  406. package/dist/index-BZPx6jYI.js +0 -8
  407. package/dist/index-BaLuVb4t.js +0 -70
  408. package/dist/index-Bw62B28F.js +0 -31
  409. package/dist/index-By-GFSsC.js +0 -245
  410. package/dist/index-ByaXH_ih.js +0 -10
  411. package/dist/index-CCKe-Mpx.js +0 -6
  412. package/dist/index-Cv867SGx.js +0 -13
  413. package/dist/index-CvA4FcaC.js +0 -677
  414. package/dist/index-D2LZVjSn.js +0 -82
  415. package/dist/index-DFZozV_h.js +0 -68
  416. package/dist/index-DJQkmo5O.js +0 -49
  417. package/dist/index-DLohNuco.js +0 -36
  418. package/dist/index-DrFfdHac.js +0 -144
  419. package/dist/index-DrlYGDRT.js +0 -119
  420. package/dist/index-Dz8CQngS.js +0 -181
  421. package/dist/index-cd1ceFJg.js +0 -6973
  422. package/dist/index-rKs9bXHr.js +0 -6
  423. package/dist/mermaid-O7DHMXV3-gUrB-Xs1.js +0 -4
  424. package/dist/react-resizable-panels.browser-DYl0LXfw.js +0 -1510
  425. package/dist/web-BwFNdl01.js +0 -697
@@ -1,573 +1,658 @@
1
- import { jsx as h, jsxs as j, Fragment as se } from "react/jsx-runtime";
2
- import { cn as V } from "../../../lib/utils.js";
3
- import * as c from "react";
4
- import { P as L } from "../../../index-DLohNuco.js";
5
- import { P as I } from "../../../index-BaLuVb4t.js";
6
- import { c as ae } from "../../../index-DFZozV_h.js";
7
- import { u as A } from "../../../index-D2LZVjSn.js";
8
- import { u as C } from "../../../index-0ioNhtNM.js";
9
- import { u as ie } from "../../../index-ByaXH_ih.js";
10
- import { u as de } from "../../../index-CCKe-Mpx.js";
11
- import { c as ue } from "../../../index-rKs9bXHr.js";
12
- import { c as R } from "../../../index-B695uy69.js";
13
- function fe(e, o) {
14
- return c.useReducer((r, l) => o[r][l] ?? r, e);
1
+ "use client";
2
+ import { jsxs as Gt, jsx as rt } from "react/jsx-runtime";
3
+ import { cn as qt } from "../../../lib/utils.js";
4
+ import * as r from "react";
5
+ import { u as gt } from "../../../useStableCallback-CudqoENs.js";
6
+ import { u as Rt } from "../../../useTimeout-DAqPwigF.js";
7
+ import { f as Jt, u as St } from "../../../useRenderElement-DNB2vtF1.js";
8
+ import { s as Qt } from "../../../styles-DU5BO7fS.js";
9
+ import { u as de } from "../../../useBaseUiId-C8Dq0BQq.js";
10
+ import { u as he, c as ut } from "../../../clamp-BxE4ZAuA.js";
11
+ import { c as me } from "../../../element-DSo91iOi.js";
12
+ import { u as Wt } from "../../../useIsoLayoutEffect-DpJo20by.js";
13
+ import { e as pe } from "../../../detectBrowser-Dn2N72k1.js";
14
+ import { u as te } from "../../../DirectionContext-BSOheMwC.js";
15
+ const At = /* @__PURE__ */ r.createContext(void 0);
16
+ process.env.NODE_ENV !== "production" && (At.displayName = "ScrollAreaRootContext");
17
+ function Xt() {
18
+ const t = r.useContext(At);
19
+ if (t === void 0)
20
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ScrollAreaRootContext is missing. ScrollArea parts must be placed within <ScrollArea.Root>." : Jt(53));
21
+ return t;
15
22
  }
16
- var B = "ScrollArea", [q] = ae(B), [he, v] = q(B), G = c.forwardRef(
17
- (e, o) => {
18
- const {
19
- __scopeScrollArea: r,
20
- type: l = "hover",
21
- dir: t,
22
- scrollHideDelay: n = 600,
23
- ...s
24
- } = e, [a, i] = c.useState(null), [f, d] = c.useState(null), [b, u] = c.useState(null), [m, w] = c.useState(null), [x, M] = c.useState(null), [P, _] = c.useState(0), [U, D] = c.useState(0), [N, y] = c.useState(!1), [W, H] = c.useState(!1), S = A(o, (E) => i(E)), p = ie(t);
25
- return /* @__PURE__ */ h(
26
- he,
27
- {
28
- scope: r,
29
- type: l,
30
- dir: p,
31
- scrollHideDelay: n,
32
- scrollArea: a,
33
- viewport: f,
34
- onViewportChange: d,
35
- content: b,
36
- onContentChange: u,
37
- scrollbarX: m,
38
- onScrollbarXChange: w,
39
- scrollbarXEnabled: N,
40
- onScrollbarXEnabledChange: y,
41
- scrollbarY: x,
42
- onScrollbarYChange: M,
43
- scrollbarYEnabled: W,
44
- onScrollbarYEnabledChange: H,
45
- onCornerWidthChange: _,
46
- onCornerHeightChange: D,
47
- children: /* @__PURE__ */ h(
48
- L.div,
49
- {
50
- dir: p,
51
- ...s,
52
- ref: S,
53
- style: {
54
- position: "relative",
55
- // Pass corner sizes as CSS vars to reduce re-renders of context consumers
56
- "--radix-scroll-area-corner-width": P + "px",
57
- "--radix-scroll-area-corner-height": U + "px",
58
- ...e.style
59
- }
60
- }
61
- )
23
+ let Ot = /* @__PURE__ */ (function(t) {
24
+ return t.scrollAreaCornerHeight = "--scroll-area-corner-height", t.scrollAreaCornerWidth = "--scroll-area-corner-width", t;
25
+ })({});
26
+ const yt = 500, Ft = 16;
27
+ function N(t, e, l) {
28
+ if (!t)
29
+ return 0;
30
+ const S = getComputedStyle(t), X = l === "x" ? "Inline" : "Block";
31
+ return l === "x" && e === "margin" ? parseFloat(S[`${e}InlineStart`]) * 2 : parseFloat(S[`${e}${X}Start`]) + parseFloat(S[`${e}${X}End`]);
32
+ }
33
+ let ve = /* @__PURE__ */ (function(t) {
34
+ return t.orientation = "data-orientation", t.hovering = "data-hovering", t.scrolling = "data-scrolling", t.hasOverflowX = "data-has-overflow-x", t.hasOverflowY = "data-has-overflow-y", t.overflowXStart = "data-overflow-x-start", t.overflowXEnd = "data-overflow-x-end", t.overflowYStart = "data-overflow-y-start", t.overflowYEnd = "data-overflow-y-end", t;
35
+ })({}), ft = /* @__PURE__ */ (function(t) {
36
+ return t.scrolling = "data-scrolling", t.hasOverflowX = "data-has-overflow-x", t.hasOverflowY = "data-has-overflow-y", t.overflowXStart = "data-overflow-x-start", t.overflowXEnd = "data-overflow-x-end", t.overflowYStart = "data-overflow-y-start", t.overflowYEnd = "data-overflow-y-end", t;
37
+ })({});
38
+ const Pt = {
39
+ hasOverflowX: (t) => t ? {
40
+ [ft.hasOverflowX]: ""
41
+ } : null,
42
+ hasOverflowY: (t) => t ? {
43
+ [ft.hasOverflowY]: ""
44
+ } : null,
45
+ overflowXStart: (t) => t ? {
46
+ [ft.overflowXStart]: ""
47
+ } : null,
48
+ overflowXEnd: (t) => t ? {
49
+ [ft.overflowXEnd]: ""
50
+ } : null,
51
+ overflowYStart: (t) => t ? {
52
+ [ft.overflowYStart]: ""
53
+ } : null,
54
+ overflowYEnd: (t) => t ? {
55
+ [ft.overflowYEnd]: ""
56
+ } : null,
57
+ cornerHidden: () => null
58
+ }, we = {
59
+ x: 0,
60
+ y: 0
61
+ }, kt = {
62
+ width: 0,
63
+ height: 0
64
+ }, ge = {
65
+ xStart: !1,
66
+ xEnd: !1,
67
+ yStart: !1,
68
+ yEnd: !1
69
+ }, Se = {
70
+ x: !0,
71
+ y: !0,
72
+ corner: !0
73
+ }, ee = /* @__PURE__ */ r.forwardRef(function(e, l) {
74
+ const {
75
+ render: S,
76
+ className: X,
77
+ overflowEdgeThreshold: s,
78
+ ...a
79
+ } = e, H = Ee(s), P = de(), L = Rt(), $ = Rt(), {
80
+ nonce: M,
81
+ disableStyleElements: C
82
+ } = he(), [E, u] = r.useState(!1), [m, R] = r.useState(!1), [h, I] = r.useState(!1), [ot, K] = r.useState(!1), [Z, _] = r.useState(!1), [W, nt] = r.useState(kt), [j, G] = r.useState(kt), [O, lt] = r.useState(ge), [T, st] = r.useState(Se), o = r.useRef(null), n = r.useRef(null), x = r.useRef(null), d = r.useRef(null), b = r.useRef(null), y = r.useRef(null), f = r.useRef(null), p = r.useRef(!1), w = r.useRef(0), v = r.useRef(0), g = r.useRef(0), Et = r.useRef(0), Y = r.useRef("vertical"), V = r.useRef(we), U = gt((c) => {
83
+ const z = c.x - V.current.x, J = c.y - V.current.y;
84
+ V.current = c, J !== 0 && (I(!0), L.start(yt, () => {
85
+ I(!1);
86
+ })), z !== 0 && (R(!0), $.start(yt, () => {
87
+ R(!1);
88
+ }));
89
+ }), F = gt((c) => {
90
+ c.button === 0 && (p.current = !0, w.current = c.clientY, v.current = c.clientX, Y.current = c.currentTarget.getAttribute(ve.orientation), n.current && (g.current = n.current.scrollTop, Et.current = n.current.scrollLeft), b.current && Y.current === "vertical" && b.current.setPointerCapture(c.pointerId), y.current && Y.current === "horizontal" && y.current.setPointerCapture(c.pointerId));
91
+ }), dt = gt((c) => {
92
+ if (!p.current)
93
+ return;
94
+ const z = c.clientY - w.current, J = c.clientX - v.current;
95
+ if (n.current) {
96
+ const it = n.current.scrollHeight, ht = n.current.clientHeight, Nt = n.current.scrollWidth, mt = n.current.clientWidth;
97
+ if (b.current && x.current && Y.current === "vertical") {
98
+ const at = N(x.current, "padding", "y"), pt = N(b.current, "margin", "y"), vt = b.current.offsetHeight, Q = x.current.offsetHeight - vt - at - pt, tt = z / Q;
99
+ n.current.scrollTop = g.current + tt * (it - ht), c.preventDefault(), I(!0), L.start(yt, () => {
100
+ I(!1);
101
+ });
102
+ }
103
+ if (y.current && d.current && Y.current === "horizontal") {
104
+ const at = N(d.current, "padding", "x"), pt = N(y.current, "margin", "x"), vt = y.current.offsetWidth, Q = d.current.offsetWidth - vt - at - pt, tt = J / Q;
105
+ n.current.scrollLeft = Et.current + tt * (Nt - mt), c.preventDefault(), R(!0), $.start(yt, () => {
106
+ R(!1);
107
+ });
62
108
  }
63
- );
64
- }
65
- );
66
- G.displayName = B;
67
- var J = "ScrollAreaViewport", K = c.forwardRef(
68
- (e, o) => {
69
- const { __scopeScrollArea: r, children: l, nonce: t, ...n } = e, s = v(J, r), a = c.useRef(null), i = A(o, a, s.onViewportChange);
70
- return /* @__PURE__ */ j(se, { children: [
71
- /* @__PURE__ */ h(
72
- "style",
73
- {
74
- dangerouslySetInnerHTML: {
75
- __html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"
76
- },
77
- nonce: t
78
- }
79
- ),
80
- /* @__PURE__ */ h(
81
- L.div,
82
- {
83
- "data-radix-scroll-area-viewport": "",
84
- ...n,
85
- ref: i,
86
- style: {
87
- /**
88
- * We don't support `visible` because the intention is to have at least one scrollbar
89
- * if this component is used and `visible` will behave like `auto` in that case
90
- * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
91
- *
92
- * We don't handle `auto` because the intention is for the native implementation
93
- * to be hidden if using this component. We just want to ensure the node is scrollable
94
- * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
95
- * the browser from having to work out whether to render native scrollbars or not,
96
- * we tell it to with the intention of hiding them in CSS.
97
- */
98
- overflowX: s.scrollbarXEnabled ? "scroll" : "hidden",
99
- overflowY: s.scrollbarYEnabled ? "scroll" : "hidden",
100
- ...e.style
101
- },
102
- children: /* @__PURE__ */ h("div", { ref: s.onContentChange, style: { minWidth: "100%", display: "table" }, children: l })
103
- }
104
- )
105
- ] });
106
- }
107
- );
108
- K.displayName = J;
109
- var g = "ScrollAreaScrollbar", Q = c.forwardRef(
110
- (e, o) => {
111
- const { forceMount: r, ...l } = e, t = v(g, e.__scopeScrollArea), { onScrollbarXEnabledChange: n, onScrollbarYEnabledChange: s } = t, a = e.orientation === "horizontal";
112
- return c.useEffect(() => (a ? n(!0) : s(!0), () => {
113
- a ? n(!1) : s(!1);
114
- }), [a, n, s]), t.type === "hover" ? /* @__PURE__ */ h(be, { ...l, ref: o, forceMount: r }) : t.type === "scroll" ? /* @__PURE__ */ h(me, { ...l, ref: o, forceMount: r }) : t.type === "auto" ? /* @__PURE__ */ h(Z, { ...l, ref: o, forceMount: r }) : t.type === "always" ? /* @__PURE__ */ h(k, { ...l, ref: o }) : null;
115
- }
116
- );
117
- Q.displayName = g;
118
- var be = c.forwardRef((e, o) => {
119
- const { forceMount: r, ...l } = e, t = v(g, e.__scopeScrollArea), [n, s] = c.useState(!1);
120
- return c.useEffect(() => {
121
- const a = t.scrollArea;
122
- let i = 0;
123
- if (a) {
124
- const f = () => {
125
- window.clearTimeout(i), s(!0);
126
- }, d = () => {
127
- i = window.setTimeout(() => s(!1), t.scrollHideDelay);
128
- };
129
- return a.addEventListener("pointerenter", f), a.addEventListener("pointerleave", d), () => {
130
- window.clearTimeout(i), a.removeEventListener("pointerenter", f), a.removeEventListener("pointerleave", d);
131
- };
132
109
  }
133
- }, [t.scrollArea, t.scrollHideDelay]), /* @__PURE__ */ h(I, { present: r || n, children: /* @__PURE__ */ h(
134
- Z,
135
- {
136
- "data-state": n ? "visible" : "hidden",
137
- ...l,
138
- ref: o
110
+ }), ct = gt((c) => {
111
+ p.current = !1, b.current && Y.current === "vertical" && b.current.releasePointerCapture(c.pointerId), y.current && Y.current === "horizontal" && y.current.releasePointerCapture(c.pointerId);
112
+ });
113
+ function k(c) {
114
+ K(c.pointerType === "touch");
115
+ }
116
+ function xt(c) {
117
+ if (k(c), c.pointerType !== "touch") {
118
+ const z = me(o.current, c.target);
119
+ u(z);
139
120
  }
140
- ) });
141
- }), me = c.forwardRef((e, o) => {
142
- const { forceMount: r, ...l } = e, t = v(g, e.__scopeScrollArea), n = e.orientation === "horizontal", s = Y(() => i("SCROLL_END"), 100), [a, i] = fe("hidden", {
143
- hidden: {
144
- SCROLL: "scrolling"
145
- },
146
- scrolling: {
147
- SCROLL_END: "idle",
148
- POINTER_ENTER: "interacting"
149
- },
150
- interacting: {
151
- SCROLL: "interacting",
152
- POINTER_LEAVE: "idle"
121
+ }
122
+ const q = r.useMemo(() => ({
123
+ scrolling: m || h,
124
+ hasOverflowX: !T.x,
125
+ hasOverflowY: !T.y,
126
+ overflowXStart: O.xStart,
127
+ overflowXEnd: O.xEnd,
128
+ overflowYStart: O.yStart,
129
+ overflowYEnd: O.yEnd,
130
+ cornerHidden: T.corner
131
+ }), [m, h, T.x, T.y, T.corner, O]), A = {
132
+ role: "presentation",
133
+ onPointerEnter: xt,
134
+ onPointerMove: xt,
135
+ onPointerDown: k,
136
+ onPointerLeave() {
137
+ u(!1);
153
138
  },
154
- idle: {
155
- HIDE: "hidden",
156
- SCROLL: "scrolling",
157
- POINTER_ENTER: "interacting"
139
+ style: {
140
+ position: "relative",
141
+ [Ot.scrollAreaCornerHeight]: `${W.height}px`,
142
+ [Ot.scrollAreaCornerWidth]: `${W.width}px`
158
143
  }
144
+ }, D = St("div", e, {
145
+ state: q,
146
+ ref: [l, o],
147
+ props: [A, a],
148
+ stateAttributesMapping: Pt
149
+ }), Tt = r.useMemo(() => ({
150
+ handlePointerDown: F,
151
+ handlePointerMove: dt,
152
+ handlePointerUp: ct,
153
+ handleScroll: U,
154
+ cornerSize: W,
155
+ setCornerSize: nt,
156
+ thumbSize: j,
157
+ setThumbSize: G,
158
+ hasMeasuredScrollbar: Z,
159
+ setHasMeasuredScrollbar: _,
160
+ touchModality: ot,
161
+ cornerRef: f,
162
+ scrollingX: m,
163
+ setScrollingX: R,
164
+ scrollingY: h,
165
+ setScrollingY: I,
166
+ hovering: E,
167
+ setHovering: u,
168
+ viewportRef: n,
169
+ rootRef: o,
170
+ scrollbarYRef: x,
171
+ scrollbarXRef: d,
172
+ thumbYRef: b,
173
+ thumbXRef: y,
174
+ rootId: P,
175
+ hiddenState: T,
176
+ setHiddenState: st,
177
+ overflowEdges: O,
178
+ setOverflowEdges: lt,
179
+ viewportState: q,
180
+ overflowEdgeThreshold: H
181
+ }), [F, dt, ct, U, W, j, Z, ot, m, R, h, I, E, u, P, T, O, q, H]);
182
+ return /* @__PURE__ */ Gt(At.Provider, {
183
+ value: Tt,
184
+ children: [!C && Qt.getElement(M), D]
159
185
  });
160
- return c.useEffect(() => {
161
- if (a === "idle") {
162
- const f = window.setTimeout(() => i("HIDE"), t.scrollHideDelay);
163
- return () => window.clearTimeout(f);
164
- }
165
- }, [a, t.scrollHideDelay, i]), c.useEffect(() => {
166
- const f = t.viewport, d = n ? "scrollLeft" : "scrollTop";
167
- if (f) {
168
- let b = f[d];
169
- const u = () => {
170
- const m = f[d];
171
- b !== m && (i("SCROLL"), s()), b = m;
172
- };
173
- return f.addEventListener("scroll", u), () => f.removeEventListener("scroll", u);
186
+ });
187
+ process.env.NODE_ENV !== "production" && (ee.displayName = "ScrollAreaRoot");
188
+ function Ee(t) {
189
+ if (typeof t == "number") {
190
+ const e = Math.max(0, t);
191
+ return {
192
+ xStart: e,
193
+ xEnd: e,
194
+ yStart: e,
195
+ yEnd: e
196
+ };
197
+ }
198
+ return {
199
+ xStart: Math.max(0, t?.xStart || 0),
200
+ xEnd: Math.max(0, t?.xEnd || 0),
201
+ yStart: Math.max(0, t?.yStart || 0),
202
+ yEnd: Math.max(0, t?.yEnd || 0)
203
+ };
204
+ }
205
+ const re = /* @__PURE__ */ r.createContext(void 0);
206
+ process.env.NODE_ENV !== "production" && (re.displayName = "ScrollAreaViewportContext");
207
+ function xe(t, e) {
208
+ if (typeof IntersectionObserver > "u")
209
+ return () => {
210
+ };
211
+ const l = new IntersectionObserver((S) => {
212
+ S.forEach((X) => {
213
+ X.intersectionRatio > 0 && (e(), l.disconnect());
214
+ });
215
+ });
216
+ return l.observe(t), () => {
217
+ l.disconnect();
218
+ };
219
+ }
220
+ let B = /* @__PURE__ */ (function(t) {
221
+ return t.scrollAreaOverflowXStart = "--scroll-area-overflow-x-start", t.scrollAreaOverflowXEnd = "--scroll-area-overflow-x-end", t.scrollAreaOverflowYStart = "--scroll-area-overflow-y-start", t.scrollAreaOverflowYEnd = "--scroll-area-overflow-y-end", t;
222
+ })({});
223
+ const Bt = 1;
224
+ function Kt(t, e) {
225
+ if (e <= 0)
226
+ return 0;
227
+ const l = ut(t, 0, e), S = l, X = e - l, s = S <= Bt, a = X <= Bt;
228
+ return s && a ? S <= X ? 0 : e : s ? 0 : a ? e : l;
229
+ }
230
+ let Zt = !1;
231
+ const jt = typeof ResizeObserver < "u";
232
+ function be() {
233
+ Zt || // When `inherits: false`, specifying `inherit` on child elements doesn't work
234
+ // in Safari. To let CSS features work correctly, this optimization must be skipped.
235
+ pe || (typeof CSS < "u" && "registerProperty" in CSS && [B.scrollAreaOverflowXStart, B.scrollAreaOverflowXEnd, B.scrollAreaOverflowYStart, B.scrollAreaOverflowYEnd].forEach((t) => {
236
+ try {
237
+ CSS.registerProperty({
238
+ name: t,
239
+ syntax: "<length>",
240
+ inherits: !1,
241
+ initialValue: "0px"
242
+ });
243
+ } catch {
174
244
  }
175
- }, [t.viewport, n, i, s]), /* @__PURE__ */ h(I, { present: r || a !== "hidden", children: /* @__PURE__ */ h(
176
- k,
177
- {
178
- "data-state": a === "hidden" ? "hidden" : "visible",
179
- ...l,
180
- ref: o,
181
- onPointerEnter: R(e.onPointerEnter, () => i("POINTER_ENTER")),
182
- onPointerLeave: R(e.onPointerLeave, () => i("POINTER_LEAVE"))
245
+ }), Zt = !0);
246
+ }
247
+ const oe = /* @__PURE__ */ r.forwardRef(function(e, l) {
248
+ const {
249
+ render: S,
250
+ className: X,
251
+ ...s
252
+ } = e, {
253
+ viewportRef: a,
254
+ scrollbarYRef: H,
255
+ scrollbarXRef: P,
256
+ thumbYRef: L,
257
+ thumbXRef: $,
258
+ cornerRef: M,
259
+ cornerSize: C,
260
+ setCornerSize: E,
261
+ setThumbSize: u,
262
+ rootId: m,
263
+ setHiddenState: R,
264
+ hiddenState: h,
265
+ setHasMeasuredScrollbar: I,
266
+ handleScroll: ot,
267
+ setHovering: K,
268
+ setOverflowEdges: Z,
269
+ overflowEdges: _,
270
+ overflowEdgeThreshold: W,
271
+ scrollingX: nt,
272
+ scrollingY: j
273
+ } = Xt(), G = te(), O = r.useRef(!0), lt = r.useRef([NaN, NaN, NaN, NaN]), T = Rt(), st = Rt(), o = gt(() => {
274
+ const f = a.current, p = H.current, w = P.current, v = L.current, g = $.current, Et = M.current;
275
+ if (!f)
276
+ return;
277
+ const Y = f.scrollHeight, V = f.scrollWidth, U = f.clientHeight, F = f.clientWidth, dt = f.scrollTop, ct = f.scrollLeft, k = lt.current, xt = Number.isNaN(k[0]);
278
+ if (k[0] = U, k[1] = Y, k[2] = F, k[3] = V, xt && I(!0), Y === 0 || V === 0)
279
+ return;
280
+ const q = ye(f), A = q.y, D = q.x, Tt = F / V, c = U / Y, z = Math.max(0, V - F), J = Math.max(0, Y - U);
281
+ let it = 0, ht = 0;
282
+ if (!D) {
283
+ let i = 0;
284
+ G === "rtl" ? i = ut(-ct, 0, z) : i = ut(ct, 0, z), it = Kt(i, z), ht = z - it;
183
285
  }
184
- ) });
185
- }), Z = c.forwardRef((e, o) => {
186
- const r = v(g, e.__scopeScrollArea), { forceMount: l, ...t } = e, [n, s] = c.useState(!1), a = e.orientation === "horizontal", i = Y(() => {
187
- if (r.viewport) {
188
- const f = r.viewport.offsetWidth < r.viewport.scrollWidth, d = r.viewport.offsetHeight < r.viewport.scrollHeight;
189
- s(a ? f : d);
286
+ const Nt = A ? 0 : ut(dt, 0, J), mt = A ? 0 : Kt(Nt, J), at = A ? 0 : J - mt, pt = D ? 0 : F, vt = A ? 0 : U;
287
+ let Q = 0, tt = 0;
288
+ !D && !A && (Q = p?.offsetWidth || 0, tt = w?.offsetHeight || 0);
289
+ const It = C.width === 0 && C.height === 0, ce = It ? Q : 0, ie = It ? tt : 0, zt = N(w, "padding", "x"), _t = N(p, "padding", "y"), Vt = N(g, "margin", "x"), Dt = N(v, "margin", "y"), $t = pt - zt - Vt, Ut = vt - _t - Dt, ae = w ? Math.min(w.offsetWidth - ce, $t) : $t, fe = p ? Math.min(p.offsetHeight - ie, Ut) : Ut, Ht = Math.max(Ft, ae * Tt), Mt = Math.max(Ft, fe * c);
290
+ if (u((i) => i.height === Mt && i.width === Ht ? i : {
291
+ width: Ht,
292
+ height: Mt
293
+ }), p && v) {
294
+ const i = p.offsetHeight - Mt - _t - Dt, et = Y - U, bt = et === 0 ? 0 : dt / et, Ct = Math.min(i, Math.max(0, bt * i));
295
+ v.style.transform = `translate3d(0,${Ct}px,0)`;
190
296
  }
191
- }, 10);
192
- return T(r.viewport, i), T(r.content, i), /* @__PURE__ */ h(I, { present: l || n, children: /* @__PURE__ */ h(
193
- k,
194
- {
195
- "data-state": n ? "visible" : "hidden",
196
- ...t,
197
- ref: o
297
+ if (w && g) {
298
+ const i = w.offsetWidth - Ht - zt - Vt, et = V - F, bt = et === 0 ? 0 : ct / et, Ct = G === "rtl" ? ut(bt * i, -i, 0) : ut(bt * i, 0, i);
299
+ g.style.transform = `translate3d(${Ct}px,0,0)`;
198
300
  }
199
- ) });
200
- }), k = c.forwardRef((e, o) => {
201
- const { orientation: r = "vertical", ...l } = e, t = v(g, e.__scopeScrollArea), n = c.useRef(null), s = c.useRef(0), [a, i] = c.useState({
202
- content: 0,
203
- viewport: 0,
204
- scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
205
- }), f = ne(a.viewport, a.content), d = {
206
- ...l,
207
- sizes: a,
208
- onSizesChange: i,
209
- hasThumb: f > 0 && f < 1,
210
- onThumbChange: (u) => n.current = u,
211
- onThumbPointerUp: () => s.current = 0,
212
- onThumbPointerDown: (u) => s.current = u
213
- };
214
- function b(u, m) {
215
- return Pe(u, s.current, a, m);
301
+ const ue = [[B.scrollAreaOverflowXStart, it], [B.scrollAreaOverflowXEnd, ht], [B.scrollAreaOverflowYStart, mt], [B.scrollAreaOverflowYEnd, at]];
302
+ for (const [i, et] of ue)
303
+ f.style.setProperty(i, `${et}px`);
304
+ Et && (D || A ? E({
305
+ width: 0,
306
+ height: 0
307
+ }) : !D && !A && E({
308
+ width: Q,
309
+ height: tt
310
+ })), R((i) => Re(i, q));
311
+ const wt = {
312
+ xStart: !D && it > W.xStart,
313
+ xEnd: !D && ht > W.xEnd,
314
+ yStart: !A && mt > W.yStart,
315
+ yEnd: !A && at > W.yEnd
316
+ };
317
+ Z((i) => i.xStart === wt.xStart && i.xEnd === wt.xEnd && i.yStart === wt.yStart && i.yEnd === wt.yEnd ? i : wt);
318
+ });
319
+ Wt(() => {
320
+ if (a.current && (be(), !jt))
321
+ return xe(a.current, () => {
322
+ o();
323
+ });
324
+ }, [o, a]), Wt(() => {
325
+ queueMicrotask(o);
326
+ }, [o, h, G]), Wt(() => {
327
+ a.current?.matches(":hover") && K(!0);
328
+ }, [a, K]), r.useEffect(() => {
329
+ const f = a.current;
330
+ if (!jt || !f)
331
+ return;
332
+ let p = !1;
333
+ const w = new ResizeObserver(() => {
334
+ if (!p) {
335
+ p = !0;
336
+ const v = lt.current;
337
+ if (v[0] === f.clientHeight && v[1] === f.scrollHeight && v[2] === f.clientWidth && v[3] === f.scrollWidth)
338
+ return;
339
+ }
340
+ o();
341
+ });
342
+ return w.observe(f), st.start(0, () => {
343
+ const v = f.getAnimations({
344
+ subtree: !0
345
+ });
346
+ v.length !== 0 && Promise.allSettled(v.map((g) => g.finished)).then(o).catch(() => {
347
+ });
348
+ }), () => {
349
+ w.disconnect(), st.clear();
350
+ };
351
+ }, [o, a, st]);
352
+ function n() {
353
+ O.current = !1;
216
354
  }
217
- return r === "horizontal" ? /* @__PURE__ */ h(
218
- Se,
219
- {
220
- ...d,
221
- ref: o,
222
- onThumbPositionChange: () => {
223
- if (t.viewport && n.current) {
224
- const u = t.viewport.scrollLeft, m = $(u, a, t.dir);
225
- n.current.style.transform = `translate3d(${m}px, 0, 0)`;
226
- }
227
- },
228
- onWheelScroll: (u) => {
229
- t.viewport && (t.viewport.scrollLeft = u);
230
- },
231
- onDragScroll: (u) => {
232
- t.viewport && (t.viewport.scrollLeft = b(u, t.dir));
355
+ const x = {
356
+ role: "presentation",
357
+ ...m && {
358
+ "data-id": `${m}-viewport`
359
+ },
360
+ // https://accessibilityinsights.io/info-examples/web/scrollable-region-focusable/
361
+ // Keep non-scrollable viewports out of tab order.
362
+ tabIndex: h.x && h.y ? -1 : 0,
363
+ className: Qt.className,
364
+ style: {
365
+ overflow: "scroll"
366
+ },
367
+ onScroll() {
368
+ a.current && (o(), O.current || ot({
369
+ x: a.current.scrollLeft,
370
+ y: a.current.scrollTop
371
+ }), T.start(100, () => {
372
+ O.current = !0;
373
+ }));
374
+ },
375
+ onWheel: n,
376
+ onTouchMove: n,
377
+ onPointerMove: n,
378
+ onPointerEnter: n,
379
+ onKeyDown: n
380
+ }, d = r.useMemo(() => ({
381
+ scrolling: nt || j,
382
+ hasOverflowX: !h.x,
383
+ hasOverflowY: !h.y,
384
+ overflowXStart: _.xStart,
385
+ overflowXEnd: _.xEnd,
386
+ overflowYStart: _.yStart,
387
+ overflowYEnd: _.yEnd,
388
+ cornerHidden: h.corner
389
+ }), [nt, j, h.x, h.y, h.corner, _]), b = St("div", e, {
390
+ ref: [l, a],
391
+ state: d,
392
+ props: [x, s],
393
+ stateAttributesMapping: Pt
394
+ }), y = r.useMemo(() => ({
395
+ computeThumbPosition: o
396
+ }), [o]);
397
+ return /* @__PURE__ */ rt(re.Provider, {
398
+ value: y,
399
+ children: b
400
+ });
401
+ });
402
+ process.env.NODE_ENV !== "production" && (oe.displayName = "ScrollAreaViewport");
403
+ function ye(t) {
404
+ const e = t.clientHeight >= t.scrollHeight, l = t.clientWidth >= t.scrollWidth;
405
+ return {
406
+ y: e,
407
+ x: l,
408
+ corner: e || l
409
+ };
410
+ }
411
+ function Re(t, e) {
412
+ return t.y === e.y && t.x === e.x && t.corner === e.corner ? t : e;
413
+ }
414
+ const Lt = /* @__PURE__ */ r.createContext(void 0);
415
+ process.env.NODE_ENV !== "production" && (Lt.displayName = "ScrollAreaScrollbarContext");
416
+ function Oe() {
417
+ const t = r.useContext(Lt);
418
+ if (t === void 0)
419
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ScrollAreaScrollbarContext is missing. ScrollAreaScrollbar parts must be placed within <ScrollArea.Scrollbar>." : Jt(54));
420
+ return t;
421
+ }
422
+ let Yt = /* @__PURE__ */ (function(t) {
423
+ return t.scrollAreaThumbHeight = "--scroll-area-thumb-height", t.scrollAreaThumbWidth = "--scroll-area-thumb-width", t;
424
+ })({});
425
+ const ne = /* @__PURE__ */ r.forwardRef(function(e, l) {
426
+ const {
427
+ render: S,
428
+ className: X,
429
+ orientation: s = "vertical",
430
+ keepMounted: a = !1,
431
+ ...H
432
+ } = e, {
433
+ hovering: P,
434
+ scrollingX: L,
435
+ scrollingY: $,
436
+ hiddenState: M,
437
+ overflowEdges: C,
438
+ scrollbarYRef: E,
439
+ scrollbarXRef: u,
440
+ viewportRef: m,
441
+ thumbYRef: R,
442
+ thumbXRef: h,
443
+ handlePointerDown: I,
444
+ handlePointerUp: ot,
445
+ rootId: K,
446
+ thumbSize: Z,
447
+ hasMeasuredScrollbar: _
448
+ } = Xt(), W = {
449
+ hovering: P,
450
+ scrolling: {
451
+ horizontal: L,
452
+ vertical: $
453
+ }[s],
454
+ orientation: s,
455
+ hasOverflowX: !M.x,
456
+ hasOverflowY: !M.y,
457
+ overflowXStart: C.xStart,
458
+ overflowXEnd: C.xEnd,
459
+ overflowYStart: C.yStart,
460
+ overflowYEnd: C.yEnd,
461
+ cornerHidden: M.corner
462
+ }, nt = te(), j = !_ && !a;
463
+ r.useEffect(() => {
464
+ const o = m.current, n = s === "vertical" ? E.current : u.current;
465
+ if (!n)
466
+ return;
467
+ function x(d) {
468
+ if (!(!o || !n || d.ctrlKey)) {
469
+ if (d.preventDefault(), s === "vertical") {
470
+ if (o.scrollTop === 0 && d.deltaY < 0)
471
+ return;
472
+ } else if (o.scrollLeft === 0 && d.deltaX < 0)
473
+ return;
474
+ if (s === "vertical") {
475
+ if (o.scrollTop === o.scrollHeight - o.clientHeight && d.deltaY > 0)
476
+ return;
477
+ } else if (o.scrollLeft === o.scrollWidth - o.clientWidth && d.deltaX > 0)
478
+ return;
479
+ s === "vertical" ? o.scrollTop += d.deltaY : o.scrollLeft += d.deltaX;
233
480
  }
234
481
  }
235
- ) : r === "vertical" ? /* @__PURE__ */ h(
236
- ve,
237
- {
238
- ...d,
239
- ref: o,
240
- onThumbPositionChange: () => {
241
- if (t.viewport && n.current) {
242
- const u = t.viewport.scrollTop, m = $(u, a);
243
- n.current.style.transform = `translate3d(0, ${m}px, 0)`;
482
+ return n.addEventListener("wheel", x, {
483
+ passive: !1
484
+ }), () => {
485
+ n.removeEventListener("wheel", x);
486
+ };
487
+ }, [s, u, E, m]);
488
+ const G = {
489
+ ...K && {
490
+ "data-id": `${K}-scrollbar`
491
+ },
492
+ onPointerDown(o) {
493
+ if (o.button === 0 && o.currentTarget === o.target && m.current) {
494
+ if (R.current && E.current && s === "vertical") {
495
+ const n = N(R.current, "margin", "y"), x = N(E.current, "padding", "y"), d = R.current.offsetHeight, b = E.current.getBoundingClientRect(), y = o.clientY - b.top - d / 2 - x + n / 2, f = m.current.scrollHeight, p = m.current.clientHeight, w = E.current.offsetHeight - d - x - n, g = y / w * (f - p);
496
+ m.current.scrollTop = g;
244
497
  }
245
- },
246
- onWheelScroll: (u) => {
247
- t.viewport && (t.viewport.scrollTop = u);
248
- },
249
- onDragScroll: (u) => {
250
- t.viewport && (t.viewport.scrollTop = b(u));
251
- }
252
- }
253
- ) : null;
254
- }), Se = c.forwardRef((e, o) => {
255
- const { sizes: r, onSizesChange: l, ...t } = e, n = v(g, e.__scopeScrollArea), [s, a] = c.useState(), i = c.useRef(null), f = A(o, i, n.onScrollbarXChange);
256
- return c.useEffect(() => {
257
- i.current && a(getComputedStyle(i.current));
258
- }, [i]), /* @__PURE__ */ h(
259
- re,
260
- {
261
- "data-orientation": "horizontal",
262
- ...t,
263
- ref: f,
264
- sizes: r,
265
- style: {
266
- bottom: 0,
267
- left: n.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
268
- right: n.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
269
- "--radix-scroll-area-thumb-width": X(r) + "px",
270
- ...e.style
271
- },
272
- onThumbPointerDown: (d) => e.onThumbPointerDown(d.x),
273
- onDragScroll: (d) => e.onDragScroll(d.x),
274
- onWheelScroll: (d, b) => {
275
- if (n.viewport) {
276
- const u = n.viewport.scrollLeft + d.deltaX;
277
- e.onWheelScroll(u), ce(u, b) && d.preventDefault();
498
+ if (h.current && u.current && s === "horizontal") {
499
+ const n = N(h.current, "margin", "x"), x = N(u.current, "padding", "x"), d = h.current.offsetWidth, b = u.current.getBoundingClientRect(), y = o.clientX - b.left - d / 2 - x + n / 2, f = m.current.scrollWidth, p = m.current.clientWidth, w = u.current.offsetWidth - d - x - n, v = y / w;
500
+ let g;
501
+ nt === "rtl" ? (g = (1 - v) * (f - p), m.current.scrollLeft <= 0 && (g = -g)) : g = v * (f - p), m.current.scrollLeft = g;
278
502
  }
279
- },
280
- onResize: () => {
281
- i.current && n.viewport && s && l({
282
- content: n.viewport.scrollWidth,
283
- viewport: n.viewport.offsetWidth,
284
- scrollbar: {
285
- size: i.current.clientWidth,
286
- paddingStart: O(s.paddingLeft),
287
- paddingEnd: O(s.paddingRight)
288
- }
289
- });
503
+ I(o);
290
504
  }
291
- }
292
- );
293
- }), ve = c.forwardRef((e, o) => {
294
- const { sizes: r, onSizesChange: l, ...t } = e, n = v(g, e.__scopeScrollArea), [s, a] = c.useState(), i = c.useRef(null), f = A(o, i, n.onScrollbarYChange);
295
- return c.useEffect(() => {
296
- i.current && a(getComputedStyle(i.current));
297
- }, [i]), /* @__PURE__ */ h(
298
- re,
299
- {
300
- "data-orientation": "vertical",
301
- ...t,
302
- ref: f,
303
- sizes: r,
304
- style: {
505
+ },
506
+ onPointerUp: ot,
507
+ style: {
508
+ position: "absolute",
509
+ touchAction: "none",
510
+ WebkitUserSelect: "none",
511
+ userSelect: "none",
512
+ visibility: j ? "hidden" : void 0,
513
+ ...s === "vertical" && {
305
514
  top: 0,
306
- right: n.dir === "ltr" ? 0 : void 0,
307
- left: n.dir === "rtl" ? 0 : void 0,
308
- bottom: "var(--radix-scroll-area-corner-height)",
309
- "--radix-scroll-area-thumb-height": X(r) + "px",
310
- ...e.style
515
+ bottom: `var(${Ot.scrollAreaCornerHeight})`,
516
+ insetInlineEnd: 0,
517
+ [Yt.scrollAreaThumbHeight]: `${Z.height}px`
311
518
  },
312
- onThumbPointerDown: (d) => e.onThumbPointerDown(d.y),
313
- onDragScroll: (d) => e.onDragScroll(d.y),
314
- onWheelScroll: (d, b) => {
315
- if (n.viewport) {
316
- const u = n.viewport.scrollTop + d.deltaY;
317
- e.onWheelScroll(u), ce(u, b) && d.preventDefault();
318
- }
319
- },
320
- onResize: () => {
321
- i.current && n.viewport && s && l({
322
- content: n.viewport.scrollHeight,
323
- viewport: n.viewport.offsetHeight,
324
- scrollbar: {
325
- size: i.current.clientHeight,
326
- paddingStart: O(s.paddingTop),
327
- paddingEnd: O(s.paddingBottom)
328
- }
329
- });
519
+ ...s === "horizontal" && {
520
+ insetInlineStart: 0,
521
+ insetInlineEnd: `var(${Ot.scrollAreaCornerWidth})`,
522
+ bottom: 0,
523
+ [Yt.scrollAreaThumbWidth]: `${Z.width}px`
330
524
  }
331
525
  }
332
- );
333
- }), [pe, ee] = q(g), re = c.forwardRef((e, o) => {
526
+ }, O = St("div", e, {
527
+ ref: [l, s === "vertical" ? E : u],
528
+ state: W,
529
+ props: [G, H],
530
+ stateAttributesMapping: Pt
531
+ }), lt = r.useMemo(() => ({
532
+ orientation: s
533
+ }), [s]), T = s === "vertical" ? M.y : M.x;
534
+ return a || !T ? /* @__PURE__ */ rt(Lt.Provider, {
535
+ value: lt,
536
+ children: O
537
+ }) : null;
538
+ });
539
+ process.env.NODE_ENV !== "production" && (ne.displayName = "ScrollAreaScrollbar");
540
+ const le = /* @__PURE__ */ r.forwardRef(function(e, l) {
334
541
  const {
335
- __scopeScrollArea: r,
336
- sizes: l,
337
- hasThumb: t,
338
- onThumbChange: n,
339
- onThumbPointerUp: s,
340
- onThumbPointerDown: a,
341
- onThumbPositionChange: i,
342
- onDragScroll: f,
343
- onWheelScroll: d,
344
- onResize: b,
345
- ...u
346
- } = e, m = v(g, r), [w, x] = c.useState(null), M = A(o, (S) => x(S)), P = c.useRef(null), _ = c.useRef(""), U = m.viewport, D = l.content - l.viewport, N = C(d), y = C(i), W = Y(b, 10);
347
- function H(S) {
348
- if (P.current) {
349
- const p = S.clientX - P.current.left, E = S.clientY - P.current.top;
350
- f({ x: p, y: E });
351
- }
352
- }
353
- return c.useEffect(() => {
354
- const S = (p) => {
355
- const E = p.target;
356
- w?.contains(E) && N(p, D);
357
- };
358
- return document.addEventListener("wheel", S, { passive: !1 }), () => document.removeEventListener("wheel", S, { passive: !1 });
359
- }, [U, w, D, N]), c.useEffect(y, [l, y]), T(w, W), T(m.content, W), /* @__PURE__ */ h(
360
- pe,
361
- {
362
- scope: r,
363
- scrollbar: w,
364
- hasThumb: t,
365
- onThumbChange: C(n),
366
- onThumbPointerUp: C(s),
367
- onThumbPositionChange: y,
368
- onThumbPointerDown: C(a),
369
- children: /* @__PURE__ */ h(
370
- L.div,
371
- {
372
- ...u,
373
- ref: M,
374
- style: { position: "absolute", ...u.style },
375
- onPointerDown: R(e.onPointerDown, (S) => {
376
- S.button === 0 && (S.target.setPointerCapture(S.pointerId), P.current = w.getBoundingClientRect(), _.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", m.viewport && (m.viewport.style.scrollBehavior = "auto"), H(S));
377
- }),
378
- onPointerMove: R(e.onPointerMove, H),
379
- onPointerUp: R(e.onPointerUp, (S) => {
380
- const p = S.target;
381
- p.hasPointerCapture(S.pointerId) && p.releasePointerCapture(S.pointerId), document.body.style.webkitUserSelect = _.current, m.viewport && (m.viewport.style.scrollBehavior = ""), P.current = null;
382
- })
383
- }
384
- )
385
- }
386
- );
387
- }), z = "ScrollAreaThumb", oe = c.forwardRef(
388
- (e, o) => {
389
- const { forceMount: r, ...l } = e, t = ee(z, e.__scopeScrollArea);
390
- return /* @__PURE__ */ h(I, { present: r || t.hasThumb, children: /* @__PURE__ */ h(we, { ref: o, ...l }) });
391
- }
392
- ), we = c.forwardRef(
393
- (e, o) => {
394
- const { __scopeScrollArea: r, style: l, ...t } = e, n = v(z, r), s = ee(z, r), { onThumbPositionChange: a } = s, i = A(
395
- o,
396
- (b) => s.onThumbChange(b)
397
- ), f = c.useRef(void 0), d = Y(() => {
398
- f.current && (f.current(), f.current = void 0);
399
- }, 100);
400
- return c.useEffect(() => {
401
- const b = n.viewport;
402
- if (b) {
403
- const u = () => {
404
- if (d(), !f.current) {
405
- const m = Ce(b, a);
406
- f.current = m, a();
407
- }
408
- };
409
- return a(), b.addEventListener("scroll", u), () => b.removeEventListener("scroll", u);
410
- }
411
- }, [n.viewport, d, a]), /* @__PURE__ */ h(
412
- L.div,
413
- {
414
- "data-state": s.hasThumb ? "visible" : "hidden",
415
- ...t,
416
- ref: i,
417
- style: {
418
- width: "var(--radix-scroll-area-thumb-width)",
419
- height: "var(--radix-scroll-area-thumb-height)",
420
- ...l
542
+ render: S,
543
+ className: X,
544
+ ...s
545
+ } = e, {
546
+ thumbYRef: a,
547
+ thumbXRef: H,
548
+ handlePointerDown: P,
549
+ handlePointerMove: L,
550
+ handlePointerUp: $,
551
+ setScrollingX: M,
552
+ setScrollingY: C,
553
+ hasMeasuredScrollbar: E
554
+ } = Xt(), {
555
+ orientation: u
556
+ } = Oe();
557
+ return St("div", e, {
558
+ ref: [l, u === "vertical" ? a : H],
559
+ state: {
560
+ orientation: u
561
+ },
562
+ props: [{
563
+ onPointerDown: P,
564
+ onPointerMove: L,
565
+ onPointerUp(h) {
566
+ u === "vertical" && C(!1), u === "horizontal" && M(!1), $(h);
567
+ },
568
+ style: {
569
+ visibility: E ? void 0 : "hidden",
570
+ ...u === "vertical" && {
571
+ height: `var(${Yt.scrollAreaThumbHeight})`
421
572
  },
422
- onPointerDownCapture: R(e.onPointerDownCapture, (b) => {
423
- const m = b.target.getBoundingClientRect(), w = b.clientX - m.left, x = b.clientY - m.top;
424
- s.onThumbPointerDown({ x: w, y: x });
425
- }),
426
- onPointerUp: R(e.onPointerUp, s.onThumbPointerUp)
573
+ ...u === "horizontal" && {
574
+ width: `var(${Yt.scrollAreaThumbWidth})`
575
+ }
427
576
  }
428
- );
429
- }
430
- );
431
- oe.displayName = z;
432
- var F = "ScrollAreaCorner", te = c.forwardRef(
433
- (e, o) => {
434
- const r = v(F, e.__scopeScrollArea), l = !!(r.scrollbarX && r.scrollbarY);
435
- return r.type !== "scroll" && l ? /* @__PURE__ */ h(ge, { ...e, ref: o }) : null;
436
- }
437
- );
438
- te.displayName = F;
439
- var ge = c.forwardRef((e, o) => {
440
- const { __scopeScrollArea: r, ...l } = e, t = v(F, r), [n, s] = c.useState(0), [a, i] = c.useState(0), f = !!(n && a);
441
- return T(t.scrollbarX, () => {
442
- const d = t.scrollbarX?.offsetHeight || 0;
443
- t.onCornerHeightChange(d), i(d);
444
- }), T(t.scrollbarY, () => {
445
- const d = t.scrollbarY?.offsetWidth || 0;
446
- t.onCornerWidthChange(d), s(d);
447
- }), f ? /* @__PURE__ */ h(
448
- L.div,
449
- {
450
- ...l,
451
- ref: o,
577
+ }, s]
578
+ });
579
+ });
580
+ process.env.NODE_ENV !== "production" && (le.displayName = "ScrollAreaThumb");
581
+ const se = /* @__PURE__ */ r.forwardRef(function(e, l) {
582
+ const {
583
+ render: S,
584
+ className: X,
585
+ ...s
586
+ } = e, {
587
+ cornerRef: a,
588
+ cornerSize: H,
589
+ hiddenState: P
590
+ } = Xt(), L = St("div", e, {
591
+ ref: [l, a],
592
+ props: [{
452
593
  style: {
453
- width: n,
454
- height: a,
455
594
  position: "absolute",
456
- right: t.dir === "ltr" ? 0 : void 0,
457
- left: t.dir === "rtl" ? 0 : void 0,
458
595
  bottom: 0,
459
- ...e.style
596
+ insetInlineEnd: 0,
597
+ width: H.width,
598
+ height: H.height
460
599
  }
461
- }
462
- ) : null;
600
+ }, s]
601
+ });
602
+ return P.corner ? null : L;
463
603
  });
464
- function O(e) {
465
- return e ? parseInt(e, 10) : 0;
466
- }
467
- function ne(e, o) {
468
- const r = e / o;
469
- return isNaN(r) ? 0 : r;
470
- }
471
- function X(e) {
472
- const o = ne(e.viewport, e.content), r = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, l = (e.scrollbar.size - r) * o;
473
- return Math.max(l, 18);
474
- }
475
- function Pe(e, o, r, l = "ltr") {
476
- const t = X(r), n = t / 2, s = o || n, a = t - s, i = r.scrollbar.paddingStart + s, f = r.scrollbar.size - r.scrollbar.paddingEnd - a, d = r.content - r.viewport, b = l === "ltr" ? [0, d] : [d * -1, 0];
477
- return le([i, f], b)(e);
478
- }
479
- function $(e, o, r = "ltr") {
480
- const l = X(o), t = o.scrollbar.paddingStart + o.scrollbar.paddingEnd, n = o.scrollbar.size - t, s = o.content - o.viewport, a = n - l, i = r === "ltr" ? [0, s] : [s * -1, 0], f = ue(e, i);
481
- return le([0, s], [0, a])(f);
482
- }
483
- function le(e, o) {
484
- return (r) => {
485
- if (e[0] === e[1] || o[0] === o[1]) return o[0];
486
- const l = (o[1] - o[0]) / (e[1] - e[0]);
487
- return o[0] + l * (r - e[0]);
488
- };
489
- }
490
- function ce(e, o) {
491
- return e > 0 && e < o;
492
- }
493
- var Ce = (e, o = () => {
494
- }) => {
495
- let r = { left: e.scrollLeft, top: e.scrollTop }, l = 0;
496
- return (function t() {
497
- const n = { left: e.scrollLeft, top: e.scrollTop }, s = r.left !== n.left, a = r.top !== n.top;
498
- (s || a) && o(), r = n, l = window.requestAnimationFrame(t);
499
- })(), () => window.cancelAnimationFrame(l);
604
+ process.env.NODE_ENV !== "production" && (se.displayName = "ScrollAreaCorner");
605
+ const Ye = {
606
+ always: "",
607
+ auto: "",
608
+ hover: "opacity-0 data-hovering:opacity-100 data-scrolling:opacity-100 transition-opacity duration-150",
609
+ scroll: "opacity-0 data-scrolling:opacity-100 transition-opacity duration-150"
500
610
  };
501
- function Y(e, o) {
502
- const r = C(e), l = c.useRef(0);
503
- return c.useEffect(() => () => window.clearTimeout(l.current), []), c.useCallback(() => {
504
- window.clearTimeout(l.current), l.current = window.setTimeout(r, o);
505
- }, [r, o]);
506
- }
507
- function T(e, o) {
508
- const r = C(o);
509
- de(() => {
510
- let l = 0;
511
- if (e) {
512
- const t = new ResizeObserver(() => {
513
- cancelAnimationFrame(l), l = window.requestAnimationFrame(r);
514
- });
515
- return t.observe(e), () => {
516
- window.cancelAnimationFrame(l), t.unobserve(e);
517
- };
518
- }
519
- }, [e, r]);
520
- }
521
- var Re = G, Ee = K, Te = te;
522
- function Ye({
523
- className: e,
524
- children: o,
525
- viewPortClassName: r,
526
- ...l
611
+ function Ve({
612
+ className: t,
613
+ children: e,
614
+ type: l = "auto",
615
+ ...S
527
616
  }) {
528
- return /* @__PURE__ */ j(
529
- Re,
617
+ return /* @__PURE__ */ Gt(
618
+ ee,
530
619
  {
531
- className: V("relative", e),
620
+ className: qt("relative", t),
532
621
  "data-slot": "scroll-area",
533
- ...l,
622
+ ...S,
534
623
  children: [
535
- /* @__PURE__ */ h(
536
- Ee,
624
+ /* @__PURE__ */ rt(
625
+ oe,
537
626
  {
538
- className: V(
539
- "size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",
540
- r
541
- ),
627
+ className: "size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",
542
628
  "data-slot": "scroll-area-viewport",
543
- children: o
629
+ children: e
544
630
  }
545
631
  ),
546
- /* @__PURE__ */ h(Ae, {}),
547
- /* @__PURE__ */ h(Te, {})
632
+ /* @__PURE__ */ rt(Xe, { className: Ye[l] }),
633
+ /* @__PURE__ */ rt(se, {})
548
634
  ]
549
635
  }
550
636
  );
551
637
  }
552
- function Ae({
553
- className: e,
554
- orientation: o = "vertical",
555
- ...r
638
+ function Xe({
639
+ className: t,
640
+ orientation: e = "vertical",
641
+ ...l
556
642
  }) {
557
- return /* @__PURE__ */ h(
558
- Q,
643
+ return /* @__PURE__ */ rt(
644
+ ne,
559
645
  {
560
- className: V(
561
- "flex touch-none select-none p-px transition-colors",
562
- o === "vertical" && "h-full w-2.5 border-l border-l-transparent",
563
- o === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
564
- e
646
+ className: qt(
647
+ "flex touch-none select-none p-px transition-colors data-[orientation=horizontal]:h-2.5 data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent",
648
+ t
565
649
  ),
650
+ "data-orientation": e,
566
651
  "data-slot": "scroll-area-scrollbar",
567
- orientation: o,
568
- ...r,
569
- children: /* @__PURE__ */ h(
570
- oe,
652
+ orientation: e,
653
+ ...l,
654
+ children: /* @__PURE__ */ rt(
655
+ le,
571
656
  {
572
657
  className: "relative flex-1 rounded-full bg-border",
573
658
  "data-slot": "scroll-area-thumb"
@@ -577,6 +662,6 @@ function Ae({
577
662
  );
578
663
  }
579
664
  export {
580
- Ye as ScrollArea,
581
- Ae as ScrollBar
665
+ Ve as ScrollArea,
666
+ Xe as ScrollBar
582
667
  };