@arolariu/components 0.0.30 → 0.0.32

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 (476) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/components/ui/accordion.cjs +1 -1
  3. package/dist/cjs/components/ui/accordion.cjs.map +1 -1
  4. package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
  5. package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
  6. package/dist/cjs/components/ui/alert.cjs +1 -1
  7. package/dist/cjs/components/ui/alert.cjs.map +1 -1
  8. package/dist/cjs/components/ui/aspect-ratio.cjs +1 -1
  9. package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
  10. package/dist/cjs/components/ui/avatar.cjs +1 -1
  11. package/dist/cjs/components/ui/avatar.cjs.map +1 -1
  12. package/dist/cjs/components/ui/badge.cjs +1 -1
  13. package/dist/cjs/components/ui/badge.cjs.map +1 -1
  14. package/dist/cjs/components/ui/breadcrumb.cjs +1 -1
  15. package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
  16. package/dist/cjs/components/ui/button.cjs +1 -1
  17. package/dist/cjs/components/ui/button.cjs.map +1 -1
  18. package/dist/cjs/components/ui/calendar.cjs +1 -1
  19. package/dist/cjs/components/ui/calendar.cjs.map +1 -1
  20. package/dist/cjs/components/ui/card.cjs +1 -1
  21. package/dist/cjs/components/ui/card.cjs.map +1 -1
  22. package/dist/cjs/components/ui/carousel.cjs +1 -1
  23. package/dist/cjs/components/ui/carousel.cjs.map +1 -1
  24. package/dist/cjs/components/ui/chart.cjs +3 -3
  25. package/dist/cjs/components/ui/chart.cjs.map +1 -1
  26. package/dist/cjs/components/ui/checkbox.cjs +1 -1
  27. package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
  28. package/dist/cjs/components/ui/collapsible.cjs +1 -1
  29. package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
  30. package/dist/cjs/components/ui/command.cjs +1 -1
  31. package/dist/cjs/components/ui/command.cjs.map +1 -1
  32. package/dist/cjs/components/ui/context-menu.cjs +1 -1
  33. package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
  34. package/dist/cjs/components/ui/dialog.cjs +1 -1
  35. package/dist/cjs/components/ui/dialog.cjs.map +1 -1
  36. package/dist/cjs/components/ui/drawer.cjs +1 -1
  37. package/dist/cjs/components/ui/drawer.cjs.map +1 -1
  38. package/dist/cjs/components/ui/dropdown-menu.cjs +1 -1
  39. package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
  40. package/dist/cjs/components/ui/form.cjs +1 -1
  41. package/dist/cjs/components/ui/form.cjs.map +1 -1
  42. package/dist/cjs/components/ui/hover-card.cjs +1 -1
  43. package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
  44. package/dist/cjs/components/ui/input-otp.cjs +1 -1
  45. package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
  46. package/dist/cjs/components/ui/input.cjs +1 -1
  47. package/dist/cjs/components/ui/input.cjs.map +1 -1
  48. package/dist/cjs/components/ui/label.cjs +1 -1
  49. package/dist/cjs/components/ui/label.cjs.map +1 -1
  50. package/dist/cjs/components/ui/menubar.cjs +1 -1
  51. package/dist/cjs/components/ui/menubar.cjs.map +1 -1
  52. package/dist/cjs/components/ui/navigation-menu.cjs +1 -1
  53. package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
  54. package/dist/cjs/components/ui/pagination.cjs +1 -1
  55. package/dist/cjs/components/ui/pagination.cjs.map +1 -1
  56. package/dist/cjs/components/ui/popover.cjs +1 -1
  57. package/dist/cjs/components/ui/popover.cjs.map +1 -1
  58. package/dist/cjs/components/ui/progress.cjs +1 -1
  59. package/dist/cjs/components/ui/progress.cjs.map +1 -1
  60. package/dist/cjs/components/ui/radio-group.cjs +1 -1
  61. package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
  62. package/dist/cjs/components/ui/resizable.cjs +1 -1
  63. package/dist/cjs/components/ui/resizable.cjs.map +1 -1
  64. package/dist/cjs/components/ui/scroll-area.cjs +1 -1
  65. package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
  66. package/dist/cjs/components/ui/select.cjs +1 -1
  67. package/dist/cjs/components/ui/select.cjs.map +1 -1
  68. package/dist/cjs/components/ui/separator.cjs +1 -1
  69. package/dist/cjs/components/ui/separator.cjs.map +1 -1
  70. package/dist/cjs/components/ui/sheet.cjs +1 -1
  71. package/dist/cjs/components/ui/sheet.cjs.map +1 -1
  72. package/dist/cjs/components/ui/sidebar.cjs +1 -1
  73. package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
  74. package/dist/cjs/components/ui/skeleton.cjs +1 -1
  75. package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
  76. package/dist/cjs/components/ui/slider.cjs +1 -1
  77. package/dist/cjs/components/ui/slider.cjs.map +1 -1
  78. package/dist/cjs/components/ui/sonner.cjs +1 -1
  79. package/dist/cjs/components/ui/sonner.cjs.map +1 -1
  80. package/dist/cjs/components/ui/switch.cjs +1 -1
  81. package/dist/cjs/components/ui/switch.cjs.map +1 -1
  82. package/dist/cjs/components/ui/table.cjs +1 -1
  83. package/dist/cjs/components/ui/table.cjs.map +1 -1
  84. package/dist/cjs/components/ui/tabs.cjs +1 -1
  85. package/dist/cjs/components/ui/tabs.cjs.map +1 -1
  86. package/dist/cjs/components/ui/textarea.cjs +1 -1
  87. package/dist/cjs/components/ui/textarea.cjs.map +1 -1
  88. package/dist/cjs/components/ui/toggle-group.cjs +1 -1
  89. package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
  90. package/dist/cjs/components/ui/toggle.cjs +1 -1
  91. package/dist/cjs/components/ui/toggle.cjs.map +1 -1
  92. package/dist/cjs/components/ui/tooltip.cjs +1 -1
  93. package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
  94. package/dist/cjs/index.cjs +1 -1
  95. package/dist/cjs/index.css +1 -0
  96. package/dist/cjs/node_modules/@radix-ui/react-accordion/dist/index.cjs +1 -1
  97. package/dist/cjs/node_modules/@radix-ui/react-accordion/dist/index.cjs.map +1 -1
  98. package/dist/cjs/node_modules/@radix-ui/react-alert-dialog/dist/index.cjs +3 -3
  99. package/dist/cjs/node_modules/@radix-ui/react-alert-dialog/dist/index.cjs.map +1 -1
  100. package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.cjs +1 -1
  101. package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
  102. package/dist/cjs/node_modules/@radix-ui/react-aspect-ratio/dist/index.cjs +1 -1
  103. package/dist/cjs/node_modules/@radix-ui/react-aspect-ratio/dist/index.cjs.map +1 -1
  104. package/dist/cjs/node_modules/@radix-ui/react-avatar/dist/index.cjs +1 -1
  105. package/dist/cjs/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
  106. package/dist/cjs/node_modules/@radix-ui/react-checkbox/dist/index.cjs +1 -1
  107. package/dist/cjs/node_modules/@radix-ui/react-checkbox/dist/index.cjs.map +1 -1
  108. package/dist/cjs/node_modules/@radix-ui/react-collapsible/dist/index.cjs +1 -1
  109. package/dist/cjs/node_modules/@radix-ui/react-collapsible/dist/index.cjs.map +1 -1
  110. package/dist/cjs/node_modules/@radix-ui/react-collection/dist/index.cjs +1 -1
  111. package/dist/cjs/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
  112. package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.cjs +1 -1
  113. package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  114. package/dist/cjs/node_modules/@radix-ui/react-context-menu/dist/index.cjs +1 -1
  115. package/dist/cjs/node_modules/@radix-ui/react-context-menu/dist/index.cjs.map +1 -1
  116. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.cjs +2 -2
  117. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.cjs.map +1 -1
  118. package/dist/cjs/node_modules/@radix-ui/react-direction/dist/index.cjs +1 -1
  119. package/dist/cjs/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
  120. package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +1 -1
  121. package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
  122. package/dist/cjs/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +1 -1
  123. package/dist/cjs/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
  124. package/dist/cjs/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +1 -1
  125. package/dist/cjs/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
  126. package/dist/cjs/node_modules/@radix-ui/react-hover-card/dist/index.cjs +1 -1
  127. package/dist/cjs/node_modules/@radix-ui/react-hover-card/dist/index.cjs.map +1 -1
  128. package/dist/cjs/node_modules/@radix-ui/react-label/dist/index.cjs +1 -1
  129. package/dist/cjs/node_modules/@radix-ui/react-label/dist/index.cjs.map +1 -1
  130. package/dist/cjs/node_modules/@radix-ui/react-menu/dist/index.cjs +1 -1
  131. package/dist/cjs/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  132. package/dist/cjs/node_modules/@radix-ui/react-menubar/dist/index.cjs +1 -1
  133. package/dist/cjs/node_modules/@radix-ui/react-menubar/dist/index.cjs.map +1 -1
  134. package/dist/cjs/node_modules/@radix-ui/react-navigation-menu/dist/index.cjs +1 -1
  135. package/dist/cjs/node_modules/@radix-ui/react-navigation-menu/dist/index.cjs.map +1 -1
  136. package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.cjs +1 -1
  137. package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.cjs.map +1 -1
  138. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.cjs +1 -1
  139. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
  140. package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.cjs +1 -1
  141. package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
  142. package/dist/cjs/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -1
  143. package/dist/cjs/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  144. package/dist/cjs/node_modules/@radix-ui/react-progress/dist/index.cjs +2 -2
  145. package/dist/cjs/node_modules/@radix-ui/react-progress/dist/index.cjs.map +1 -1
  146. package/dist/cjs/node_modules/@radix-ui/react-radio-group/dist/index.cjs +1 -1
  147. package/dist/cjs/node_modules/@radix-ui/react-radio-group/dist/index.cjs.map +1 -1
  148. package/dist/cjs/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +1 -1
  149. package/dist/cjs/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
  150. package/dist/cjs/node_modules/@radix-ui/react-scroll-area/dist/index.cjs +1 -1
  151. package/dist/cjs/node_modules/@radix-ui/react-scroll-area/dist/index.cjs.map +1 -1
  152. package/dist/cjs/node_modules/@radix-ui/react-select/dist/index.cjs +1 -1
  153. package/dist/cjs/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
  154. package/dist/cjs/node_modules/@radix-ui/react-separator/dist/index.cjs +1 -1
  155. package/dist/cjs/node_modules/@radix-ui/react-separator/dist/index.cjs.map +1 -1
  156. package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.cjs +1 -1
  157. package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.cjs.map +1 -1
  158. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.cjs +1 -1
  159. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  160. package/dist/cjs/node_modules/@radix-ui/react-switch/dist/index.cjs +1 -1
  161. package/dist/cjs/node_modules/@radix-ui/react-switch/dist/index.cjs.map +1 -1
  162. package/dist/cjs/node_modules/@radix-ui/react-tabs/dist/index.cjs +1 -1
  163. package/dist/cjs/node_modules/@radix-ui/react-tabs/dist/index.cjs.map +1 -1
  164. package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.cjs +1 -1
  165. package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.cjs.map +1 -1
  166. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.cjs +1 -1
  167. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.cjs.map +1 -1
  168. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.cjs +1 -1
  169. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.cjs.map +1 -1
  170. package/dist/cjs/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +1 -1
  171. package/dist/cjs/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs.map +1 -1
  172. package/dist/cjs/node_modules/react-day-picker/dist/index.esm.cjs +1 -1
  173. package/dist/cjs/node_modules/react-day-picker/dist/index.esm.cjs.map +1 -1
  174. package/dist/esm/components/ui/accordion.js +20 -20
  175. package/dist/esm/components/ui/accordion.js.map +1 -1
  176. package/dist/esm/components/ui/alert-dialog.js +53 -50
  177. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  178. package/dist/esm/components/ui/alert.js +10 -10
  179. package/dist/esm/components/ui/alert.js.map +1 -1
  180. package/dist/esm/components/ui/aspect-ratio.js +4 -4
  181. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  182. package/dist/esm/components/ui/avatar.js +7 -7
  183. package/dist/esm/components/ui/avatar.js.map +1 -1
  184. package/dist/esm/components/ui/badge.js +9 -10
  185. package/dist/esm/components/ui/badge.js.map +1 -1
  186. package/dist/esm/components/ui/breadcrumb.js +36 -31
  187. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  188. package/dist/esm/components/ui/button.js +9 -10
  189. package/dist/esm/components/ui/button.js.map +1 -1
  190. package/dist/esm/components/ui/calendar.js +4 -4
  191. package/dist/esm/components/ui/calendar.js.map +1 -1
  192. package/dist/esm/components/ui/card.js +15 -12
  193. package/dist/esm/components/ui/card.js.map +1 -1
  194. package/dist/esm/components/ui/carousel.js +83 -83
  195. package/dist/esm/components/ui/carousel.js.map +1 -1
  196. package/dist/esm/components/ui/chart.js +80 -80
  197. package/dist/esm/components/ui/chart.js.map +1 -1
  198. package/dist/esm/components/ui/checkbox.js +4 -4
  199. package/dist/esm/components/ui/checkbox.js.map +1 -1
  200. package/dist/esm/components/ui/collapsible.js +10 -10
  201. package/dist/esm/components/ui/collapsible.js.map +1 -1
  202. package/dist/esm/components/ui/command.js +53 -53
  203. package/dist/esm/components/ui/command.js.map +1 -1
  204. package/dist/esm/components/ui/context-menu.js +80 -77
  205. package/dist/esm/components/ui/context-menu.js.map +1 -1
  206. package/dist/esm/components/ui/dialog.js +48 -45
  207. package/dist/esm/components/ui/dialog.js.map +1 -1
  208. package/dist/esm/components/ui/drawer.js +55 -49
  209. package/dist/esm/components/ui/drawer.js.map +1 -1
  210. package/dist/esm/components/ui/dropdown-menu.js +67 -64
  211. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  212. package/dist/esm/components/ui/form.js +44 -38
  213. package/dist/esm/components/ui/form.js.map +1 -1
  214. package/dist/esm/components/ui/hover-card.js +6 -6
  215. package/dist/esm/components/ui/hover-card.js.map +1 -1
  216. package/dist/esm/components/ui/input-otp.js +19 -19
  217. package/dist/esm/components/ui/input-otp.js.map +1 -1
  218. package/dist/esm/components/ui/input.js +2 -2
  219. package/dist/esm/components/ui/input.js.map +1 -1
  220. package/dist/esm/components/ui/label.js +4 -4
  221. package/dist/esm/components/ui/label.js.map +1 -1
  222. package/dist/esm/components/ui/menubar.js +94 -91
  223. package/dist/esm/components/ui/menubar.js.map +1 -1
  224. package/dist/esm/components/ui/navigation-menu.js +44 -44
  225. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  226. package/dist/esm/components/ui/pagination.js +39 -39
  227. package/dist/esm/components/ui/pagination.js.map +1 -1
  228. package/dist/esm/components/ui/popover.js +9 -9
  229. package/dist/esm/components/ui/popover.js.map +1 -1
  230. package/dist/esm/components/ui/progress.js +9 -9
  231. package/dist/esm/components/ui/progress.js.map +1 -1
  232. package/dist/esm/components/ui/radio-group.js +8 -8
  233. package/dist/esm/components/ui/radio-group.js.map +1 -1
  234. package/dist/esm/components/ui/resizable.js +8 -8
  235. package/dist/esm/components/ui/resizable.js.map +1 -1
  236. package/dist/esm/components/ui/scroll-area.js +22 -22
  237. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  238. package/dist/esm/components/ui/select.js +81 -78
  239. package/dist/esm/components/ui/select.js.map +1 -1
  240. package/dist/esm/components/ui/separator.js +4 -4
  241. package/dist/esm/components/ui/separator.js.map +1 -1
  242. package/dist/esm/components/ui/sheet.js +50 -44
  243. package/dist/esm/components/ui/sheet.js.map +1 -1
  244. package/dist/esm/components/ui/sidebar.js +178 -179
  245. package/dist/esm/components/ui/sidebar.js.map +1 -1
  246. package/dist/esm/components/ui/skeleton.js +8 -5
  247. package/dist/esm/components/ui/skeleton.js.map +1 -1
  248. package/dist/esm/components/ui/slider.js +21 -21
  249. package/dist/esm/components/ui/slider.js.map +1 -1
  250. package/dist/esm/components/ui/sonner.js +2 -2
  251. package/dist/esm/components/ui/sonner.js.map +1 -1
  252. package/dist/esm/components/ui/switch.js +3 -3
  253. package/dist/esm/components/ui/switch.js.map +1 -1
  254. package/dist/esm/components/ui/table.js +20 -17
  255. package/dist/esm/components/ui/table.js.map +1 -1
  256. package/dist/esm/components/ui/tabs.js +5 -5
  257. package/dist/esm/components/ui/tabs.js.map +1 -1
  258. package/dist/esm/components/ui/textarea.js +2 -2
  259. package/dist/esm/components/ui/textarea.js.map +1 -1
  260. package/dist/esm/components/ui/toggle-group.js +7 -7
  261. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  262. package/dist/esm/components/ui/toggle.js +5 -5
  263. package/dist/esm/components/ui/toggle.js.map +1 -1
  264. package/dist/esm/components/ui/tooltip.js +19 -19
  265. package/dist/esm/components/ui/tooltip.js.map +1 -1
  266. package/dist/esm/index.css +1 -0
  267. package/dist/esm/index.js +294 -293
  268. package/dist/esm/index.js.map +1 -1
  269. package/dist/esm/node_modules/@radix-ui/react-accordion/dist/index.js +74 -74
  270. package/dist/esm/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -1
  271. package/dist/esm/node_modules/@radix-ui/react-alert-dialog/dist/index.js +69 -69
  272. package/dist/esm/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -1
  273. package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.js +6 -6
  274. package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  275. package/dist/esm/node_modules/@radix-ui/react-aspect-ratio/dist/index.js +12 -12
  276. package/dist/esm/node_modules/@radix-ui/react-aspect-ratio/dist/index.js.map +1 -1
  277. package/dist/esm/node_modules/@radix-ui/react-avatar/dist/index.js +29 -29
  278. package/dist/esm/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
  279. package/dist/esm/node_modules/@radix-ui/react-checkbox/dist/index.js +62 -62
  280. package/dist/esm/node_modules/@radix-ui/react-checkbox/dist/index.js.map +1 -1
  281. package/dist/esm/node_modules/@radix-ui/react-collapsible/dist/index.js +46 -46
  282. package/dist/esm/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
  283. package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.js +26 -26
  284. package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  285. package/dist/esm/node_modules/@radix-ui/react-context/dist/index.js +21 -21
  286. package/dist/esm/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  287. package/dist/esm/node_modules/@radix-ui/react-context-menu/dist/index.js +115 -115
  288. package/dist/esm/node_modules/@radix-ui/react-context-menu/dist/index.js.map +1 -1
  289. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.js +100 -100
  290. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  291. package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.js +1 -1
  292. package/dist/esm/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +38 -38
  293. package/dist/esm/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  294. package/dist/esm/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +105 -105
  295. package/dist/esm/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
  296. package/dist/esm/node_modules/@radix-ui/react-focus-scope/dist/index.js +9 -9
  297. package/dist/esm/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  298. package/dist/esm/node_modules/@radix-ui/react-hover-card/dist/index.js +41 -41
  299. package/dist/esm/node_modules/@radix-ui/react-hover-card/dist/index.js.map +1 -1
  300. package/dist/esm/node_modules/@radix-ui/react-label/dist/index.js +3 -3
  301. package/dist/esm/node_modules/@radix-ui/react-label/dist/index.js.map +1 -1
  302. package/dist/esm/node_modules/@radix-ui/react-menu/dist/index.js +198 -198
  303. package/dist/esm/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
  304. package/dist/esm/node_modules/@radix-ui/react-menubar/dist/index.js +96 -96
  305. package/dist/esm/node_modules/@radix-ui/react-menubar/dist/index.js.map +1 -1
  306. package/dist/esm/node_modules/@radix-ui/react-navigation-menu/dist/index.js +236 -236
  307. package/dist/esm/node_modules/@radix-ui/react-navigation-menu/dist/index.js.map +1 -1
  308. package/dist/esm/node_modules/@radix-ui/react-popover/dist/index.js +90 -90
  309. package/dist/esm/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
  310. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.js +49 -49
  311. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  312. package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.js +8 -8
  313. package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  314. package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.js +10 -10
  315. package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  316. package/dist/esm/node_modules/@radix-ui/react-progress/dist/index.js +18 -18
  317. package/dist/esm/node_modules/@radix-ui/react-progress/dist/index.js.map +1 -1
  318. package/dist/esm/node_modules/@radix-ui/react-radio-group/dist/index.js +86 -86
  319. package/dist/esm/node_modules/@radix-ui/react-radio-group/dist/index.js.map +1 -1
  320. package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.js +29 -29
  321. package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  322. package/dist/esm/node_modules/@radix-ui/react-scroll-area/dist/index.js +170 -170
  323. package/dist/esm/node_modules/@radix-ui/react-scroll-area/dist/index.js.map +1 -1
  324. package/dist/esm/node_modules/@radix-ui/react-select/dist/index.js +350 -350
  325. package/dist/esm/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
  326. package/dist/esm/node_modules/@radix-ui/react-separator/dist/index.js +6 -6
  327. package/dist/esm/node_modules/@radix-ui/react-separator/dist/index.js.map +1 -1
  328. package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.js +114 -114
  329. package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.js.map +1 -1
  330. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js +14 -14
  331. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  332. package/dist/esm/node_modules/@radix-ui/react-switch/dist/index.js +48 -48
  333. package/dist/esm/node_modules/@radix-ui/react-switch/dist/index.js.map +1 -1
  334. package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.js +48 -48
  335. package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
  336. package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.js +6 -6
  337. package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.js.map +1 -1
  338. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.js +67 -71
  339. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -1
  340. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.js +97 -97
  341. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -1
  342. package/dist/esm/node_modules/@radix-ui/react-visually-hidden/dist/index.js +4 -4
  343. package/dist/esm/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -1
  344. package/dist/esm/node_modules/react-day-picker/dist/index.esm.js +483 -483
  345. package/dist/esm/node_modules/react-day-picker/dist/index.esm.js.map +1 -1
  346. package/dist/index.css +1 -0
  347. package/dist/index.js +298 -0
  348. package/dist/types/components/ui/accordion.d.ts.map +1 -1
  349. package/dist/types/components/ui/alert-dialog.d.ts.map +1 -1
  350. package/dist/types/components/ui/alert.d.ts.map +1 -1
  351. package/dist/types/components/ui/avatar.d.ts.map +1 -1
  352. package/dist/types/components/ui/badge.d.ts.map +1 -1
  353. package/dist/types/components/ui/breadcrumb.d.ts.map +1 -1
  354. package/dist/types/components/ui/button.d.ts.map +1 -1
  355. package/dist/types/components/ui/calendar.d.ts.map +1 -1
  356. package/dist/types/components/ui/card.d.ts +1 -1
  357. package/dist/types/components/ui/card.d.ts.map +1 -1
  358. package/dist/types/components/ui/carousel.d.ts +1 -1
  359. package/dist/types/components/ui/carousel.d.ts.map +1 -1
  360. package/dist/types/components/ui/chart.d.ts.map +1 -1
  361. package/dist/types/components/ui/checkbox.d.ts.map +1 -1
  362. package/dist/types/components/ui/command.d.ts +1 -1
  363. package/dist/types/components/ui/command.d.ts.map +1 -1
  364. package/dist/types/components/ui/context-menu.d.ts.map +1 -1
  365. package/dist/types/components/ui/dialog.d.ts.map +1 -1
  366. package/dist/types/components/ui/drawer.d.ts.map +1 -1
  367. package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -1
  368. package/dist/types/components/ui/form.d.ts.map +1 -1
  369. package/dist/types/components/ui/hover-card.d.ts.map +1 -1
  370. package/dist/types/components/ui/input-otp.d.ts.map +1 -1
  371. package/dist/types/components/ui/input.d.ts.map +1 -1
  372. package/dist/types/components/ui/label.d.ts.map +1 -1
  373. package/dist/types/components/ui/menubar.d.ts.map +1 -1
  374. package/dist/types/components/ui/navigation-menu.d.ts.map +1 -1
  375. package/dist/types/components/ui/pagination.d.ts +1 -1
  376. package/dist/types/components/ui/pagination.d.ts.map +1 -1
  377. package/dist/types/components/ui/popover.d.ts.map +1 -1
  378. package/dist/types/components/ui/progress.d.ts.map +1 -1
  379. package/dist/types/components/ui/radio-group.d.ts.map +1 -1
  380. package/dist/types/components/ui/resizable.d.ts.map +1 -1
  381. package/dist/types/components/ui/scroll-area.d.ts.map +1 -1
  382. package/dist/types/components/ui/select.d.ts.map +1 -1
  383. package/dist/types/components/ui/separator.d.ts.map +1 -1
  384. package/dist/types/components/ui/sheet.d.ts.map +1 -1
  385. package/dist/types/components/ui/sidebar.d.ts +5 -5
  386. package/dist/types/components/ui/sidebar.d.ts.map +1 -1
  387. package/dist/types/components/ui/skeleton.d.ts.map +1 -1
  388. package/dist/types/components/ui/slider.d.ts.map +1 -1
  389. package/dist/types/components/ui/switch.d.ts.map +1 -1
  390. package/dist/types/components/ui/table.d.ts.map +1 -1
  391. package/dist/types/components/ui/tabs.d.ts.map +1 -1
  392. package/dist/types/components/ui/textarea.d.ts.map +1 -1
  393. package/dist/types/components/ui/toggle-group.d.ts +1 -1
  394. package/dist/types/components/ui/toggle-group.d.ts.map +1 -1
  395. package/dist/types/components/ui/toggle.d.ts.map +1 -1
  396. package/dist/types/components/ui/tooltip.d.ts.map +1 -1
  397. package/package.json +237 -442
  398. package/src/components/ui/accordion.tsx +10 -11
  399. package/src/components/ui/alert-dialog.tsx +160 -157
  400. package/src/components/ui/alert.tsx +11 -9
  401. package/src/components/ui/aspect-ratio.tsx +12 -12
  402. package/src/components/ui/avatar.tsx +52 -53
  403. package/src/components/ui/badge.tsx +47 -48
  404. package/src/components/ui/breadcrumb.tsx +116 -111
  405. package/src/components/ui/button.tsx +60 -60
  406. package/src/components/ui/calendar.tsx +75 -75
  407. package/src/components/ui/card.tsx +79 -70
  408. package/src/components/ui/carousel.tsx +240 -241
  409. package/src/components/ui/chart.tsx +352 -353
  410. package/src/components/ui/checkbox.tsx +31 -32
  411. package/src/components/ui/collapsible.tsx +34 -34
  412. package/src/components/ui/command.tsx +176 -177
  413. package/src/components/ui/context-menu.tsx +254 -252
  414. package/src/components/ui/dialog.tsx +20 -18
  415. package/src/components/ui/drawer.tsx +137 -132
  416. package/src/components/ui/dropdown-menu.tsx +259 -257
  417. package/src/components/ui/form.tsx +173 -167
  418. package/src/components/ui/hover-card.tsx +41 -42
  419. package/src/components/ui/input-otp.tsx +77 -78
  420. package/src/components/ui/input.tsx +22 -23
  421. package/src/components/ui/label.tsx +23 -24
  422. package/src/components/ui/menubar.tsx +278 -276
  423. package/src/components/ui/navigation-menu.tsx +170 -170
  424. package/src/components/ui/pagination.tsx +128 -129
  425. package/src/components/ui/popover.tsx +47 -48
  426. package/src/components/ui/progress.tsx +30 -31
  427. package/src/components/ui/radio-group.tsx +44 -45
  428. package/src/components/ui/resizable.tsx +55 -56
  429. package/src/components/ui/scroll-area.tsx +57 -58
  430. package/src/components/ui/select.tsx +183 -181
  431. package/src/components/ui/separator.tsx +27 -28
  432. package/src/components/ui/sheet.tsx +144 -139
  433. package/src/components/ui/sidebar.tsx +725 -723
  434. package/src/components/ui/skeleton.tsx +17 -14
  435. package/src/components/ui/slider.tsx +62 -63
  436. package/src/components/ui/sonner.tsx +30 -30
  437. package/src/components/ui/switch.tsx +30 -31
  438. package/src/components/ui/table.tsx +118 -116
  439. package/src/components/ui/tabs.tsx +65 -66
  440. package/src/components/ui/textarea.tsx +19 -19
  441. package/src/components/ui/toggle-group.tsx +72 -73
  442. package/src/components/ui/toggle.tsx +46 -47
  443. package/src/components/ui/tooltip.tsx +60 -61
  444. package/src/index.css +3 -107
  445. package/src/index.ts +2 -0
  446. package/tailwind.config.mjs +67 -0
  447. package/tsconfig.json +50 -0
  448. package/dist/cjs/_virtual/jsx-runtime.cjs +0 -2
  449. package/dist/cjs/_virtual/jsx-runtime.cjs.map +0 -1
  450. package/dist/cjs/_virtual/jsx-runtime2.cjs +0 -2
  451. package/dist/cjs/_virtual/jsx-runtime2.cjs.map +0 -1
  452. package/dist/cjs/_virtual/react-jsx-runtime.development.cjs +0 -2
  453. package/dist/cjs/_virtual/react-jsx-runtime.development.cjs.map +0 -1
  454. package/dist/cjs/_virtual/react-jsx-runtime.production.cjs +0 -2
  455. package/dist/cjs/_virtual/react-jsx-runtime.production.cjs.map +0 -1
  456. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.cjs +0 -24
  457. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.cjs.map +0 -1
  458. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.cjs +0 -10
  459. package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.cjs.map +0 -1
  460. package/dist/cjs/node_modules/react/jsx-runtime.cjs +0 -2
  461. package/dist/cjs/node_modules/react/jsx-runtime.cjs.map +0 -1
  462. package/dist/esm/_virtual/jsx-runtime.js +0 -7
  463. package/dist/esm/_virtual/jsx-runtime.js.map +0 -1
  464. package/dist/esm/_virtual/jsx-runtime2.js +0 -6
  465. package/dist/esm/_virtual/jsx-runtime2.js.map +0 -1
  466. package/dist/esm/_virtual/react-jsx-runtime.development.js +0 -6
  467. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +0 -1
  468. package/dist/esm/_virtual/react-jsx-runtime.production.js +0 -6
  469. package/dist/esm/_virtual/react-jsx-runtime.production.js.map +0 -1
  470. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js +0 -410
  471. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  472. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.js +0 -37
  473. package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
  474. package/dist/esm/node_modules/react/jsx-runtime.js +0 -12
  475. package/dist/esm/node_modules/react/jsx-runtime.js.map +0 -1
  476. package/src/global.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// packages/react/scroll-area/src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __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}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// packages/react/scroll-area/src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __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}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const st=require("react"),it=require("react-dom"),Be=require("../../number/dist/index.cjs"),T=require("../../primitive/dist/index.cjs"),ct=require("../../react-collection/dist/index.cjs"),L=require("../../react-compose-refs/dist/index.cjs"),lt=require("../../react-context/dist/index.cjs"),at=require("../../react-direction/dist/index.cjs"),dt=require("../../react-dismissable-layer/dist/index.cjs"),ut=require("../../react-focus-guards/dist/index.cjs"),pt=require("../../react-focus-scope/dist/index.cjs"),Re=require("../../react-id/dist/index.cjs"),ee=require("../../react-popper/dist/index.cjs"),ft=require("../../react-portal/dist/index.cjs"),N=require("../../react-primitive/dist/index.cjs"),mt=require("../../react-slot/dist/index.cjs"),xt=require("../../react-use-callback-ref/dist/index.cjs"),qe=require("../../react-use-controllable-state/dist/index.cjs"),$=require("../../react-use-layout-effect/dist/index.cjs"),ht=require("../../react-use-previous/dist/index.cjs"),vt=require("../../react-visually-hidden/dist/index.cjs"),St=require("../../../aria-hidden/dist/es2015/index.cjs"),gt=require("../../../react-remove-scroll/dist/es2015/Combination.cjs"),d=require("../../../../_virtual/jsx-runtime.cjs");function Fe(o){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const l=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(c,e,l.get?l:{enumerable:!0,get:()=>o[e]})}}return c.default=o,Object.freeze(c)}const t=Fe(st),We=Fe(it);var wt=[" ","Enter","ArrowUp","ArrowDown"],Et=[" ","Enter"],se="Select",[ae,de,Ct]=ct.createCollection(se),[te,Rt]=lt.createContextScope(se,[Ct,ee.createPopperScope]),ue=ee.createPopperScope(),[yt,G]=te(se),[It,Tt]=te(se),ye=o=>{const{__scopeSelect:c,children:e,open:l,defaultOpen:r,onOpenChange:u,value:n,defaultValue:s,onValueChange:i,dir:f,name:v,autoComplete:w,disabled:P,required:y,form:C}=o,a=ue(c),[x,S]=t.useState(null),[m,h]=t.useState(null),[F,M]=t.useState(!1),oe=at.useDirection(f),[b=!1,A]=qe.useControllableState({prop:l,defaultProp:r,onChange:u}),[W,Y]=qe.useControllableState({prop:n,defaultProp:s,onChange:i}),H=t.useRef(null),k=x?C||!!x.closest("form"):!0,[U,V]=t.useState(new Set),B=Array.from(U).map(j=>j.props.value).join(";");return d.jsxRuntimeExports.jsx(ee.Root,{...a,children:d.jsxRuntimeExports.jsxs(yt,{required:y,scope:c,trigger:x,onTriggerChange:S,valueNode:m,onValueNodeChange:h,valueNodeHasChildren:F,onValueNodeHasChildrenChange:M,contentId:Re.useId(),value:W,onValueChange:Y,open:b,onOpenChange:A,dir:oe,triggerPointerDownPosRef:H,disabled:P,children:[d.jsxRuntimeExports.jsx(ae.Provider,{scope:c,children:d.jsxRuntimeExports.jsx(It,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(j=>{V(D=>new Set(D).add(j))},[]),onNativeOptionRemove:t.useCallback(j=>{V(D=>{const q=new Set(D);return q.delete(j),q})},[]),children:e})}),k?d.jsxRuntimeExports.jsxs(ot,{"aria-hidden":!0,required:y,tabIndex:-1,name:v,autoComplete:w,value:W,onChange:j=>Y(j.target.value),disabled:P,form:C,children:[W===void 0?d.jsxRuntimeExports.jsx("option",{value:""}):null,Array.from(U)]},B):null]})})};ye.displayName=se;var Ue="SelectTrigger",Ie=t.forwardRef((o,c)=>{const{__scopeSelect:e,disabled:l=!1,...r}=o,u=ue(e),n=G(Ue,e),s=n.disabled||l,i=L.useComposedRefs(c,n.onTriggerChange),f=de(e),v=t.useRef("touch"),[w,P,y]=nt(a=>{const x=f().filter(h=>!h.disabled),S=x.find(h=>h.value===n.value),m=rt(x,a,S);m!==void 0&&n.onValueChange(m.value)}),C=a=>{s||(n.onOpenChange(!0),y()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return d.jsxRuntimeExports.jsx(ee.Anchor,{asChild:!0,...u,children:d.jsxRuntimeExports.jsx(N.Primitive.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":tt(n.value)?"":void 0,...r,ref:i,onClick:T.composeEventHandlers(r.onClick,a=>{a.currentTarget.focus(),v.current!=="mouse"&&C(a)}),onPointerDown:T.composeEventHandlers(r.onPointerDown,a=>{v.current=a.pointerType;const x=a.target;x.hasPointerCapture(a.pointerId)&&x.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(C(a),a.preventDefault())}),onKeyDown:T.composeEventHandlers(r.onKeyDown,a=>{const x=w.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&P(a.key),!(x&&a.key===" ")&&wt.includes(a.key)&&(C(),a.preventDefault())})})})});Ie.displayName=Ue;var Ke="SelectValue",Te=t.forwardRef((o,c)=>{const{__scopeSelect:e,className:l,style:r,children:u,placeholder:n="",...s}=o,i=G(Ke,e),{onValueNodeHasChildrenChange:f}=i,v=u!==void 0,w=L.useComposedRefs(c,i.onValueNodeChange);return $.useLayoutEffect(()=>{f(v)},[f,v]),d.jsxRuntimeExports.jsx(N.Primitive.span,{...s,ref:w,style:{pointerEvents:"none"},children:tt(i.value)?d.jsxRuntimeExports.jsx(d.jsxRuntimeExports.Fragment,{children:n}):u})});Te.displayName=Ke;var Pt="SelectIcon",Pe=t.forwardRef((o,c)=>{const{__scopeSelect:e,children:l,...r}=o;return d.jsxRuntimeExports.jsx(N.Primitive.span,{"aria-hidden":!0,...r,ref:c,children:l||"▼"})});Pe.displayName=Pt;var bt="SelectPortal",be=o=>d.jsxRuntimeExports.jsx(ft.Portal,{asChild:!0,...o});be.displayName=bt;var J="SelectContent",je=t.forwardRef((o,c)=>{const e=G(J,o.__scopeSelect),[l,r]=t.useState();if($.useLayoutEffect(()=>{r(new DocumentFragment)},[]),!e.open){const u=l;return u?We.createPortal(d.jsxRuntimeExports.jsx($e,{scope:o.__scopeSelect,children:d.jsxRuntimeExports.jsx(ae.Slot,{scope:o.__scopeSelect,children:d.jsxRuntimeExports.jsx("div",{children:o.children})})}),u):null}return d.jsxRuntimeExports.jsx(Ge,{...o,ref:c})});je.displayName=J;var O=10,[$e,z]=te(J),jt="SelectContentImpl",Ge=t.forwardRef((o,c)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:u,onPointerDownOutside:n,side:s,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:y,sticky:C,hideWhenDetached:a,avoidCollisions:x,...S}=o,m=G(J,e),[h,F]=t.useState(null),[M,oe]=t.useState(null),b=L.useComposedRefs(c,p=>F(p)),[A,W]=t.useState(null),[Y,H]=t.useState(null),k=de(e),[U,V]=t.useState(!1),B=t.useRef(!1);t.useEffect(()=>{if(h)return St.hideOthers(h)},[h]),ut.useFocusGuards();const j=t.useCallback(p=>{const[R,..._]=k().map(I=>I.ref.current),[g]=_.slice(-1),E=document.activeElement;for(const I of p)if(I===E||(I?.scrollIntoView({block:"nearest"}),I===R&&M&&(M.scrollTop=0),I===g&&M&&(M.scrollTop=M.scrollHeight),I?.focus(),document.activeElement!==E))return},[k,M]),D=t.useCallback(()=>j([A,h]),[j,A,h]);t.useEffect(()=>{U&&D()},[U,D]);const{onOpenChange:q,triggerPointerDownPosRef:K}=m;t.useEffect(()=>{if(h){let p={x:0,y:0};const R=g=>{p={x:Math.abs(Math.round(g.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(g.pageY)-(K.current?.y??0))}},_=g=>{p.x<=10&&p.y<=10?g.preventDefault():h.contains(g.target)||q(!1),document.removeEventListener("pointermove",R),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",_,{capture:!0})}}},[h,q,K]),t.useEffect(()=>{const p=()=>q(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[q]);const[pe,ie]=nt(p=>{const R=k().filter(E=>!E.disabled),_=R.find(E=>E.ref.current===document.activeElement),g=rt(R,p,_);g&&setTimeout(()=>g.ref.current.focus())}),fe=t.useCallback((p,R,_)=>{const g=!B.current&&!_;(m.value!==void 0&&m.value===R||g)&&(W(p),g&&(B.current=!0))},[m.value]),me=t.useCallback(()=>h?.focus(),[h]),Q=t.useCallback((p,R,_)=>{const g=!B.current&&!_;(m.value!==void 0&&m.value===R||g)&&H(p)},[m.value]),ce=l==="popper"?Se:ze,ne=ce===Se?{side:s,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:y,sticky:C,hideWhenDetached:a,avoidCollisions:x}:{};return d.jsxRuntimeExports.jsx($e,{scope:e,content:h,viewport:M,onViewportChange:oe,itemRefCallback:fe,selectedItem:A,onItemLeave:me,itemTextRefCallback:Q,focusSelectedItem:D,selectedItemText:Y,position:l,isPositioned:U,searchRef:pe,children:d.jsxRuntimeExports.jsx(gt.default,{as:mt.Slot,allowPinchZoom:!0,children:d.jsxRuntimeExports.jsx(pt.FocusScope,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:T.composeEventHandlers(r,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:d.jsxRuntimeExports.jsx(dt.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:n,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:d.jsxRuntimeExports.jsx(ce,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...S,...ne,onPlaced:()=>V(!0),ref:b,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:T.composeEventHandlers(S.onKeyDown,p=>{const R=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!R&&p.key.length===1&&ie(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let g=k().filter(E=>!E.disabled).map(E=>E.ref.current);if(["ArrowUp","End"].includes(p.key)&&(g=g.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const E=p.target,I=g.indexOf(E);g=g.slice(I+1)}setTimeout(()=>j(g)),p.preventDefault()}})})})})})})});Ge.displayName=jt;var _t="SelectItemAlignedPosition",ze=t.forwardRef((o,c)=>{const{__scopeSelect:e,onPlaced:l,...r}=o,u=G(J,e),n=z(J,e),[s,i]=t.useState(null),[f,v]=t.useState(null),w=L.useComposedRefs(c,b=>v(b)),P=de(e),y=t.useRef(!1),C=t.useRef(!0),{viewport:a,selectedItem:x,selectedItemText:S,focusSelectedItem:m}=n,h=t.useCallback(()=>{if(u.trigger&&u.valueNode&&s&&f&&a&&x&&S){const b=u.trigger.getBoundingClientRect(),A=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),Y=S.getBoundingClientRect();if(u.dir!=="rtl"){const E=Y.left-A.left,I=W.left-E,X=b.left-I,Z=b.width+X,xe=Math.max(Z,A.width),he=window.innerWidth-O,ve=Be.clamp(I,[O,Math.max(O,he-xe)]);s.style.minWidth=Z+"px",s.style.left=ve+"px"}else{const E=A.right-Y.right,I=window.innerWidth-W.right-E,X=window.innerWidth-b.right-I,Z=b.width+X,xe=Math.max(Z,A.width),he=window.innerWidth-O,ve=Be.clamp(I,[O,Math.max(O,he-xe)]);s.style.minWidth=Z+"px",s.style.right=ve+"px"}const H=P(),k=window.innerHeight-O*2,U=a.scrollHeight,V=window.getComputedStyle(f),B=parseInt(V.borderTopWidth,10),j=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),q=parseInt(V.paddingBottom,10),K=B+j+U+q+D,pe=Math.min(x.offsetHeight*5,K),ie=window.getComputedStyle(a),fe=parseInt(ie.paddingTop,10),me=parseInt(ie.paddingBottom,10),Q=b.top+b.height/2-O,ce=k-Q,ne=x.offsetHeight/2,p=x.offsetTop+ne,R=B+j+p,_=K-R;if(R<=Q){const E=H.length>0&&x===H[H.length-1].ref.current;s.style.bottom="0px";const I=f.clientHeight-a.offsetTop-a.offsetHeight,X=Math.max(ce,ne+(E?me:0)+I+D),Z=R+X;s.style.height=Z+"px"}else{const E=H.length>0&&x===H[0].ref.current;s.style.top="0px";const X=Math.max(Q,B+a.offsetTop+(E?fe:0)+ne)+_;s.style.height=X+"px",a.scrollTop=R-Q+a.offsetTop}s.style.margin=`${O}px 0`,s.style.minHeight=pe+"px",s.style.maxHeight=k+"px",l?.(),requestAnimationFrame(()=>y.current=!0)}},[P,u.trigger,u.valueNode,s,f,a,x,S,u.dir,l]);$.useLayoutEffect(()=>h(),[h]);const[F,M]=t.useState();$.useLayoutEffect(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const oe=t.useCallback(b=>{b&&C.current===!0&&(h(),m?.(),C.current=!1)},[h,m]);return d.jsxRuntimeExports.jsx(Mt,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:y,onScrollButtonChange:oe,children:d.jsxRuntimeExports.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:d.jsxRuntimeExports.jsx(N.Primitive.div,{...r,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ze.displayName=_t;var Nt="SelectPopperPosition",Se=t.forwardRef((o,c)=>{const{__scopeSelect:e,align:l="start",collisionPadding:r=O,...u}=o,n=ue(e);return d.jsxRuntimeExports.jsx(ee.Content,{...n,...u,ref:c,align:l,collisionPadding:r,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Se.displayName=Nt;var[Mt,_e]=te(J,{}),ge="SelectViewport",Ne=t.forwardRef((o,c)=>{const{__scopeSelect:e,nonce:l,...r}=o,u=z(ge,e),n=_e(ge,e),s=L.useComposedRefs(c,u.onViewportChange),i=t.useRef(0);return d.jsxRuntimeExports.jsxs(d.jsxRuntimeExports.Fragment,{children:[d.jsxRuntimeExports.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),d.jsxRuntimeExports.jsx(ae.Slot,{scope:e,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:T.composeEventHandlers(r.onScroll,f=>{const v=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:P}=n;if(P?.current&&w){const y=Math.abs(i.current-v.scrollTop);if(y>0){const C=window.innerHeight-O*2,a=parseFloat(w.style.minHeight),x=parseFloat(w.style.height),S=Math.max(a,x);if(S<C){const m=S+y,h=Math.min(C,m),F=m-h;w.style.height=h+"px",w.style.bottom==="0px"&&(v.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}i.current=v.scrollTop})})})]})});Ne.displayName=ge;var Ye="SelectGroup",[Ot,At]=te(Ye),Me=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=Re.useId();return d.jsxRuntimeExports.jsx(Ot,{scope:e,id:r,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{role:"group","aria-labelledby":r,...l,ref:c})})});Me.displayName=Ye;var Xe="SelectLabel",Oe=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=At(Xe,e);return d.jsxRuntimeExports.jsx(N.Primitive.div,{id:r.id,...l,ref:c})});Oe.displayName=Xe;var le="SelectItem",[Dt,Ze]=te(le),Ae=t.forwardRef((o,c)=>{const{__scopeSelect:e,value:l,disabled:r=!1,textValue:u,...n}=o,s=G(le,e),i=z(le,e),f=s.value===l,[v,w]=t.useState(u??""),[P,y]=t.useState(!1),C=L.useComposedRefs(c,m=>i.itemRefCallback?.(m,l,r)),a=Re.useId(),x=t.useRef("touch"),S=()=>{r||(s.onValueChange(l),s.onOpenChange(!1))};if(l==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d.jsxRuntimeExports.jsx(Dt,{scope:e,value:l,disabled:r,textId:a,isSelected:f,onItemTextChange:t.useCallback(m=>{w(h=>h||(m?.textContent??"").trim())},[]),children:d.jsxRuntimeExports.jsx(ae.ItemSlot,{scope:e,value:l,disabled:r,textValue:v,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{role:"option","aria-labelledby":a,"data-highlighted":P?"":void 0,"aria-selected":f&&P,"data-state":f?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...n,ref:C,onFocus:T.composeEventHandlers(n.onFocus,()=>y(!0)),onBlur:T.composeEventHandlers(n.onBlur,()=>y(!1)),onClick:T.composeEventHandlers(n.onClick,()=>{x.current!=="mouse"&&S()}),onPointerUp:T.composeEventHandlers(n.onPointerUp,()=>{x.current==="mouse"&&S()}),onPointerDown:T.composeEventHandlers(n.onPointerDown,m=>{x.current=m.pointerType}),onPointerMove:T.composeEventHandlers(n.onPointerMove,m=>{x.current=m.pointerType,r?i.onItemLeave?.():x.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:T.composeEventHandlers(n.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:T.composeEventHandlers(n.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(Et.includes(m.key)&&S(),m.key===" "&&m.preventDefault())})})})})});Ae.displayName=le;var re="SelectItemText",De=t.forwardRef((o,c)=>{const{__scopeSelect:e,className:l,style:r,...u}=o,n=G(re,e),s=z(re,e),i=Ze(re,e),f=Tt(re,e),[v,w]=t.useState(null),P=L.useComposedRefs(c,S=>w(S),i.onItemTextChange,S=>s.itemTextRefCallback?.(S,i.value,i.disabled)),y=v?.textContent,C=t.useMemo(()=>d.jsxRuntimeExports.jsx("option",{value:i.value,disabled:i.disabled,children:y},i.value),[i.disabled,i.value,y]),{onNativeOptionAdd:a,onNativeOptionRemove:x}=f;return $.useLayoutEffect(()=>(a(C),()=>x(C)),[a,x,C]),d.jsxRuntimeExports.jsxs(d.jsxRuntimeExports.Fragment,{children:[d.jsxRuntimeExports.jsx(N.Primitive.span,{id:i.textId,...u,ref:P}),i.isSelected&&n.valueNode&&!n.valueNodeHasChildren?We.createPortal(u.children,n.valueNode):null]})});De.displayName=re;var Je="SelectItemIndicator",Le=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o;return Ze(Je,e).isSelected?d.jsxRuntimeExports.jsx(N.Primitive.span,{"aria-hidden":!0,...l,ref:c}):null});Le.displayName=Je;var we="SelectScrollUpButton",He=t.forwardRef((o,c)=>{const e=z(we,o.__scopeSelect),l=_e(we,o.__scopeSelect),[r,u]=t.useState(!1),n=L.useComposedRefs(c,l.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return s(),i.addEventListener("scroll",s),()=>i.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsxRuntimeExports.jsx(Qe,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:i}=e;s&&i&&(s.scrollTop=s.scrollTop-i.offsetHeight)}}):null});He.displayName=we;var Ee="SelectScrollDownButton",ke=t.forwardRef((o,c)=>{const e=z(Ee,o.__scopeSelect),l=_e(Ee,o.__scopeSelect),[r,u]=t.useState(!1),n=L.useComposedRefs(c,l.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=i.scrollHeight-i.clientHeight,v=Math.ceil(i.scrollTop)<f;u(v)};const i=e.viewport;return s(),i.addEventListener("scroll",s),()=>i.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsxRuntimeExports.jsx(Qe,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:i}=e;s&&i&&(s.scrollTop=s.scrollTop+i.offsetHeight)}}):null});ke.displayName=Ee;var Qe=t.forwardRef((o,c)=>{const{__scopeSelect:e,onAutoScroll:l,...r}=o,u=z("SelectScrollButton",e),n=t.useRef(null),s=de(e),i=t.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return t.useEffect(()=>()=>i(),[i]),$.useLayoutEffect(()=>{s().find(v=>v.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),d.jsxRuntimeExports.jsx(N.Primitive.div,{"aria-hidden":!0,...r,ref:c,style:{flexShrink:0,...r.style},onPointerDown:T.composeEventHandlers(r.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(l,50))}),onPointerMove:T.composeEventHandlers(r.onPointerMove,()=>{u.onItemLeave?.(),n.current===null&&(n.current=window.setInterval(l,50))}),onPointerLeave:T.composeEventHandlers(r.onPointerLeave,()=>{i()})})}),Lt="SelectSeparator",Ve=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o;return d.jsxRuntimeExports.jsx(N.Primitive.div,{"aria-hidden":!0,...l,ref:c})});Ve.displayName=Lt;var Ce="SelectArrow",et=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=ue(e),u=G(Ce,e),n=z(Ce,e);return u.open&&n.position==="popper"?d.jsxRuntimeExports.jsx(ee.Arrow,{...r,...l,ref:c}):null});et.displayName=Ce;function tt(o){return o===""||o===void 0}var ot=t.forwardRef((o,c)=>{const{value:e,...l}=o,r=t.useRef(null),u=L.useComposedRefs(c,r),n=ht.usePrevious(e);return t.useEffect(()=>{const s=r.current,i=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(i,"value").set;if(n!==e&&v){const w=new Event("change",{bubbles:!0});v.call(s,e),s.dispatchEvent(w)}},[n,e]),d.jsxRuntimeExports.jsx(vt.VisuallyHidden,{asChild:!0,children:d.jsxRuntimeExports.jsx("select",{...l,ref:u,defaultValue:e})})});ot.displayName="BubbleSelect";function nt(o){const c=xt.useCallbackRef(o),e=t.useRef(""),l=t.useRef(0),r=t.useCallback(n=>{const s=e.current+n;c(s),function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))}(s)},[c]),u=t.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,r,u]}function rt(o,c,e){const r=c.length>1&&Array.from(c).every(f=>f===c[0])?c[0]:c,u=e?o.indexOf(e):-1;let n=Ht(o,Math.max(u,0));r.length===1&&(n=n.filter(f=>f!==e));const i=n.find(f=>f.textValue.toLowerCase().startsWith(r.toLowerCase()));return i!==e?i:void 0}function Ht(o,c){return o.map((e,l)=>o[(c+l)%o.length])}var kt=ye,Vt=Ie,Bt=Te,qt=Pe,Ft=be,Wt=je,Ut=Ne,Kt=Me,$t=Oe,Gt=Ae,zt=De,Yt=Le,Xt=He,Zt=ke,Jt=Ve;exports.Content=Wt;exports.Group=Kt;exports.Icon=qt;exports.Item=Gt;exports.ItemIndicator=Yt;exports.ItemText=zt;exports.Label=$t;exports.Portal=Ft;exports.Root=kt;exports.ScrollDownButton=Zt;exports.ScrollUpButton=Xt;exports.Select=ye;exports.SelectArrow=et;exports.SelectContent=je;exports.SelectGroup=Me;exports.SelectIcon=Pe;exports.SelectItem=Ae;exports.SelectItemIndicator=Le;exports.SelectItemText=De;exports.SelectLabel=Oe;exports.SelectPortal=be;exports.SelectScrollDownButton=ke;exports.SelectScrollUpButton=He;exports.SelectSeparator=Ve;exports.SelectTrigger=Ie;exports.SelectValue=Te;exports.SelectViewport=Ne;exports.Separator=Jt;exports.Trigger=Vt;exports.Value=Bt;exports.Viewport=Ut;exports.createSelectScope=Rt;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const st=require("react"),ct=require("react-dom"),Be=require("../../number/dist/index.cjs"),E=require("../../primitive/dist/index.cjs"),lt=require("../../react-collection/dist/index.cjs"),L=require("../../react-compose-refs/dist/index.cjs"),it=require("../../react-context/dist/index.cjs"),at=require("../../react-direction/dist/index.cjs"),dt=require("../../react-dismissable-layer/dist/index.cjs"),ut=require("../../react-focus-guards/dist/index.cjs"),pt=require("../../react-focus-scope/dist/index.cjs"),Ie=require("../../react-id/dist/index.cjs"),ee=require("../../react-popper/dist/index.cjs"),ft=require("../../react-portal/dist/index.cjs"),M=require("../../react-primitive/dist/index.cjs"),mt=require("../../react-slot/dist/index.cjs"),ht=require("../../react-use-callback-ref/dist/index.cjs"),qe=require("../../react-use-controllable-state/dist/index.cjs"),$=require("../../react-use-layout-effect/dist/index.cjs"),vt=require("../../react-use-previous/dist/index.cjs"),St=require("../../react-visually-hidden/dist/index.cjs"),gt=require("../../../aria-hidden/dist/es2015/index.cjs"),xt=require("../../../react-remove-scroll/dist/es2015/Combination.cjs"),d=require("react/jsx-runtime");function Fe(o){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(l,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return l.default=o,Object.freeze(l)}const t=Fe(st),We=Fe(ct);var wt=[" ","Enter","ArrowUp","ArrowDown"],Ct=[" ","Enter"],se="Select",[ae,de,yt]=lt.createCollection(se),[te,It]=it.createContextScope(se,[yt,ee.createPopperScope]),ue=ee.createPopperScope(),[Tt,G]=te(se),[Pt,Et]=te(se),Te=o=>{const{__scopeSelect:l,children:e,open:i,defaultOpen:r,onOpenChange:u,value:n,defaultValue:s,onValueChange:c,dir:f,name:S,autoComplete:w,disabled:R,required:T,form:y}=o,a=ue(l),[h,g]=t.useState(null),[m,v]=t.useState(null),[F,O]=t.useState(!1),oe=at.useDirection(f),[b=!1,D]=qe.useControllableState({prop:i,defaultProp:r,onChange:u}),[W,Y]=qe.useControllableState({prop:n,defaultProp:s,onChange:c}),H=t.useRef(null),k=h?y||!!h.closest("form"):!0,[U,V]=t.useState(new Set),B=Array.from(U).map(_=>_.props.value).join(";");return d.jsx(ee.Root,{...a,children:d.jsxs(Tt,{required:T,scope:l,trigger:h,onTriggerChange:g,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:F,onValueNodeHasChildrenChange:O,contentId:Ie.useId(),value:W,onValueChange:Y,open:b,onOpenChange:D,dir:oe,triggerPointerDownPosRef:H,disabled:R,children:[d.jsx(ae.Provider,{scope:l,children:d.jsx(Pt,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(_=>{V(j=>new Set(j).add(_))},[]),onNativeOptionRemove:t.useCallback(_=>{V(j=>{const q=new Set(j);return q.delete(_),q})},[]),children:e})}),k?d.jsxs(ot,{"aria-hidden":!0,required:T,tabIndex:-1,name:S,autoComplete:w,value:W,onChange:_=>Y(_.target.value),disabled:R,form:y,children:[W===void 0?d.jsx("option",{value:""}):null,Array.from(U)]},B):null]})})};Te.displayName=se;var Ue="SelectTrigger",Pe=t.forwardRef((o,l)=>{const{__scopeSelect:e,disabled:i=!1,...r}=o,u=ue(e),n=G(Ue,e),s=n.disabled||i,c=L.useComposedRefs(l,n.onTriggerChange),f=de(e),S=t.useRef("touch"),[w,R,T]=nt(a=>{const h=f().filter(v=>!v.disabled),g=h.find(v=>v.value===n.value),m=rt(h,a,g);m!==void 0&&n.onValueChange(m.value)}),y=a=>{s||(n.onOpenChange(!0),T()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return d.jsx(ee.Anchor,{asChild:!0,...u,children:d.jsx(M.Primitive.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":tt(n.value)?"":void 0,...r,ref:c,onClick:E.composeEventHandlers(r.onClick,a=>{a.currentTarget.focus(),S.current!=="mouse"&&y(a)}),onPointerDown:E.composeEventHandlers(r.onPointerDown,a=>{S.current=a.pointerType;const h=a.target;h.hasPointerCapture(a.pointerId)&&h.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(y(a),a.preventDefault())}),onKeyDown:E.composeEventHandlers(r.onKeyDown,a=>{const h=w.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&R(a.key),!(h&&a.key===" ")&&wt.includes(a.key)&&(y(),a.preventDefault())})})})});Pe.displayName=Ue;var Ke="SelectValue",Ee=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,children:u,placeholder:n="",...s}=o,c=G(Ke,e),{onValueNodeHasChildrenChange:f}=c,S=u!==void 0,w=L.useComposedRefs(l,c.onValueNodeChange);return $.useLayoutEffect(()=>{f(S)},[f,S]),d.jsx(M.Primitive.span,{...s,ref:w,style:{pointerEvents:"none"},children:tt(c.value)?d.jsx(d.Fragment,{children:n}):u})});Ee.displayName=Ke;var Rt="SelectIcon",Re=t.forwardRef((o,l)=>{const{__scopeSelect:e,children:i,...r}=o;return d.jsx(M.Primitive.span,{"aria-hidden":!0,...r,ref:l,children:i||"▼"})});Re.displayName=Rt;var bt="SelectPortal",be=o=>d.jsx(ft.Portal,{asChild:!0,...o});be.displayName=bt;var J="SelectContent",_e=t.forwardRef((o,l)=>{const e=G(J,o.__scopeSelect),[i,r]=t.useState();if($.useLayoutEffect(()=>{r(new DocumentFragment)},[]),!e.open){const u=i;return u?We.createPortal(d.jsx($e,{scope:o.__scopeSelect,children:d.jsx(ae.Slot,{scope:o.__scopeSelect,children:d.jsx("div",{children:o.children})})}),u):null}return d.jsx(Ge,{...o,ref:l})});_e.displayName=J;var A=10,[$e,z]=te(J),_t="SelectContentImpl",Ge=t.forwardRef((o,l)=>{const{__scopeSelect:e,position:i="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:u,onPointerDownOutside:n,side:s,sideOffset:c,align:f,alignOffset:S,arrowPadding:w,collisionBoundary:R,collisionPadding:T,sticky:y,hideWhenDetached:a,avoidCollisions:h,...g}=o,m=G(J,e),[v,F]=t.useState(null),[O,oe]=t.useState(null),b=L.useComposedRefs(l,p=>F(p)),[D,W]=t.useState(null),[Y,H]=t.useState(null),k=de(e),[U,V]=t.useState(!1),B=t.useRef(!1);t.useEffect(()=>{if(v)return gt.hideOthers(v)},[v]),ut.useFocusGuards();const _=t.useCallback(p=>{const[I,...N]=k().map(P=>P.ref.current),[x]=N.slice(-1),C=document.activeElement;for(const P of p)if(P===C||(P?.scrollIntoView({block:"nearest"}),P===I&&O&&(O.scrollTop=0),P===x&&O&&(O.scrollTop=O.scrollHeight),P?.focus(),document.activeElement!==C))return},[k,O]),j=t.useCallback(()=>_([D,v]),[_,D,v]);t.useEffect(()=>{U&&j()},[U,j]);const{onOpenChange:q,triggerPointerDownPosRef:K}=m;t.useEffect(()=>{if(v){let p={x:0,y:0};const I=x=>{p={x:Math.abs(Math.round(x.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(x.pageY)-(K.current?.y??0))}},N=x=>{p.x<=10&&p.y<=10?x.preventDefault():v.contains(x.target)||q(!1),document.removeEventListener("pointermove",I),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",N,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",N,{capture:!0})}}},[v,q,K]),t.useEffect(()=>{const p=()=>q(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[q]);const[pe,ce]=nt(p=>{const I=k().filter(C=>!C.disabled),N=I.find(C=>C.ref.current===document.activeElement),x=rt(I,p,N);x&&setTimeout(()=>x.ref.current.focus())}),fe=t.useCallback((p,I,N)=>{const x=!B.current&&!N;(m.value!==void 0&&m.value===I||x)&&(W(p),x&&(B.current=!0))},[m.value]),me=t.useCallback(()=>v?.focus(),[v]),Q=t.useCallback((p,I,N)=>{const x=!B.current&&!N;(m.value!==void 0&&m.value===I||x)&&H(p)},[m.value]),le=i==="popper"?ge:ze,ne=le===ge?{side:s,sideOffset:c,align:f,alignOffset:S,arrowPadding:w,collisionBoundary:R,collisionPadding:T,sticky:y,hideWhenDetached:a,avoidCollisions:h}:{};return d.jsx($e,{scope:e,content:v,viewport:O,onViewportChange:oe,itemRefCallback:fe,selectedItem:D,onItemLeave:me,itemTextRefCallback:Q,focusSelectedItem:j,selectedItemText:Y,position:i,isPositioned:U,searchRef:pe,children:d.jsx(xt.default,{as:mt.Slot,allowPinchZoom:!0,children:d.jsx(pt.FocusScope,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:E.composeEventHandlers(r,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:d.jsx(dt.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:n,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:d.jsx(le,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...g,...ne,onPlaced:()=>V(!0),ref:b,style:{display:"flex",flexDirection:"column",outline:"none",...g.style},onKeyDown:E.composeEventHandlers(g.onKeyDown,p=>{const I=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!I&&p.key.length===1&&ce(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let x=k().filter(C=>!C.disabled).map(C=>C.ref.current);if(["ArrowUp","End"].includes(p.key)&&(x=x.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const C=p.target,P=x.indexOf(C);x=x.slice(P+1)}setTimeout(()=>_(x)),p.preventDefault()}})})})})})})});Ge.displayName=_t;var Nt="SelectItemAlignedPosition",ze=t.forwardRef((o,l)=>{const{__scopeSelect:e,onPlaced:i,...r}=o,u=G(J,e),n=z(J,e),[s,c]=t.useState(null),[f,S]=t.useState(null),w=L.useComposedRefs(l,b=>S(b)),R=de(e),T=t.useRef(!1),y=t.useRef(!0),{viewport:a,selectedItem:h,selectedItemText:g,focusSelectedItem:m}=n,v=t.useCallback(()=>{if(u.trigger&&u.valueNode&&s&&f&&a&&h&&g){const b=u.trigger.getBoundingClientRect(),D=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),Y=g.getBoundingClientRect();if(u.dir!=="rtl"){const C=Y.left-D.left,P=W.left-C,X=b.left-P,Z=b.width+X,he=Math.max(Z,D.width),ve=window.innerWidth-A,Se=Be.clamp(P,[A,Math.max(A,ve-he)]);s.style.minWidth=Z+"px",s.style.left=Se+"px"}else{const C=D.right-Y.right,P=window.innerWidth-W.right-C,X=window.innerWidth-b.right-P,Z=b.width+X,he=Math.max(Z,D.width),ve=window.innerWidth-A,Se=Be.clamp(P,[A,Math.max(A,ve-he)]);s.style.minWidth=Z+"px",s.style.right=Se+"px"}const H=R(),k=window.innerHeight-A*2,U=a.scrollHeight,V=window.getComputedStyle(f),B=parseInt(V.borderTopWidth,10),_=parseInt(V.paddingTop,10),j=parseInt(V.borderBottomWidth,10),q=parseInt(V.paddingBottom,10),K=B+_+U+q+j,pe=Math.min(h.offsetHeight*5,K),ce=window.getComputedStyle(a),fe=parseInt(ce.paddingTop,10),me=parseInt(ce.paddingBottom,10),Q=b.top+b.height/2-A,le=k-Q,ne=h.offsetHeight/2,p=h.offsetTop+ne,I=B+_+p,N=K-I;if(I<=Q){const C=H.length>0&&h===H[H.length-1].ref.current;s.style.bottom="0px";const P=f.clientHeight-a.offsetTop-a.offsetHeight,X=Math.max(le,ne+(C?me:0)+P+j),Z=I+X;s.style.height=Z+"px"}else{const C=H.length>0&&h===H[0].ref.current;s.style.top="0px";const X=Math.max(Q,B+a.offsetTop+(C?fe:0)+ne)+N;s.style.height=X+"px",a.scrollTop=I-Q+a.offsetTop}s.style.margin=`${A}px 0`,s.style.minHeight=pe+"px",s.style.maxHeight=k+"px",i?.(),requestAnimationFrame(()=>T.current=!0)}},[R,u.trigger,u.valueNode,s,f,a,h,g,u.dir,i]);$.useLayoutEffect(()=>v(),[v]);const[F,O]=t.useState();$.useLayoutEffect(()=>{f&&O(window.getComputedStyle(f).zIndex)},[f]);const oe=t.useCallback(b=>{b&&y.current===!0&&(v(),m?.(),y.current=!1)},[v,m]);return d.jsx(Ot,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:T,onScrollButtonChange:oe,children:d.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:d.jsx(M.Primitive.div,{...r,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ze.displayName=Nt;var Mt="SelectPopperPosition",ge=t.forwardRef((o,l)=>{const{__scopeSelect:e,align:i="start",collisionPadding:r=A,...u}=o,n=ue(e);return d.jsx(ee.Content,{...n,...u,ref:l,align:i,collisionPadding:r,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ge.displayName=Mt;var[Ot,Ne]=te(J,{}),xe="SelectViewport",Me=t.forwardRef((o,l)=>{const{__scopeSelect:e,nonce:i,...r}=o,u=z(xe,e),n=Ne(xe,e),s=L.useComposedRefs(l,u.onViewportChange),c=t.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),d.jsx(ae.Slot,{scope:e,children:d.jsx(M.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:E.composeEventHandlers(r.onScroll,f=>{const S=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:R}=n;if(R?.current&&w){const T=Math.abs(c.current-S.scrollTop);if(T>0){const y=window.innerHeight-A*2,a=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),g=Math.max(a,h);if(g<y){const m=g+T,v=Math.min(y,m),F=m-v;w.style.height=v+"px",w.style.bottom==="0px"&&(S.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}c.current=S.scrollTop})})})]})});Me.displayName=xe;var Ye="SelectGroup",[At,Dt]=te(Ye),Oe=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=Ie.useId();return d.jsx(At,{scope:e,id:r,children:d.jsx(M.Primitive.div,{role:"group","aria-labelledby":r,...i,ref:l})})});Oe.displayName=Ye;var Xe="SelectLabel",Ae=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=Dt(Xe,e);return d.jsx(M.Primitive.div,{id:r.id,...i,ref:l})});Ae.displayName=Xe;var ie="SelectItem",[jt,Ze]=te(ie),De=t.forwardRef((o,l)=>{const{__scopeSelect:e,value:i,disabled:r=!1,textValue:u,...n}=o,s=G(ie,e),c=z(ie,e),f=s.value===i,[S,w]=t.useState(u??""),[R,T]=t.useState(!1),y=L.useComposedRefs(l,m=>c.itemRefCallback?.(m,i,r)),a=Ie.useId(),h=t.useRef("touch"),g=()=>{r||(s.onValueChange(i),s.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d.jsx(jt,{scope:e,value:i,disabled:r,textId:a,isSelected:f,onItemTextChange:t.useCallback(m=>{w(v=>v||(m?.textContent??"").trim())},[]),children:d.jsx(ae.ItemSlot,{scope:e,value:i,disabled:r,textValue:S,children:d.jsx(M.Primitive.div,{role:"option","aria-labelledby":a,"data-highlighted":R?"":void 0,"aria-selected":f&&R,"data-state":f?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...n,ref:y,onFocus:E.composeEventHandlers(n.onFocus,()=>T(!0)),onBlur:E.composeEventHandlers(n.onBlur,()=>T(!1)),onClick:E.composeEventHandlers(n.onClick,()=>{h.current!=="mouse"&&g()}),onPointerUp:E.composeEventHandlers(n.onPointerUp,()=>{h.current==="mouse"&&g()}),onPointerDown:E.composeEventHandlers(n.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:E.composeEventHandlers(n.onPointerMove,m=>{h.current=m.pointerType,r?c.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E.composeEventHandlers(n.onPointerLeave,m=>{m.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:E.composeEventHandlers(n.onKeyDown,m=>{c.searchRef?.current!==""&&m.key===" "||(Ct.includes(m.key)&&g(),m.key===" "&&m.preventDefault())})})})})});De.displayName=ie;var re="SelectItemText",je=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,...u}=o,n=G(re,e),s=z(re,e),c=Ze(re,e),f=Et(re,e),[S,w]=t.useState(null),R=L.useComposedRefs(l,g=>w(g),c.onItemTextChange,g=>s.itemTextRefCallback?.(g,c.value,c.disabled)),T=S?.textContent,y=t.useMemo(()=>d.jsx("option",{value:c.value,disabled:c.disabled,children:T},c.value),[c.disabled,c.value,T]),{onNativeOptionAdd:a,onNativeOptionRemove:h}=f;return $.useLayoutEffect(()=>(a(y),()=>h(y)),[a,h,y]),d.jsxs(d.Fragment,{children:[d.jsx(M.Primitive.span,{id:c.textId,...u,ref:R}),c.isSelected&&n.valueNode&&!n.valueNodeHasChildren?We.createPortal(u.children,n.valueNode):null]})});je.displayName=re;var Je="SelectItemIndicator",Le=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return Ze(Je,e).isSelected?d.jsx(M.Primitive.span,{"aria-hidden":!0,...i,ref:l}):null});Le.displayName=Je;var we="SelectScrollUpButton",He=t.forwardRef((o,l)=>{const e=z(we,o.__scopeSelect),i=Ne(we,o.__scopeSelect),[r,u]=t.useState(!1),n=L.useComposedRefs(l,i.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=c.scrollTop>0;u(f)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Qe,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop-c.offsetHeight)}}):null});He.displayName=we;var Ce="SelectScrollDownButton",ke=t.forwardRef((o,l)=>{const e=z(Ce,o.__scopeSelect),i=Ne(Ce,o.__scopeSelect),[r,u]=t.useState(!1),n=L.useComposedRefs(l,i.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=c.scrollHeight-c.clientHeight,S=Math.ceil(c.scrollTop)<f;u(S)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Qe,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop+c.offsetHeight)}}):null});ke.displayName=Ce;var Qe=t.forwardRef((o,l)=>{const{__scopeSelect:e,onAutoScroll:i,...r}=o,u=z("SelectScrollButton",e),n=t.useRef(null),s=de(e),c=t.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return t.useEffect(()=>()=>c(),[c]),$.useLayoutEffect(()=>{s().find(S=>S.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),d.jsx(M.Primitive.div,{"aria-hidden":!0,...r,ref:l,style:{flexShrink:0,...r.style},onPointerDown:E.composeEventHandlers(r.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(i,50))}),onPointerMove:E.composeEventHandlers(r.onPointerMove,()=>{u.onItemLeave?.(),n.current===null&&(n.current=window.setInterval(i,50))}),onPointerLeave:E.composeEventHandlers(r.onPointerLeave,()=>{c()})})}),Lt="SelectSeparator",Ve=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return d.jsx(M.Primitive.div,{"aria-hidden":!0,...i,ref:l})});Ve.displayName=Lt;var ye="SelectArrow",et=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=ue(e),u=G(ye,e),n=z(ye,e);return u.open&&n.position==="popper"?d.jsx(ee.Arrow,{...r,...i,ref:l}):null});et.displayName=ye;function tt(o){return o===""||o===void 0}var ot=t.forwardRef((o,l)=>{const{value:e,...i}=o,r=t.useRef(null),u=L.useComposedRefs(l,r),n=vt.usePrevious(e);return t.useEffect(()=>{const s=r.current,c=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(c,"value").set;if(n!==e&&S){const w=new Event("change",{bubbles:!0});S.call(s,e),s.dispatchEvent(w)}},[n,e]),d.jsx(St.VisuallyHidden,{asChild:!0,children:d.jsx("select",{...i,ref:u,defaultValue:e})})});ot.displayName="BubbleSelect";function nt(o){const l=ht.useCallbackRef(o),e=t.useRef(""),i=t.useRef(0),r=t.useCallback(n=>{const s=e.current+n;l(s),function c(f){e.current=f,window.clearTimeout(i.current),f!==""&&(i.current=window.setTimeout(()=>c(""),1e3))}(s)},[l]),u=t.useCallback(()=>{e.current="",window.clearTimeout(i.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(i.current),[]),[e,r,u]}function rt(o,l,e){const r=l.length>1&&Array.from(l).every(f=>f===l[0])?l[0]:l,u=e?o.indexOf(e):-1;let n=Ht(o,Math.max(u,0));r.length===1&&(n=n.filter(f=>f!==e));const c=n.find(f=>f.textValue.toLowerCase().startsWith(r.toLowerCase()));return c!==e?c:void 0}function Ht(o,l){return o.map((e,i)=>o[(l+i)%o.length])}var kt=Te,Vt=Pe,Bt=Ee,qt=Re,Ft=be,Wt=_e,Ut=Me,Kt=Oe,$t=Ae,Gt=De,zt=je,Yt=Le,Xt=He,Zt=ke,Jt=Ve;exports.Content=Wt;exports.Group=Kt;exports.Icon=qt;exports.Item=Gt;exports.ItemIndicator=Yt;exports.ItemText=zt;exports.Label=$t;exports.Portal=Ft;exports.Root=kt;exports.ScrollDownButton=Zt;exports.ScrollUpButton=Xt;exports.Select=Te;exports.SelectArrow=et;exports.SelectContent=_e;exports.SelectGroup=Oe;exports.SelectIcon=Re;exports.SelectItem=De;exports.SelectItemIndicator=Le;exports.SelectItemText=je;exports.SelectLabel=Ae;exports.SelectPortal=be;exports.SelectScrollDownButton=ke;exports.SelectScrollUpButton=He;exports.SelectSeparator=Ve;exports.SelectTrigger=Pe;exports.SelectValue=Ee;exports.SelectViewport=Me;exports.Separator=Jt;exports.Trigger=Vt;exports.Value=Bt;exports.Viewport=Ut;exports.createSelectScope=It;
2
2
  //# sourceMappingURL=index.cjs.map