@arolariu/components 0.0.22 → 0.0.23

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 (562) hide show
  1. package/dist/cjs/components/ui/accordion.js +83 -0
  2. package/dist/cjs/components/ui/accordion.js.map +1 -0
  3. package/dist/cjs/components/ui/alert-dialog.js +165 -0
  4. package/dist/cjs/components/ui/alert-dialog.js.map +1 -0
  5. package/dist/cjs/components/ui/alert.js +67 -0
  6. package/dist/cjs/components/ui/alert.js.map +1 -0
  7. package/dist/cjs/components/ui/aspect-ratio.js +29 -0
  8. package/dist/cjs/components/ui/aspect-ratio.js.map +1 -0
  9. package/dist/cjs/components/ui/avatar.js +72 -0
  10. package/dist/cjs/components/ui/avatar.js.map +1 -0
  11. package/dist/cjs/components/ui/badge.js +42 -0
  12. package/dist/cjs/components/ui/badge.js.map +1 -0
  13. package/dist/cjs/components/ui/breadcrumb.js +105 -0
  14. package/dist/cjs/components/ui/breadcrumb.js.map +1 -0
  15. package/dist/cjs/components/ui/button.js +52 -0
  16. package/dist/cjs/components/ui/button.js.map +1 -0
  17. package/dist/cjs/components/ui/calendar.js +63 -0
  18. package/dist/cjs/components/ui/calendar.js.map +1 -0
  19. package/dist/cjs/components/ui/card.js +75 -0
  20. package/dist/cjs/components/ui/card.js.map +1 -0
  21. package/dist/cjs/components/ui/carousel.js +217 -0
  22. package/dist/cjs/components/ui/carousel.js.map +1 -0
  23. package/dist/cjs/components/ui/chart.js +262 -0
  24. package/dist/cjs/components/ui/chart.js.map +1 -0
  25. package/dist/cjs/components/ui/checkbox.js +50 -0
  26. package/dist/cjs/components/ui/checkbox.js.map +1 -0
  27. package/dist/cjs/components/ui/collapsible.js +53 -0
  28. package/dist/cjs/components/ui/collapsible.js.map +1 -0
  29. package/dist/cjs/components/ui/command.js +163 -0
  30. package/dist/cjs/components/ui/command.js.map +1 -0
  31. package/dist/cjs/components/ui/context-menu.js +242 -0
  32. package/dist/cjs/components/ui/context-menu.js.map +1 -0
  33. package/dist/cjs/components/ui/dialog.js +147 -0
  34. package/dist/cjs/components/ui/dialog.js.map +1 -0
  35. package/dist/cjs/components/ui/drawer.js +127 -0
  36. package/dist/cjs/components/ui/drawer.js.map +1 -0
  37. package/dist/cjs/components/ui/dropdown-menu.js +250 -0
  38. package/dist/cjs/components/ui/dropdown-menu.js.map +1 -0
  39. package/dist/cjs/components/ui/form.js +135 -0
  40. package/dist/cjs/components/ui/form.js.map +1 -0
  41. package/dist/cjs/components/ui/hover-card.js +57 -0
  42. package/dist/cjs/components/ui/hover-card.js.map +1 -0
  43. package/dist/cjs/components/ui/input-otp.js +86 -0
  44. package/dist/cjs/components/ui/input-otp.js.map +1 -0
  45. package/dist/cjs/components/ui/input.js +23 -0
  46. package/dist/cjs/components/ui/input.js.map +1 -0
  47. package/dist/cjs/components/ui/label.js +41 -0
  48. package/dist/cjs/components/ui/label.js.map +1 -0
  49. package/dist/cjs/components/ui/menubar.js +270 -0
  50. package/dist/cjs/components/ui/menubar.js.map +1 -0
  51. package/dist/cjs/components/ui/navigation-menu.js +189 -0
  52. package/dist/cjs/components/ui/navigation-menu.js.map +1 -0
  53. package/dist/cjs/components/ui/pagination.js +120 -0
  54. package/dist/cjs/components/ui/pagination.js.map +1 -0
  55. package/dist/cjs/components/ui/popover.js +63 -0
  56. package/dist/cjs/components/ui/popover.js.map +1 -0
  57. package/dist/cjs/components/ui/progress.js +50 -0
  58. package/dist/cjs/components/ui/progress.js.map +1 -0
  59. package/dist/cjs/components/ui/radio-group.js +64 -0
  60. package/dist/cjs/components/ui/radio-group.js.map +1 -0
  61. package/dist/cjs/components/ui/resizable.js +67 -0
  62. package/dist/cjs/components/ui/resizable.js.map +1 -0
  63. package/dist/cjs/components/ui/scroll-area.js +79 -0
  64. package/dist/cjs/components/ui/scroll-area.js.map +1 -0
  65. package/dist/cjs/components/ui/select.js +186 -0
  66. package/dist/cjs/components/ui/select.js.map +1 -0
  67. package/dist/cjs/components/ui/separator.js +45 -0
  68. package/dist/cjs/components/ui/separator.js.map +1 -0
  69. package/dist/cjs/components/ui/sheet.js +145 -0
  70. package/dist/cjs/components/ui/sheet.js.map +1 -0
  71. package/dist/cjs/components/ui/sidebar.js +654 -0
  72. package/dist/cjs/components/ui/sidebar.js.map +1 -0
  73. package/dist/cjs/components/ui/skeleton.js +16 -0
  74. package/dist/cjs/components/ui/skeleton.js.map +1 -0
  75. package/dist/cjs/components/ui/slider.js +83 -0
  76. package/dist/cjs/components/ui/slider.js.map +1 -0
  77. package/dist/cjs/components/ui/sonner.js +27 -0
  78. package/dist/cjs/components/ui/sonner.js.map +1 -0
  79. package/dist/cjs/components/ui/switch.js +50 -0
  80. package/dist/cjs/components/ui/switch.js.map +1 -0
  81. package/dist/cjs/components/ui/table.js +116 -0
  82. package/dist/cjs/components/ui/table.js.map +1 -0
  83. package/dist/cjs/components/ui/tabs.js +86 -0
  84. package/dist/cjs/components/ui/tabs.js.map +1 -0
  85. package/dist/cjs/components/ui/textarea.js +20 -0
  86. package/dist/cjs/components/ui/textarea.js.map +1 -0
  87. package/dist/cjs/components/ui/toggle-group.js +82 -0
  88. package/dist/cjs/components/ui/toggle-group.js.map +1 -0
  89. package/dist/cjs/components/ui/toggle.js +62 -0
  90. package/dist/cjs/components/ui/toggle.js.map +1 -0
  91. package/dist/cjs/components/ui/tooltip.js +74 -0
  92. package/dist/cjs/components/ui/tooltip.js.map +1 -0
  93. package/dist/cjs/hooks/use-mobile.js +36 -0
  94. package/dist/cjs/hooks/use-mobile.js.map +1 -0
  95. package/dist/cjs/index.js +295 -1
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/lib/utils.js +9 -0
  98. package/dist/cjs/lib/utils.js.map +1 -0
  99. package/dist/es/components/ui/accordion.js +66 -0
  100. package/dist/es/components/ui/accordion.js.map +1 -0
  101. package/dist/es/components/ui/alert-dialog.js +148 -0
  102. package/dist/es/components/ui/alert-dialog.js.map +1 -0
  103. package/dist/es/{alert.js → components/ui/alert.js} +26 -26
  104. package/dist/es/components/ui/alert.js.map +1 -0
  105. package/dist/es/components/ui/aspect-ratio.js +12 -0
  106. package/dist/es/components/ui/aspect-ratio.js.map +1 -0
  107. package/dist/es/components/ui/avatar.js +55 -0
  108. package/dist/es/components/ui/avatar.js.map +1 -0
  109. package/dist/es/{badge.js → components/ui/badge.js} +18 -16
  110. package/dist/es/components/ui/badge.js.map +1 -0
  111. package/dist/es/components/ui/breadcrumb.js +105 -0
  112. package/dist/es/components/ui/breadcrumb.js.map +1 -0
  113. package/dist/es/{button.js → components/ui/button.js} +19 -17
  114. package/dist/es/components/ui/button.js.map +1 -0
  115. package/dist/es/components/ui/calendar.js +63 -0
  116. package/dist/es/components/ui/calendar.js.map +1 -0
  117. package/dist/es/components/ui/card.js +75 -0
  118. package/dist/es/components/ui/card.js.map +1 -0
  119. package/dist/es/components/ui/carousel.js +200 -0
  120. package/dist/es/components/ui/carousel.js.map +1 -0
  121. package/dist/es/components/ui/chart.js +244 -0
  122. package/dist/es/components/ui/chart.js.map +1 -0
  123. package/dist/es/components/ui/checkbox.js +33 -0
  124. package/dist/es/components/ui/checkbox.js.map +1 -0
  125. package/dist/es/components/ui/collapsible.js +36 -0
  126. package/dist/es/components/ui/collapsible.js.map +1 -0
  127. package/dist/es/components/ui/command.js +163 -0
  128. package/dist/es/components/ui/command.js.map +1 -0
  129. package/dist/es/components/ui/context-menu.js +225 -0
  130. package/dist/es/components/ui/context-menu.js.map +1 -0
  131. package/dist/es/components/ui/dialog.js +130 -0
  132. package/dist/es/components/ui/dialog.js.map +1 -0
  133. package/dist/es/components/ui/drawer.js +127 -0
  134. package/dist/es/components/ui/drawer.js.map +1 -0
  135. package/dist/es/components/ui/dropdown-menu.js +233 -0
  136. package/dist/es/components/ui/dropdown-menu.js.map +1 -0
  137. package/dist/es/components/ui/form.js +118 -0
  138. package/dist/es/components/ui/form.js.map +1 -0
  139. package/dist/es/components/ui/hover-card.js +40 -0
  140. package/dist/es/components/ui/hover-card.js.map +1 -0
  141. package/dist/es/components/ui/input-otp.js +69 -0
  142. package/dist/es/components/ui/input-otp.js.map +1 -0
  143. package/dist/es/{input.js → components/ui/input.js} +10 -9
  144. package/dist/es/components/ui/input.js.map +1 -0
  145. package/dist/es/components/ui/label.js +24 -0
  146. package/dist/es/components/ui/label.js.map +1 -0
  147. package/dist/es/components/ui/menubar.js +253 -0
  148. package/dist/es/components/ui/menubar.js.map +1 -0
  149. package/dist/es/components/ui/navigation-menu.js +172 -0
  150. package/dist/es/components/ui/navigation-menu.js.map +1 -0
  151. package/dist/es/components/ui/pagination.js +120 -0
  152. package/dist/es/components/ui/pagination.js.map +1 -0
  153. package/dist/es/components/ui/popover.js +46 -0
  154. package/dist/es/components/ui/popover.js.map +1 -0
  155. package/dist/es/components/ui/progress.js +33 -0
  156. package/dist/es/components/ui/progress.js.map +1 -0
  157. package/dist/es/components/ui/radio-group.js +47 -0
  158. package/dist/es/components/ui/radio-group.js.map +1 -0
  159. package/dist/es/components/ui/resizable.js +50 -0
  160. package/dist/es/components/ui/resizable.js.map +1 -0
  161. package/dist/es/components/ui/scroll-area.js +62 -0
  162. package/dist/es/components/ui/scroll-area.js.map +1 -0
  163. package/dist/es/components/ui/select.js +169 -0
  164. package/dist/es/components/ui/select.js.map +1 -0
  165. package/dist/es/components/ui/separator.js +28 -0
  166. package/dist/es/components/ui/separator.js.map +1 -0
  167. package/dist/es/components/ui/sheet.js +128 -0
  168. package/dist/es/components/ui/sheet.js.map +1 -0
  169. package/dist/es/components/ui/sidebar.js +637 -0
  170. package/dist/es/components/ui/sidebar.js.map +1 -0
  171. package/dist/es/components/ui/skeleton.js +16 -0
  172. package/dist/es/components/ui/skeleton.js.map +1 -0
  173. package/dist/es/components/ui/slider.js +65 -0
  174. package/dist/es/components/ui/slider.js.map +1 -0
  175. package/dist/es/components/ui/sonner.js +27 -0
  176. package/dist/es/components/ui/sonner.js.map +1 -0
  177. package/dist/es/components/ui/switch.js +33 -0
  178. package/dist/es/components/ui/switch.js.map +1 -0
  179. package/dist/es/components/ui/table.js +116 -0
  180. package/dist/es/components/ui/table.js.map +1 -0
  181. package/dist/es/components/ui/tabs.js +69 -0
  182. package/dist/es/components/ui/tabs.js.map +1 -0
  183. package/dist/es/{textarea.js → components/ui/textarea.js} +9 -8
  184. package/dist/es/components/ui/textarea.js.map +1 -0
  185. package/dist/es/components/ui/toggle-group.js +64 -0
  186. package/dist/es/components/ui/toggle-group.js.map +1 -0
  187. package/dist/es/{toggle-sZQvHluU.js → components/ui/toggle.js} +18 -44
  188. package/dist/es/components/ui/toggle.js.map +1 -0
  189. package/dist/es/components/ui/tooltip.js +57 -0
  190. package/dist/es/components/ui/tooltip.js.map +1 -0
  191. package/dist/es/hooks/use-mobile.js +19 -0
  192. package/dist/es/hooks/use-mobile.js.map +1 -0
  193. package/dist/es/index.js +293 -292
  194. package/dist/es/index.js.map +1 -1
  195. package/dist/es/lib/utils.js +9 -0
  196. package/dist/es/lib/utils.js.map +1 -0
  197. package/package.json +143 -146
  198. package/dist/cjs/accordion.js +0 -2
  199. package/dist/cjs/accordion.js.map +0 -1
  200. package/dist/cjs/alert-dialog.js +0 -8
  201. package/dist/cjs/alert-dialog.js.map +0 -1
  202. package/dist/cjs/alert.js +0 -2
  203. package/dist/cjs/alert.js.map +0 -1
  204. package/dist/cjs/aspect-ratio.js +0 -2
  205. package/dist/cjs/aspect-ratio.js.map +0 -1
  206. package/dist/cjs/avatar.js +0 -2
  207. package/dist/cjs/avatar.js.map +0 -1
  208. package/dist/cjs/badge.js +0 -2
  209. package/dist/cjs/badge.js.map +0 -1
  210. package/dist/cjs/breadcrumb.js +0 -2
  211. package/dist/cjs/breadcrumb.js.map +0 -1
  212. package/dist/cjs/button.js +0 -2
  213. package/dist/cjs/button.js.map +0 -1
  214. package/dist/cjs/calendar.js +0 -2
  215. package/dist/cjs/calendar.js.map +0 -1
  216. package/dist/cjs/card.js +0 -2
  217. package/dist/cjs/card.js.map +0 -1
  218. package/dist/cjs/carousel.js +0 -12
  219. package/dist/cjs/carousel.js.map +0 -1
  220. package/dist/cjs/chart.js +0 -33
  221. package/dist/cjs/chart.js.map +0 -1
  222. package/dist/cjs/check-DsmrR87f.cjs +0 -7
  223. package/dist/cjs/check-DsmrR87f.cjs.map +0 -1
  224. package/dist/cjs/checkbox.js +0 -2
  225. package/dist/cjs/checkbox.js.map +0 -1
  226. package/dist/cjs/chevron-down-BXHjLz6b.cjs +0 -7
  227. package/dist/cjs/chevron-down-BXHjLz6b.cjs.map +0 -1
  228. package/dist/cjs/chevron-left-DWN7aNcV.cjs +0 -7
  229. package/dist/cjs/chevron-left-DWN7aNcV.cjs.map +0 -1
  230. package/dist/cjs/chevron-right-B5DLWRs3.cjs +0 -7
  231. package/dist/cjs/chevron-right-B5DLWRs3.cjs.map +0 -1
  232. package/dist/cjs/circle-Go4w5B8m.cjs +0 -7
  233. package/dist/cjs/circle-Go4w5B8m.cjs.map +0 -1
  234. package/dist/cjs/collapsible.js +0 -2
  235. package/dist/cjs/collapsible.js.map +0 -1
  236. package/dist/cjs/command.js +0 -10
  237. package/dist/cjs/command.js.map +0 -1
  238. package/dist/cjs/context-menu.js +0 -2
  239. package/dist/cjs/context-menu.js.map +0 -1
  240. package/dist/cjs/createLucideIcon-7s3OZKKJ.cjs +0 -22
  241. package/dist/cjs/createLucideIcon-7s3OZKKJ.cjs.map +0 -1
  242. package/dist/cjs/dialog.js +0 -2
  243. package/dist/cjs/dialog.js.map +0 -1
  244. package/dist/cjs/drawer.js +0 -4
  245. package/dist/cjs/drawer.js.map +0 -1
  246. package/dist/cjs/dropdown-menu.js +0 -2
  247. package/dist/cjs/dropdown-menu.js.map +0 -1
  248. package/dist/cjs/ellipsis-Dcd0hJxD.cjs +0 -7
  249. package/dist/cjs/ellipsis-Dcd0hJxD.cjs.map +0 -1
  250. package/dist/cjs/form.js +0 -2
  251. package/dist/cjs/form.js.map +0 -1
  252. package/dist/cjs/hover-card.js +0 -2
  253. package/dist/cjs/hover-card.js.map +0 -1
  254. package/dist/cjs/index-BA7cqKce.cjs +0 -2
  255. package/dist/cjs/index-BA7cqKce.cjs.map +0 -1
  256. package/dist/cjs/index-BABhT3A2.cjs +0 -2
  257. package/dist/cjs/index-BABhT3A2.cjs.map +0 -1
  258. package/dist/cjs/index-BFkoAeYt.cjs +0 -2
  259. package/dist/cjs/index-BFkoAeYt.cjs.map +0 -1
  260. package/dist/cjs/index-BMYQQX5X.cjs +0 -2
  261. package/dist/cjs/index-BMYQQX5X.cjs.map +0 -1
  262. package/dist/cjs/index-BcYohIA6.cjs +0 -2
  263. package/dist/cjs/index-BcYohIA6.cjs.map +0 -1
  264. package/dist/cjs/index-C8ni3LLa.cjs +0 -2
  265. package/dist/cjs/index-C8ni3LLa.cjs.map +0 -1
  266. package/dist/cjs/index-CDuvS0oh.cjs +0 -2
  267. package/dist/cjs/index-CDuvS0oh.cjs.map +0 -1
  268. package/dist/cjs/index-CI-TYt7m.cjs +0 -2
  269. package/dist/cjs/index-CI-TYt7m.cjs.map +0 -1
  270. package/dist/cjs/index-CKsZU_EJ.cjs +0 -42
  271. package/dist/cjs/index-CKsZU_EJ.cjs.map +0 -1
  272. package/dist/cjs/index-Cje7xxa1.cjs +0 -2
  273. package/dist/cjs/index-Cje7xxa1.cjs.map +0 -1
  274. package/dist/cjs/index-CtQPmeNr.cjs +0 -2
  275. package/dist/cjs/index-CtQPmeNr.cjs.map +0 -1
  276. package/dist/cjs/index-D5UqZzES.cjs +0 -2
  277. package/dist/cjs/index-D5UqZzES.cjs.map +0 -1
  278. package/dist/cjs/index-DGxLeo0U.cjs +0 -2
  279. package/dist/cjs/index-DGxLeo0U.cjs.map +0 -1
  280. package/dist/cjs/index-DHINEOOo.cjs +0 -6
  281. package/dist/cjs/index-DHINEOOo.cjs.map +0 -1
  282. package/dist/cjs/index-DYxWvftI.cjs +0 -2
  283. package/dist/cjs/index-DYxWvftI.cjs.map +0 -1
  284. package/dist/cjs/index-Da4RIGhY.cjs +0 -2
  285. package/dist/cjs/index-Da4RIGhY.cjs.map +0 -1
  286. package/dist/cjs/index-DaxnLcvM.cjs +0 -2
  287. package/dist/cjs/index-DaxnLcvM.cjs.map +0 -1
  288. package/dist/cjs/index-Dqur2yAt.cjs +0 -2
  289. package/dist/cjs/index-Dqur2yAt.cjs.map +0 -1
  290. package/dist/cjs/index-Fzi6xTMp.cjs +0 -2
  291. package/dist/cjs/index-Fzi6xTMp.cjs.map +0 -1
  292. package/dist/cjs/index-YIs2_rrG.cjs +0 -2
  293. package/dist/cjs/index-YIs2_rrG.cjs.map +0 -1
  294. package/dist/cjs/index-hwV4SK1V.cjs +0 -2
  295. package/dist/cjs/index-hwV4SK1V.cjs.map +0 -1
  296. package/dist/cjs/index-urlL5V69.cjs +0 -2
  297. package/dist/cjs/index-urlL5V69.cjs.map +0 -1
  298. package/dist/cjs/index-vMiBE3Z1.cjs +0 -2
  299. package/dist/cjs/index-vMiBE3Z1.cjs.map +0 -1
  300. package/dist/cjs/index-yhkM5Qo-.cjs +0 -2
  301. package/dist/cjs/index-yhkM5Qo-.cjs.map +0 -1
  302. package/dist/cjs/input-otp.js +0 -26
  303. package/dist/cjs/input-otp.js.map +0 -1
  304. package/dist/cjs/input.js +0 -2
  305. package/dist/cjs/input.js.map +0 -1
  306. package/dist/cjs/label.js +0 -2
  307. package/dist/cjs/label.js.map +0 -1
  308. package/dist/cjs/menubar.js +0 -2
  309. package/dist/cjs/menubar.js.map +0 -1
  310. package/dist/cjs/navigation-menu.js +0 -2
  311. package/dist/cjs/navigation-menu.js.map +0 -1
  312. package/dist/cjs/pagination.js +0 -2
  313. package/dist/cjs/pagination.js.map +0 -1
  314. package/dist/cjs/popover.js +0 -2
  315. package/dist/cjs/popover.js.map +0 -1
  316. package/dist/cjs/progress.js +0 -7
  317. package/dist/cjs/progress.js.map +0 -1
  318. package/dist/cjs/radio-group.js +0 -2
  319. package/dist/cjs/radio-group.js.map +0 -1
  320. package/dist/cjs/resizable.js +0 -7
  321. package/dist/cjs/resizable.js.map +0 -1
  322. package/dist/cjs/scroll-area.js +0 -2
  323. package/dist/cjs/scroll-area.js.map +0 -1
  324. package/dist/cjs/select.js +0 -7
  325. package/dist/cjs/select.js.map +0 -1
  326. package/dist/cjs/separator.js +0 -2
  327. package/dist/cjs/separator.js.map +0 -1
  328. package/dist/cjs/sheet.js +0 -2
  329. package/dist/cjs/sheet.js.map +0 -1
  330. package/dist/cjs/sidebar-Bx3XeHcA.cjs +0 -7
  331. package/dist/cjs/sidebar-Bx3XeHcA.cjs.map +0 -1
  332. package/dist/cjs/sidebar.js +0 -2
  333. package/dist/cjs/sidebar.js.map +0 -1
  334. package/dist/cjs/skeleton.js +0 -2
  335. package/dist/cjs/skeleton.js.map +0 -1
  336. package/dist/cjs/slider.js +0 -2
  337. package/dist/cjs/slider.js.map +0 -1
  338. package/dist/cjs/sonner.js +0 -2
  339. package/dist/cjs/sonner.js.map +0 -1
  340. package/dist/cjs/switch.js +0 -2
  341. package/dist/cjs/switch.js.map +0 -1
  342. package/dist/cjs/table.js +0 -2
  343. package/dist/cjs/table.js.map +0 -1
  344. package/dist/cjs/tabs.js +0 -2
  345. package/dist/cjs/tabs.js.map +0 -1
  346. package/dist/cjs/textarea.js +0 -2
  347. package/dist/cjs/textarea.js.map +0 -1
  348. package/dist/cjs/toggle-B2GNuCnp.cjs +0 -2
  349. package/dist/cjs/toggle-B2GNuCnp.cjs.map +0 -1
  350. package/dist/cjs/toggle-group.js +0 -2
  351. package/dist/cjs/toggle-group.js.map +0 -1
  352. package/dist/cjs/toggle.js +0 -2
  353. package/dist/cjs/toggle.js.map +0 -1
  354. package/dist/cjs/tooltip.js +0 -2
  355. package/dist/cjs/tooltip.js.map +0 -1
  356. package/dist/cjs/utils-Gb5_Gcy7.cjs +0 -2
  357. package/dist/cjs/utils-Gb5_Gcy7.cjs.map +0 -1
  358. package/dist/cjs/x-Dn7F6zs7.cjs +0 -7
  359. package/dist/cjs/x-Dn7F6zs7.cjs.map +0 -1
  360. package/dist/es/accordion.js +0 -288
  361. package/dist/es/accordion.js.map +0 -1
  362. package/dist/es/alert-dialog.js +0 -251
  363. package/dist/es/alert-dialog.js.map +0 -1
  364. package/dist/es/alert.js.map +0 -1
  365. package/dist/es/aspect-ratio.js +0 -48
  366. package/dist/es/aspect-ratio.js.map +0 -1
  367. package/dist/es/avatar.js +0 -114
  368. package/dist/es/avatar.js.map +0 -1
  369. package/dist/es/badge.js.map +0 -1
  370. package/dist/es/breadcrumb.js +0 -104
  371. package/dist/es/breadcrumb.js.map +0 -1
  372. package/dist/es/button.js.map +0 -1
  373. package/dist/es/calendar.js +0 -2419
  374. package/dist/es/calendar.js.map +0 -1
  375. package/dist/es/card.js +0 -74
  376. package/dist/es/card.js.map +0 -1
  377. package/dist/es/carousel.js +0 -1446
  378. package/dist/es/carousel.js.map +0 -1
  379. package/dist/es/chart.js +0 -4448
  380. package/dist/es/chart.js.map +0 -1
  381. package/dist/es/check-BFSkh0zY.js +0 -12
  382. package/dist/es/check-BFSkh0zY.js.map +0 -1
  383. package/dist/es/checkbox.js +0 -158
  384. package/dist/es/checkbox.js.map +0 -1
  385. package/dist/es/chevron-down-D1WfRf9d.js +0 -12
  386. package/dist/es/chevron-down-D1WfRf9d.js.map +0 -1
  387. package/dist/es/chevron-left-B_RUqPq2.js +0 -12
  388. package/dist/es/chevron-left-B_RUqPq2.js.map +0 -1
  389. package/dist/es/chevron-right-CYkmGE7o.js +0 -12
  390. package/dist/es/chevron-right-CYkmGE7o.js.map +0 -1
  391. package/dist/es/circle-slaY-ZRd.js +0 -12
  392. package/dist/es/circle-slaY-ZRd.js.map +0 -1
  393. package/dist/es/collapsible.js +0 -35
  394. package/dist/es/collapsible.js.map +0 -1
  395. package/dist/es/command.js +0 -1498
  396. package/dist/es/command.js.map +0 -1
  397. package/dist/es/context-menu.js +0 -430
  398. package/dist/es/context-menu.js.map +0 -1
  399. package/dist/es/createLucideIcon-DuEFx7Oi.js +0 -80
  400. package/dist/es/createLucideIcon-DuEFx7Oi.js.map +0 -1
  401. package/dist/es/dialog.js +0 -129
  402. package/dist/es/dialog.js.map +0 -1
  403. package/dist/es/drawer.js +0 -1159
  404. package/dist/es/drawer.js.map +0 -1
  405. package/dist/es/dropdown-menu.js +0 -424
  406. package/dist/es/dropdown-menu.js.map +0 -1
  407. package/dist/es/ellipsis-BPt-NzsR.js +0 -16
  408. package/dist/es/ellipsis-BPt-NzsR.js.map +0 -1
  409. package/dist/es/form.js +0 -312
  410. package/dist/es/form.js.map +0 -1
  411. package/dist/es/hover-card.js +0 -206
  412. package/dist/es/hover-card.js.map +0 -1
  413. package/dist/es/index--Ec6-Sd5.js +0 -36
  414. package/dist/es/index--Ec6-Sd5.js.map +0 -1
  415. package/dist/es/index-B1ImaC_E.js +0 -28
  416. package/dist/es/index-B1ImaC_E.js.map +0 -1
  417. package/dist/es/index-BZPx6jYI.js +0 -9
  418. package/dist/es/index-BZPx6jYI.js.map +0 -1
  419. package/dist/es/index-BcF6J_oE.js +0 -682
  420. package/dist/es/index-BcF6J_oE.js.map +0 -1
  421. package/dist/es/index-Bu1KwSAv.js +0 -250
  422. package/dist/es/index-Bu1KwSAv.js.map +0 -1
  423. package/dist/es/index-BySFQqHy.js +0 -179
  424. package/dist/es/index-BySFQqHy.js.map +0 -1
  425. package/dist/es/index-ByaXH_ih.js +0 -11
  426. package/dist/es/index-ByaXH_ih.js.map +0 -1
  427. package/dist/es/index-C1lxUgu8.js +0 -35
  428. package/dist/es/index-C1lxUgu8.js.map +0 -1
  429. package/dist/es/index-Cv4f_S7-.js +0 -633
  430. package/dist/es/index-Cv4f_S7-.js.map +0 -1
  431. package/dist/es/index-D0hprziO.js +0 -33
  432. package/dist/es/index-D0hprziO.js.map +0 -1
  433. package/dist/es/index-D8JcuGO5.js +0 -1526
  434. package/dist/es/index-D8JcuGO5.js.map +0 -1
  435. package/dist/es/index-DLeNytVF.js +0 -10
  436. package/dist/es/index-DLeNytVF.js.map +0 -1
  437. package/dist/es/index-DPEsKR25.js +0 -135
  438. package/dist/es/index-DPEsKR25.js.map +0 -1
  439. package/dist/es/index-DXnZn5I3.js +0 -48
  440. package/dist/es/index-DXnZn5I3.js.map +0 -1
  441. package/dist/es/index-Db9lcxQz.js +0 -14
  442. package/dist/es/index-Db9lcxQz.js.map +0 -1
  443. package/dist/es/index-Dekf5jV-.js +0 -33
  444. package/dist/es/index-Dekf5jV-.js.map +0 -1
  445. package/dist/es/index-DnGHEwBw.js +0 -17
  446. package/dist/es/index-DnGHEwBw.js.map +0 -1
  447. package/dist/es/index-DwYXX2sM.js +0 -14
  448. package/dist/es/index-DwYXX2sM.js.map +0 -1
  449. package/dist/es/index-UFb2E87s.js +0 -71
  450. package/dist/es/index-UFb2E87s.js.map +0 -1
  451. package/dist/es/index-YS751NDG.js +0 -119
  452. package/dist/es/index-YS751NDG.js.map +0 -1
  453. package/dist/es/index-f-iPgWOf.js +0 -72
  454. package/dist/es/index-f-iPgWOf.js.map +0 -1
  455. package/dist/es/index-nyDQUcyF.js +0 -70
  456. package/dist/es/index-nyDQUcyF.js.map +0 -1
  457. package/dist/es/index-rKs9bXHr.js +0 -7
  458. package/dist/es/index-rKs9bXHr.js.map +0 -1
  459. package/dist/es/index-tHF99yB3.js +0 -7
  460. package/dist/es/index-tHF99yB3.js.map +0 -1
  461. package/dist/es/input-otp.js +0 -261
  462. package/dist/es/input-otp.js.map +0 -1
  463. package/dist/es/input.js.map +0 -1
  464. package/dist/es/label.js +0 -37
  465. package/dist/es/label.js.map +0 -1
  466. package/dist/es/menubar.js +0 -570
  467. package/dist/es/menubar.js.map +0 -1
  468. package/dist/es/navigation-menu.js +0 -755
  469. package/dist/es/navigation-menu.js.map +0 -1
  470. package/dist/es/pagination.js +0 -121
  471. package/dist/es/pagination.js.map +0 -1
  472. package/dist/es/popover.js +0 -267
  473. package/dist/es/popover.js.map +0 -1
  474. package/dist/es/progress.js +0 -108
  475. package/dist/es/progress.js.map +0 -1
  476. package/dist/es/radio-group.js +0 -259
  477. package/dist/es/radio-group.js.map +0 -1
  478. package/dist/es/resizable.js +0 -1529
  479. package/dist/es/resizable.js.map +0 -1
  480. package/dist/es/scroll-area.js +0 -581
  481. package/dist/es/scroll-area.js.map +0 -1
  482. package/dist/es/select.js +0 -988
  483. package/dist/es/select.js.map +0 -1
  484. package/dist/es/separator.js +0 -45
  485. package/dist/es/separator.js.map +0 -1
  486. package/dist/es/sheet.js +0 -127
  487. package/dist/es/sheet.js.map +0 -1
  488. package/dist/es/sidebar-B-DB4ekI.js +0 -610
  489. package/dist/es/sidebar-B-DB4ekI.js.map +0 -1
  490. package/dist/es/sidebar.js +0 -39
  491. package/dist/es/sidebar.js.map +0 -1
  492. package/dist/es/skeleton.js +0 -16
  493. package/dist/es/skeleton.js.map +0 -1
  494. package/dist/es/slider.js +0 -475
  495. package/dist/es/slider.js.map +0 -1
  496. package/dist/es/sonner.js +0 -790
  497. package/dist/es/sonner.js.map +0 -1
  498. package/dist/es/switch.js +0 -141
  499. package/dist/es/switch.js.map +0 -1
  500. package/dist/es/table.js +0 -115
  501. package/dist/es/table.js.map +0 -1
  502. package/dist/es/tabs.js +0 -218
  503. package/dist/es/tabs.js.map +0 -1
  504. package/dist/es/textarea.js.map +0 -1
  505. package/dist/es/toggle-group.js +0 -189
  506. package/dist/es/toggle-group.js.map +0 -1
  507. package/dist/es/toggle-sZQvHluU.js.map +0 -1
  508. package/dist/es/toggle.js +0 -9
  509. package/dist/es/toggle.js.map +0 -1
  510. package/dist/es/tooltip.js +0 -377
  511. package/dist/es/tooltip.js.map +0 -1
  512. package/dist/es/utils-B9KdtH6G.js +0 -2494
  513. package/dist/es/utils-B9KdtH6G.js.map +0 -1
  514. package/dist/es/x-CRMDqlOZ.js +0 -15
  515. package/dist/es/x-CRMDqlOZ.js.map +0 -1
  516. package/dist/types/accordion.d.ts +0 -2
  517. package/dist/types/alert-dialog.d.ts +0 -2
  518. package/dist/types/alert.d.ts +0 -2
  519. package/dist/types/aspect-ratio.d.ts +0 -2
  520. package/dist/types/avatar.d.ts +0 -2
  521. package/dist/types/badge.d.ts +0 -2
  522. package/dist/types/breadcrumb.d.ts +0 -2
  523. package/dist/types/button.d.ts +0 -2
  524. package/dist/types/calendar.d.ts +0 -2
  525. package/dist/types/card.d.ts +0 -2
  526. package/dist/types/carousel.d.ts +0 -2
  527. package/dist/types/chart.d.ts +0 -2
  528. package/dist/types/checkbox.d.ts +0 -2
  529. package/dist/types/collapsible.d.ts +0 -2
  530. package/dist/types/command.d.ts +0 -2
  531. package/dist/types/context-menu.d.ts +0 -2
  532. package/dist/types/dialog.d.ts +0 -2
  533. package/dist/types/drawer.d.ts +0 -2
  534. package/dist/types/dropdown-menu.d.ts +0 -2
  535. package/dist/types/form.d.ts +0 -2
  536. package/dist/types/global.d.ts +0 -3
  537. package/dist/types/hover-card.d.ts +0 -2
  538. package/dist/types/input-otp.d.ts +0 -2
  539. package/dist/types/input.d.ts +0 -2
  540. package/dist/types/label.d.ts +0 -2
  541. package/dist/types/menubar.d.ts +0 -2
  542. package/dist/types/navigation-menu.d.ts +0 -2
  543. package/dist/types/pagination.d.ts +0 -2
  544. package/dist/types/popover.d.ts +0 -2
  545. package/dist/types/progress.d.ts +0 -2
  546. package/dist/types/radio-group.d.ts +0 -2
  547. package/dist/types/resizable.d.ts +0 -2
  548. package/dist/types/scroll-area.d.ts +0 -2
  549. package/dist/types/select.d.ts +0 -2
  550. package/dist/types/separator.d.ts +0 -2
  551. package/dist/types/sheet.d.ts +0 -2
  552. package/dist/types/sidebar.d.ts +0 -2
  553. package/dist/types/skeleton.d.ts +0 -2
  554. package/dist/types/slider.d.ts +0 -2
  555. package/dist/types/sonner.d.ts +0 -2
  556. package/dist/types/switch.d.ts +0 -2
  557. package/dist/types/table.d.ts +0 -2
  558. package/dist/types/tabs.d.ts +0 -2
  559. package/dist/types/textarea.d.ts +0 -2
  560. package/dist/types/toggle-group.d.ts +0 -2
  561. package/dist/types/toggle.d.ts +0 -2
  562. package/dist/types/tooltip.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-up.js","../../node_modules/@radix-ui/react-select/dist/index.mjs","../../src/components/ui/select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n","\"use client\";\n\n// packages/react/select/src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n BubbleSelect,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"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.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nvar BubbleSelect = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(\"select\", { ...selectProps, ref: composedRefs, defaultValue: value }) });\n }\n);\nBubbleSelect.displayName = \"BubbleSelect\";\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n className={cn(\n \"border-neutral-200 data-[placeholder]:text-neutral-500 [&_svg:not([class*='text-'])]:text-neutral-500 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 flex h-9 w-full items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:border-neutral-800 dark:data-[placeholder]:text-neutral-400 dark:[&_svg:not([class*='text-'])]:text-neutral-400 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-2 py-1.5 text-sm font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-neutral-200 pointer-events-none -mx-1 my-1 h-px dark:bg-neutral-800\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"names":["__iconNode","ChevronUp","createLucideIcon","OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createSelectScope","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","jsx","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","BubbleSelect","event","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","_a","_b","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","Slot","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","activeItem","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","selectProps","ref","prevValue","usePrevious","select","selectProto","VisuallyHidden","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","SelectPrimitive.Trigger","cn","SelectPrimitive.Icon","ChevronDownIcon","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectPrimitive.Label","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","CheckIcon","SelectPrimitive.ItemText","SelectPrimitive.Separator","SelectPrimitive.ScrollUpButton","ChevronUpIcon","SelectPrimitive.ScrollDownButton"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),u=require("react"),d=require("./index-urlL5V69.cjs"),p=require("./utils-Gb5_Gcy7.cjs");function f(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const v=f(u);var O="Separator",n="horizontal",m=["horizontal","vertical"],c=v.forwardRef((t,e)=>{const{decorative:r,orientation:a=n,...l}=t,o=b(a)?a:n,s=r?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return i.jsx(d.Primitive.div,{"data-orientation":o,...s,...l,ref:e})});c.displayName=O;function b(t){return m.includes(t)}var g=c;function S({className:t,orientation:e="horizontal",decorative:r=!0,...a}){return i.jsx(g,{"data-slot":"separator-root",decorative:r,orientation:e,className:p.cn("bg-neutral-200 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px dark:bg-neutral-800",t),...a})}exports.Separator=S;
2
- //# sourceMappingURL=separator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"separator.js","sources":["../../node_modules/@radix-ui/react-separator/dist/index.mjs","../../src/components/ui/separator.tsx"],"sourcesContent":["// packages/react/separator/src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-neutral-200 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px dark:bg-neutral-800\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"names":["NAME","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","props","forwardedRef","decorative","orientationProp","domProps","orientation","isValidOrientation","semanticProps","jsx","Primitive","Root","className","SeparatorPrimitive.Root","cn"],"mappings":"seAIA,IAAIA,EAAO,YACPC,EAAsB,aACtBC,EAAe,CAAC,aAAc,UAAU,EACxCC,EAAYC,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACxD,KAAM,CAAE,WAAAC,EAAY,YAAaC,EAAkBP,EAAqB,GAAGQ,CAAQ,EAAKJ,EAClFK,EAAcC,EAAmBH,CAAe,EAAIA,EAAkBP,EAEtEW,EAAgBL,EAAa,CAAE,KAAM,QAAW,CAAE,mBADhCG,IAAgB,WAAaA,EAAc,OAC0B,KAAM,WAAa,EAChH,OAAuBG,EAAG,IACxBC,EAAAA,UAAU,IACV,CACE,mBAAoBJ,EACpB,GAAGE,EACH,GAAGH,EACH,IAAKH,CACX,CACG,CACH,CAAC,EACDH,EAAU,YAAcH,EACxB,SAASW,EAAmBD,EAAa,CACvC,OAAOR,EAAa,SAASQ,CAAW,CAC1C,CACA,IAAIK,EAAOZ,ECnBX,SAASA,EAAU,CACjB,UAAAa,EACA,YAAAN,EAAc,aACd,WAAAH,EAAa,GACb,GAAGF,CACL,EAAyD,CAErD,OAAAQ,EAAA,IAACI,EAAA,CACC,YAAU,iBACV,WAAAV,EACA,YAAAG,EACA,UAAWQ,EAAA,GACT,0LACAF,CACF,EACC,GAAGX,CAAA,CACN,CAEJ","x_google_ignoreList":[0]}
package/dist/cjs/sheet.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("./index-DHINEOOo.cjs"),s=require("./utils-Gb5_Gcy7.cjs"),i=require("./x-Dn7F6zs7.cjs");function l({...t}){return e.jsx(o.Root,{"data-slot":"sheet",...t})}function d({...t}){return e.jsx(o.Trigger,{"data-slot":"sheet-trigger",...t})}function u({...t}){return e.jsx(o.Close,{"data-slot":"sheet-close",...t})}function c({...t}){return e.jsx(o.Portal,{"data-slot":"sheet-portal",...t})}function h({className:t,...a}){return e.jsx(o.Overlay,{"data-slot":"sheet-overlay",className:s.cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",t),...a})}function f({className:t,children:a,side:n="right",...r}){return e.jsxs(c,{children:[e.jsx(h,{}),e.jsxs(o.Content,{"data-slot":"sheet-content",className:s.cn("bg-white data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 dark:bg-neutral-950",n==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",n==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",n==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",n==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...r,children:[a,e.jsxs(o.Close,{className:"ring-offset-white focus:ring-neutral-950 data-[state=open]:bg-neutral-100 absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800",children:[e.jsx(i.X,{className:"size-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function x({className:t,...a}){return e.jsx("div",{"data-slot":"sheet-header",className:s.cn("flex flex-col gap-1.5 p-4",t),...a})}function m({className:t,...a}){return e.jsx("div",{"data-slot":"sheet-footer",className:s.cn("mt-auto flex flex-col gap-2 p-4",t),...a})}function g({className:t,...a}){return e.jsx(o.Title,{"data-slot":"sheet-title",className:s.cn("text-neutral-950 font-semibold dark:text-neutral-50",t),...a})}function p({className:t,...a}){return e.jsx(o.Description,{"data-slot":"sheet-description",className:s.cn("text-neutral-500 text-sm dark:text-neutral-400",t),...a})}exports.Sheet=l;exports.SheetClose=u;exports.SheetContent=f;exports.SheetDescription=p;exports.SheetFooter=m;exports.SheetHeader=x;exports.SheetTitle=g;exports.SheetTrigger=d;
2
- //# sourceMappingURL=sheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sheet.js","sources":["../../src/components/ui/sheet.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-white data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 dark:bg-neutral-950\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-white focus:ring-neutral-950 data-[state=open]:bg-neutral-100 absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-neutral-950 font-semibold dark:text-neutral-50\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-neutral-500 text-sm dark:text-neutral-400\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n"],"names":["Sheet","props","SheetPrimitive.Root","SheetTrigger","SheetPrimitive.Trigger","SheetClose","SheetPrimitive.Close","SheetPortal","SheetPrimitive.Portal","SheetOverlay","className","jsx","SheetPrimitive.Overlay","cn","SheetContent","children","side","jsxs","SheetPrimitive.Content","XIcon","SheetHeader","SheetFooter","SheetTitle","SheetPrimitive.Title","SheetDescription","SheetPrimitive.Description"],"mappings":"uNAQA,SAASA,EAAM,CAAE,GAAGC,GAA2D,CAC7E,aAAQC,EAAAA,KAAA,CAAoB,YAAU,QAAS,GAAGD,EAAO,CAC3D,CAEA,SAASE,EAAa,CACpB,GAAGF,CACL,EAAwD,CACtD,aAAQG,EAAAA,QAAA,CAAuB,YAAU,gBAAiB,GAAGH,EAAO,CACtE,CAEA,SAASI,EAAW,CAClB,GAAGJ,CACL,EAAsD,CACpD,aAAQK,EAAAA,MAAA,CAAqB,YAAU,cAAe,GAAGL,EAAO,CAClE,CAEA,SAASM,EAAY,CACnB,GAAGN,CACL,EAAuD,CACrD,aAAQO,EAAAA,OAAA,CAAsB,YAAU,eAAgB,GAAGP,EAAO,CACpE,CAEA,SAASQ,EAAa,CACpB,UAAAC,EACA,GAAGT,CACL,EAAwD,CAEpD,OAAAU,EAAA,IAACC,EAAe,QAAf,CACC,YAAU,gBACV,UAAWC,EAAA,GACT,yJACAH,CACF,EACC,GAAGT,CAAA,CACN,CAEJ,CAEA,SAASa,EAAa,CACpB,UAAAJ,EACA,SAAAK,EACA,KAAAC,EAAO,QACP,GAAGf,CACL,EAEG,CACD,cACGM,EACC,CAAA,SAAA,CAAAI,EAAA,IAACF,EAAa,EAAA,EACdQ,EAAA,KAACC,EAAe,QAAf,CACC,YAAU,gBACV,UAAWL,EAAA,GACT,4NACAG,IAAS,SACP,mIACFA,IAAS,QACP,gIACFA,IAAS,OACP,2GACFA,IAAS,UACP,oHACFN,CACF,EACC,GAAGT,EAEH,SAAA,CAAAc,EACAE,EAAAA,KAAAX,EAAAA,MAAA,CAAqB,UAAU,gVAC9B,SAAA,CAACK,EAAAA,IAAAQ,EAAA,EAAA,CAAM,UAAU,QAAS,CAAA,EACzBR,EAAA,IAAA,OAAA,CAAK,UAAU,UAAU,SAAK,OAAA,CAAA,CAAA,CACjC,CAAA,CAAA,CAAA,CAAA,CACF,EACF,CAEJ,CAEA,SAASS,EAAY,CAAE,UAAAV,EAAW,GAAGT,GAAsC,CAEvE,OAAAU,EAAA,IAAC,MAAA,CACC,YAAU,eACV,UAAWE,EAAAA,GAAG,4BAA6BH,CAAS,EACnD,GAAGT,CAAA,CACN,CAEJ,CAEA,SAASoB,EAAY,CAAE,UAAAX,EAAW,GAAGT,GAAsC,CAEvE,OAAAU,EAAA,IAAC,MAAA,CACC,YAAU,eACV,UAAWE,EAAAA,GAAG,kCAAmCH,CAAS,EACzD,GAAGT,CAAA,CACN,CAEJ,CAEA,SAASqB,EAAW,CAClB,UAAAZ,EACA,GAAGT,CACL,EAAsD,CAElD,OAAAU,EAAA,IAACY,EAAe,MAAf,CACC,YAAU,cACV,UAAWV,EAAAA,GAAG,sDAAuDH,CAAS,EAC7E,GAAGT,CAAA,CACN,CAEJ,CAEA,SAASuB,EAAiB,CACxB,UAAAd,EACA,GAAGT,CACL,EAA4D,CAExD,OAAAU,EAAA,IAACc,EAAe,YAAf,CACC,YAAU,oBACV,UAAWZ,EAAAA,GAAG,iDAAkDH,CAAS,EACxE,GAAGT,CAAA,CACN,CAEJ"}
@@ -1,7 +0,0 @@
1
- "use strict";const t=require("react/jsx-runtime"),C=require("react"),h=require("./index-Fzi6xTMp.cjs"),E=require("./index-CDuvS0oh.cjs"),n=require("./utils-Gb5_Gcy7.cjs"),O=require("./button.js"),B=require("./input.js"),T=require("./separator.js"),m=require("./sheet.js"),N=require("./skeleton.js"),j=require("./tooltip.js"),D=require("./createLucideIcon-7s3OZKKJ.cjs");function q(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:()=>a[r]})}}return e.default=a,Object.freeze(e)}const d=q(C);/**
2
- * @license lucide-react v0.477.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const A=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],R=D.createLucideIcon("PanelLeft",A),M=768;function _(){const[a,e]=d.useState(void 0);return d.useEffect(()=>{const r=window.matchMedia(`(max-width: ${M-1}px)`),i=()=>{e(window.innerWidth<M)};return r.addEventListener("change",i),e(window.innerWidth<M),()=>r.removeEventListener("change",i)},[]),!!a}const L="sidebar_state",G=60*60*24*7,P="16rem",H="18rem",K="3rem",W="b",I=d.createContext(null);function x(){const a=d.useContext(I);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}function V({defaultOpen:a=!0,open:e,onOpenChange:r,className:i,style:s,children:l,...p}){const c=_(),[f,u]=d.useState(!1),[v,k]=d.useState(a),g=e??v,S=d.useCallback(o=>{const b=typeof o=="function"?o(g):o;r?r(b):k(b),document.cookie=`${L}=${b}; path=/; max-age=${G}`},[r,g]),w=d.useCallback(()=>c?u(o=>!o):S(o=>!o),[c,S,u]);d.useEffect(()=>{const o=b=>{b.key===W&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),w())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[w]);const y=g?"expanded":"collapsed",z=d.useMemo(()=>({state:y,open:g,setOpen:S,isMobile:c,openMobile:f,setOpenMobile:u,toggleSidebar:w}),[y,g,S,c,f,u,w]);return t.jsx(I.Provider,{value:z,children:t.jsx(j.TooltipProvider,{delayDuration:0,children:t.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":P,"--sidebar-width-icon":K,...s},className:n.cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...p,children:l})})})}function F({side:a="left",variant:e="sidebar",collapsible:r="offcanvas",className:i,children:s,...l}){const{isMobile:p,state:c,openMobile:f,setOpenMobile:u}=x();return r==="none"?t.jsx("div",{"data-slot":"sidebar",className:n.cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...l,children:s}):p?t.jsx(m.Sheet,{open:f,onOpenChange:u,...l,children:t.jsxs(m.SheetContent,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":H},side:a,children:[t.jsxs(m.SheetHeader,{className:"sr-only",children:[t.jsx(m.SheetTitle,{children:"Sidebar"}),t.jsx(m.SheetDescription,{children:"Displays the mobile sidebar."})]}),t.jsx("div",{className:"flex h-full w-full flex-col",children:s})]})}):t.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":c,"data-collapsible":c==="collapsed"?r:"","data-variant":e,"data-side":a,"data-slot":"sidebar",children:[t.jsx("div",{className:n.cn("relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),t.jsx("div",{className:n.cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",a==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...l,children:t.jsx("div",{"data-sidebar":"sidebar",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:s})})]})}function $({className:a,onClick:e,...r}){const{toggleSidebar:i}=x();return t.jsxs(O.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:n.cn("h-7 w-7",a),onClick:s=>{e==null||e(s),i()},...r,children:[t.jsx(R,{}),t.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function U({className:a,...e}){const{toggleSidebar:r}=x();return t.jsx("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:n.cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...e})}function X({className:a,...e}){return t.jsx("main",{"data-slot":"sidebar-inset",className:n.cn("bg-white relative flex min-h-svh w-full flex-1 flex-col dark:bg-neutral-950","peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...e})}function Y({className:a,...e}){return t.jsx(B.Input,{"data-slot":"sidebar-input","data-sidebar":"input",className:n.cn("bg-white h-8 w-full shadow-none dark:bg-neutral-950",a),...e})}function J({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:n.cn("flex flex-col gap-2 p-2",a),...e})}function Q({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:n.cn("flex flex-col gap-2 p-2",a),...e})}function Z({className:a,...e}){return t.jsx(T.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:n.cn("bg-sidebar-border mx-2 w-auto",a),...e})}function ee({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:n.cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...e})}function ae({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:n.cn("relative flex w-full min-w-0 flex-col p-2",a),...e})}function te({className:a,asChild:e=!1,...r}){const i=e?h.Slot:"div";return t.jsx(i,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:n.cn("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...r})}function re({className:a,asChild:e=!1,...r}){const i=e?h.Slot:"button";return t.jsx(i,{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:n.cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","group-data-[collapsible=icon]:hidden",a),...r})}function ie({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:n.cn("w-full text-sm",a),...e})}function ne({className:a,...e}){return t.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:n.cn("flex w-full min-w-0 flex-col gap-1",a),...e})}function se({className:a,...e}){return t.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:n.cn("group/menu-item relative",a),...e})}const de=E.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-white shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))] dark:bg-neutral-950"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function oe({asChild:a=!1,isActive:e=!1,variant:r="default",size:i="default",tooltip:s,className:l,...p}){const c=a?h.Slot:"button",{isMobile:f,state:u}=x(),v=t.jsx(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i,"data-active":e,className:n.cn(de({variant:r,size:i}),l),...p});return s?(typeof s=="string"&&(s={children:s}),t.jsxs(j.Tooltip,{children:[t.jsx(j.TooltipTrigger,{asChild:!0,children:v}),t.jsx(j.TooltipContent,{side:"right",align:"center",hidden:u!=="collapsed"||f,...s})]})):v}function le({className:a,asChild:e=!1,showOnHover:r=!1,...i}){const s=e?h.Slot:"button";return t.jsx(s,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:n.cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",a),...i})}function ce({className:a,...e}){return t.jsx("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:n.cn("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...e})}function ue({className:a,showIcon:e=!1,...r}){const i=d.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return t.jsxs("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:n.cn("flex h-8 items-center gap-2 rounded-md px-2",a),...r,children:[e&&t.jsx(N.Skeleton,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),t.jsx(N.Skeleton,{className:"h-4 max-w-(--skeleton-width) flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})}function be({className:a,...e}){return t.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:n.cn("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...e})}function fe({className:a,...e}){return t.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:n.cn("group/menu-sub-item relative",a),...e})}function pe({asChild:a=!1,size:e="md",isActive:r=!1,className:i,...s}){const l=a?h.Slot:"a";return t.jsx(l,{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":e,"data-active":r,className:n.cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",e==="sm"&&"text-xs",e==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",i),...s})}exports.Sidebar=F;exports.SidebarContent=ee;exports.SidebarFooter=Q;exports.SidebarGroup=ae;exports.SidebarGroupAction=re;exports.SidebarGroupContent=ie;exports.SidebarGroupLabel=te;exports.SidebarHeader=J;exports.SidebarInput=Y;exports.SidebarInset=X;exports.SidebarMenu=ne;exports.SidebarMenuAction=le;exports.SidebarMenuBadge=ce;exports.SidebarMenuButton=oe;exports.SidebarMenuItem=se;exports.SidebarMenuSkeleton=ue;exports.SidebarMenuSub=be;exports.SidebarMenuSubButton=pe;exports.SidebarMenuSubItem=fe;exports.SidebarProvider=V;exports.SidebarRail=U;exports.SidebarSeparator=Z;exports.SidebarTrigger=$;exports.useIsMobile=_;exports.useSidebar=x;
7
- //# sourceMappingURL=sidebar-Bx3XeHcA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-Bx3XeHcA.cjs","sources":["../../node_modules/lucide-react/dist/esm/icons/panel-left.js","../../src/hooks/use-mobile.tsx","../../src/components/ui/sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n];\nconst PanelLeft = createLucideIcon(\"PanelLeft\", __iconNode);\n\nexport { __iconNode, PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport { PanelLeftIcon } from \"lucide-react\"\n\nimport { useIsMobile } from \"@/hooks/use-mobile\"\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Separator } from \"@/components/ui/separator\"\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"@/components/ui/sheet\"\nimport { Skeleton } from \"@/components/ui/skeleton\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\"\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContext = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}) {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => window.removeEventListener(\"keydown\", handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-white relative flex min-h-svh w-full flex-1 flex-col dark:bg-neutral-950\",\n \"peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-white h-8 w-full shadow-none dark:bg-neutral-950\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n )\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-white shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))] dark:bg-neutral-950\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : \"button\"\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean\n size?: \"sm\" | \"md\"\n isActive?: boolean\n}) {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n"],"names":["__iconNode","PanelLeft","createLucideIcon","MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","React","mql","onChange","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");require("./index-Fzi6xTMp.cjs");require("./index-CDuvS0oh.cjs");const e=require("./sidebar-Bx3XeHcA.cjs");require("./utils-Gb5_Gcy7.cjs");require("./button.js");require("./input.js");require("./separator.js");require("./sheet.js");require("./skeleton.js");require("./tooltip.js");exports.Sidebar=e.Sidebar;exports.SidebarContent=e.SidebarContent;exports.SidebarFooter=e.SidebarFooter;exports.SidebarGroup=e.SidebarGroup;exports.SidebarGroupAction=e.SidebarGroupAction;exports.SidebarGroupContent=e.SidebarGroupContent;exports.SidebarGroupLabel=e.SidebarGroupLabel;exports.SidebarHeader=e.SidebarHeader;exports.SidebarInput=e.SidebarInput;exports.SidebarInset=e.SidebarInset;exports.SidebarMenu=e.SidebarMenu;exports.SidebarMenuAction=e.SidebarMenuAction;exports.SidebarMenuBadge=e.SidebarMenuBadge;exports.SidebarMenuButton=e.SidebarMenuButton;exports.SidebarMenuItem=e.SidebarMenuItem;exports.SidebarMenuSkeleton=e.SidebarMenuSkeleton;exports.SidebarMenuSub=e.SidebarMenuSub;exports.SidebarMenuSubButton=e.SidebarMenuSubButton;exports.SidebarMenuSubItem=e.SidebarMenuSubItem;exports.SidebarProvider=e.SidebarProvider;exports.SidebarRail=e.SidebarRail;exports.SidebarSeparator=e.SidebarSeparator;exports.SidebarTrigger=e.SidebarTrigger;exports.useSidebar=e.useSidebar;
2
- //# sourceMappingURL=sidebar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("./utils-Gb5_Gcy7.cjs");function u({className:e,...t}){return n.jsx("div",{"data-slot":"skeleton",className:r.cn("bg-neutral-900/10 animate-pulse rounded-md dark:bg-neutral-50/10",e),...t})}exports.Skeleton=u;
2
- //# sourceMappingURL=skeleton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skeleton.js","sources":["../../src/components/ui/skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/lib/utils\"\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"bg-neutral-900/10 animate-pulse rounded-md dark:bg-neutral-50/10\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"],"names":["Skeleton","className","props","jsx","cn"],"mappings":"uJAGA,SAASA,EAAS,CAAE,UAAAC,EAAW,GAAGC,GAAsC,CAEpE,OAAAC,EAAA,IAAC,MAAA,CACC,YAAU,WACV,UAAWC,EAAAA,GAAG,mEAAoEH,CAAS,EAC1F,GAAGC,CAAA,CACN,CAEJ"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),ce=require("react"),U=require("./index-C8ni3LLa.cjs"),_=require("./index-DaxnLcvM.cjs"),I=require("./index-Fzi6xTMp.cjs"),le=require("./index-YIs2_rrG.cjs"),de=require("./index-BcYohIA6.cjs"),ue=require("./index-Cje7xxa1.cjs"),fe=require("./index-DYxWvftI.cjs"),me=require("./index-CtQPmeNr.cjs"),T=require("./index-urlL5V69.cjs"),he=require("./index-D5UqZzES.cjs"),B=require("./utils-Gb5_Gcy7.cjs");function pe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const d=pe(ce);var Y=["PageUp","PageDown"],X=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],G={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},j="Slider",[O,ge,Se]=he.createCollection(j),[W,He]=le.createContextScope(j,[Se]),[ve,K]=W(j),J=d.forwardRef((e,t)=>{const{name:n,min:r=0,max:i=100,step:a=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:l=0,defaultValue:h=[r],value:w,onValueChange:s=()=>{},onValueCommit:u=()=>{},inverted:v=!1,form:y,...S}=e,p=d.useRef(new Set),m=d.useRef(0),b=o==="horizontal"?be:xe,[g=[],M]=de.useControllableState({prop:w,defaultProp:h,onChange:x=>{var E;(E=[...p.current][m.current])==null||E.focus(),s(x)}}),H=d.useRef(g);function V(x){const P=De(g,x);A(x,P)}function se(x){A(x,m.current)}function ae(){const x=H.current[m.current];g[m.current]!==x&&u(g)}function A(x,P,{commit:E}={commit:!1}){const L=je(a),z=Me(Math.round((x-r)/a)*a+r,L),k=U.clamp(z,[r,i]);M((C=[])=>{const R=Pe(C,k,P);if(_e(R,l*a)){m.current=R.indexOf(k);const F=String(R)!==String(C);return F&&E&&u(R),F?R:C}else return C})}return f.jsx(ve,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:i,valueIndexToChangeRef:m,thumbs:p.current,values:g,orientation:o,form:y,children:f.jsx(O.Provider,{scope:e.__scopeSlider,children:f.jsx(O.Slot,{scope:e.__scopeSlider,children:f.jsx(b,{"aria-disabled":c,"data-disabled":c?"":void 0,...S,ref:t,onPointerDown:_.composeEventHandlers(S.onPointerDown,()=>{c||(H.current=g)}),min:r,max:i,inverted:v,onSlideStart:c?void 0:V,onSlideMove:c?void 0:se,onSlideEnd:c?void 0:ae,onHomeKeyDown:()=>!c&&A(r,0,{commit:!0}),onEndKeyDown:()=>!c&&A(i,g.length-1,{commit:!0}),onStepKeyDown:({event:x,direction:P})=>{if(!c){const z=Y.includes(x.key)||x.shiftKey&&X.includes(x.key)?10:1,k=m.current,C=g[k],R=a*z*P;A(C+R,k,{commit:!0})}}})})})})});J.displayName=j;var[Q,Z]=W(j,{startEdge:"left",endEdge:"right",size:"width",direction:1}),be=d.forwardRef((e,t)=>{const{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:c,onSlideEnd:l,onStepKeyDown:h,...w}=e,[s,u]=d.useState(null),v=I.useComposedRefs(t,b=>u(b)),y=d.useRef(void 0),S=ue.useDirection(i),p=S==="ltr",m=p&&!a||!p&&a;function D(b){const g=y.current||s.getBoundingClientRect(),M=[0,g.width],V=q(M,m?[n,r]:[r,n]);return y.current=g,V(b-g.left)}return f.jsx(Q,{scope:e.__scopeSlider,startEdge:m?"left":"right",endEdge:m?"right":"left",direction:m?1:-1,size:"width",children:f.jsx(ee,{dir:S,"data-orientation":"horizontal",...w,ref:v,style:{...w.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:b=>{const g=D(b.clientX);o==null||o(g)},onSlideMove:b=>{const g=D(b.clientX);c==null||c(g)},onSlideEnd:()=>{y.current=void 0,l==null||l()},onStepKeyDown:b=>{const M=G[m?"from-left":"from-right"].includes(b.key);h==null||h({event:b,direction:M?-1:1})}})})}),xe=d.forwardRef((e,t)=>{const{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:c,onStepKeyDown:l,...h}=e,w=d.useRef(null),s=I.useComposedRefs(t,w),u=d.useRef(void 0),v=!i;function y(S){const p=u.current||w.current.getBoundingClientRect(),m=[0,p.height],b=q(m,v?[r,n]:[n,r]);return u.current=p,b(S-p.top)}return f.jsx(Q,{scope:e.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:f.jsx(ee,{"data-orientation":"vertical",...h,ref:s,style:{...h.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:S=>{const p=y(S.clientY);a==null||a(p)},onSlideMove:S=>{const p=y(S.clientY);o==null||o(p)},onSlideEnd:()=>{u.current=void 0,c==null||c()},onStepKeyDown:S=>{const m=G[v?"from-bottom":"from-top"].includes(S.key);l==null||l({event:S,direction:m?-1:1})}})})}),ee=d.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:c,onStepKeyDown:l,...h}=e,w=K(j,n);return f.jsx(T.Primitive.span,{...h,ref:t,onKeyDown:_.composeEventHandlers(e.onKeyDown,s=>{s.key==="Home"?(o(s),s.preventDefault()):s.key==="End"?(c(s),s.preventDefault()):Y.concat(X).includes(s.key)&&(l(s),s.preventDefault())}),onPointerDown:_.composeEventHandlers(e.onPointerDown,s=>{const u=s.target;u.setPointerCapture(s.pointerId),s.preventDefault(),w.thumbs.has(u)?u.focus():r(s)}),onPointerMove:_.composeEventHandlers(e.onPointerMove,s=>{s.target.hasPointerCapture(s.pointerId)&&i(s)}),onPointerUp:_.composeEventHandlers(e.onPointerUp,s=>{const u=s.target;u.hasPointerCapture(s.pointerId)&&(u.releasePointerCapture(s.pointerId),a(s))})})}),te="SliderTrack",ne=d.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,i=K(te,n);return f.jsx(T.Primitive.span,{"data-disabled":i.disabled?"":void 0,"data-orientation":i.orientation,...r,ref:t})});ne.displayName=te;var N="SliderRange",re=d.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,i=K(N,n),a=Z(N,n),o=d.useRef(null),c=I.useComposedRefs(t,o),l=i.values.length,h=i.values.map(u=>ie(u,i.min,i.max)),w=l>1?Math.min(...h):0,s=100-Math.max(...h);return f.jsx(T.Primitive.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?"":void 0,...r,ref:c,style:{...e.style,[a.startEdge]:w+"%",[a.endEdge]:s+"%"}})});re.displayName=N;var $="SliderThumb",oe=d.forwardRef((e,t)=>{const n=ge(e.__scopeSlider),[r,i]=d.useState(null),a=I.useComposedRefs(t,c=>i(c)),o=d.useMemo(()=>r?n().findIndex(c=>c.ref.current===r):-1,[n,r]);return f.jsx(we,{...e,ref:a,index:o})}),we=d.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:i,...a}=e,o=K($,n),c=Z($,n),[l,h]=d.useState(null),w=I.useComposedRefs(t,D=>h(D)),s=l?o.form||!!l.closest("form"):!0,u=me.useSize(l),v=o.values[r],y=v===void 0?0:ie(v,o.min,o.max),S=Re(r,o.values.length),p=u==null?void 0:u[c.size],m=p?Ee(p,y,c.direction):0;return d.useEffect(()=>{if(l)return o.thumbs.add(l),()=>{o.thumbs.delete(l)}},[l,o.thumbs]),f.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${y}% + ${m}px)`},children:[f.jsx(O.ItemSlot,{scope:e.__scopeSlider,children:f.jsx(T.Primitive.span,{role:"slider","aria-label":e["aria-label"]||S,"aria-valuemin":o.min,"aria-valuenow":v,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...a,ref:w,style:v===void 0?{display:"none"}:e.style,onFocus:_.composeEventHandlers(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),s&&f.jsx(ye,{name:i??(o.name?o.name+(o.values.length>1?"[]":""):void 0),form:o.form,value:v},r)]})});oe.displayName=$;var ye=e=>{const{value:t,...n}=e,r=d.useRef(null),i=fe.usePrevious(t);return d.useEffect(()=>{const a=r.current,o=window.HTMLInputElement.prototype,l=Object.getOwnPropertyDescriptor(o,"value").set;if(i!==t&&l){const h=new Event("input",{bubbles:!0});l.call(a,t),a.dispatchEvent(h)}},[i,t]),f.jsx("input",{style:{display:"none"},...n,ref:r,defaultValue:t})};function Pe(e=[],t,n){const r=[...e];return r[n]=t,r.sort((i,a)=>i-a)}function ie(e,t,n){const a=100/(n-t)*(e-t);return U.clamp(a,[0,100])}function Re(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function De(e,t){if(e.length===1)return 0;const n=e.map(i=>Math.abs(i-t)),r=Math.min(...n);return n.indexOf(r)}function Ee(e,t,n){const r=e/2,a=q([0,50],[0,r]);return(r-a(t)*n)*n}function Ce(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function _e(e,t){if(t>0){const n=Ce(e);return Math.min(...n)>=t}return!0}function q(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function je(e){return(String(e).split(".")[1]||"").length}function Me(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var Ae=J,ke=ne,Ie=re,Te=oe;function Ke({className:e,defaultValue:t,value:n,min:r=0,max:i=100,...a}){const o=d.useMemo(()=>Array.isArray(n)?n:Array.isArray(t)?t:[r,i],[n,t,r,i]);return f.jsxs(Ae,{"data-slot":"slider",defaultValue:t,value:n,min:r,max:i,className:B.cn("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...a,children:[f.jsx(ke,{"data-slot":"slider-track",className:B.cn("bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800"),children:f.jsx(Ie,{"data-slot":"slider-range",className:B.cn("bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50")})}),Array.from({length:o.length},(c,l)=>f.jsx(Te,{"data-slot":"slider-thumb",className:"border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800"},l))]})}exports.Slider=Ke;
2
- //# sourceMappingURL=slider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.js","sources":["../../node_modules/@radix-ui/react-slider/dist/index.mjs","../../src/components/ui/slider.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/slider/src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { value, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\"input\", { style: { display: \"none\" }, ...inputProps, ref, defaultValue: value });\n};\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\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 getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n )\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800\"\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50\"\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800\"\n />\n ))}\n </SliderPrimitive.Root>\n )\n}\n\nexport { Slider }\n"],"names":["PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","useCollection","createCollectionScope","createCollection","createSliderContext","createSliderScope","createContextScope","SliderProvider","useSliderContext","Slider","React","props","forwardedRef","name","min","max","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","value","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","useControllableState","value2","_a","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","nextValue","clamp","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","jsx","composeEventHandlers","event","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","composedRefs","useComposedRefs","node","rectRef","direction","useDirection","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","ref","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","context","Primitive","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","index","item","SliderThumbImpl","thumbProps","isFormControl","size","useSize","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","BubbleInput","inputProps","usePrevious","inputProto","setValue","a","b","percentage","totalValues","distances","closestDistance","width","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","className","_values","SliderPrimitive.Root","cn","SliderPrimitive.Track","SliderPrimitive.Range","_","SliderPrimitive.Thumb"],"mappings":"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","x_google_ignoreList":[0]}