@zentauri-ui/zentauri-components 1.4.61 → 1.4.63

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 (597) hide show
  1. package/README.md +73 -73
  2. package/dist/{chunk-JE3PD5ZA.js → chunk-2VUMVDR3.js} +8 -8
  3. package/dist/{chunk-JE3PD5ZA.js.map → chunk-2VUMVDR3.js.map} +1 -1
  4. package/dist/{chunk-DFEZH7TC.mjs → chunk-4D54YOL6.mjs} +2 -2
  5. package/dist/{chunk-DFEZH7TC.mjs.map → chunk-4D54YOL6.mjs.map} +1 -1
  6. package/dist/{chunk-UXGHUBNJ.mjs → chunk-4LT2GNJL.mjs} +13 -13
  7. package/dist/{chunk-UXGHUBNJ.mjs.map → chunk-4LT2GNJL.mjs.map} +1 -1
  8. package/dist/{chunk-BORK3BJO.mjs → chunk-5TV7EL3H.mjs} +19 -19
  9. package/dist/chunk-5TV7EL3H.mjs.map +1 -0
  10. package/dist/{chunk-BSWYZTYK.js → chunk-7DCFVPWN.js} +2 -2
  11. package/dist/chunk-7DCFVPWN.js.map +1 -0
  12. package/dist/{chunk-5QB2KNZQ.js → chunk-7TLKLMBM.js} +11 -9
  13. package/dist/chunk-7TLKLMBM.js.map +1 -0
  14. package/dist/{chunk-2P3UU2J3.mjs → chunk-A6KMZ5ZS.mjs} +12 -12
  15. package/dist/chunk-A6KMZ5ZS.mjs.map +1 -0
  16. package/dist/{chunk-OJ67PZ6N.js → chunk-BCZIYH53.js} +8 -8
  17. package/dist/{chunk-OJ67PZ6N.js.map → chunk-BCZIYH53.js.map} +1 -1
  18. package/dist/{chunk-3OR47XMY.js → chunk-E4FZY7O2.js} +52 -33
  19. package/dist/chunk-E4FZY7O2.js.map +1 -0
  20. package/dist/{chunk-XLAFQ24R.js → chunk-G3B6OHFG.js} +49 -41
  21. package/dist/chunk-G3B6OHFG.js.map +1 -0
  22. package/dist/{chunk-RDSPHBHK.mjs → chunk-G3LEYBRV.mjs} +50 -7
  23. package/dist/chunk-G3LEYBRV.mjs.map +1 -0
  24. package/dist/chunk-GBWGVNDA.js +160 -0
  25. package/dist/chunk-GBWGVNDA.js.map +1 -0
  26. package/dist/{chunk-LVUPECBT.mjs → chunk-H2I54QPJ.mjs} +12 -12
  27. package/dist/chunk-H2I54QPJ.mjs.map +1 -0
  28. package/dist/{chunk-XWM2S6VV.mjs → chunk-I6GR234Z.mjs} +22 -20
  29. package/dist/chunk-I6GR234Z.mjs.map +1 -0
  30. package/dist/{chunk-WZKGRU3U.js → chunk-JUDMPOCI.js} +103 -38
  31. package/dist/chunk-JUDMPOCI.js.map +1 -0
  32. package/dist/chunk-K6YI4FJO.mjs +158 -0
  33. package/dist/chunk-K6YI4FJO.mjs.map +1 -0
  34. package/dist/{chunk-WP7GYBRI.js → chunk-KC5LEZ6J.js} +2 -2
  35. package/dist/chunk-KC5LEZ6J.js.map +1 -0
  36. package/dist/{chunk-PCK6LX3K.js → chunk-KEKNNZD3.js} +19 -19
  37. package/dist/{chunk-PCK6LX3K.js.map → chunk-KEKNNZD3.js.map} +1 -1
  38. package/dist/{chunk-UBFKTC2P.mjs → chunk-LJ7AAIA3.mjs} +3 -3
  39. package/dist/{chunk-UBFKTC2P.mjs.map → chunk-LJ7AAIA3.mjs.map} +1 -1
  40. package/dist/{chunk-BVXTOEBI.mjs → chunk-LN77JJTY.mjs} +45 -26
  41. package/dist/chunk-LN77JJTY.mjs.map +1 -0
  42. package/dist/{chunk-E3DZNJAD.js → chunk-MCOQHXRW.js} +23 -21
  43. package/dist/chunk-MCOQHXRW.js.map +1 -0
  44. package/dist/{chunk-FLILFCQE.mjs → chunk-MTLLJFUI.mjs} +7 -8
  45. package/dist/chunk-MTLLJFUI.mjs.map +1 -0
  46. package/dist/{chunk-C2FCPQTO.js → chunk-MXKGDFQH.js} +7 -7
  47. package/dist/{chunk-C2FCPQTO.js.map → chunk-MXKGDFQH.js.map} +1 -1
  48. package/dist/{chunk-UOFTZKMM.js → chunk-MXLRXYIX.js} +18 -18
  49. package/dist/{chunk-UOFTZKMM.js.map → chunk-MXLRXYIX.js.map} +1 -1
  50. package/dist/{chunk-6I7X5BF2.js → chunk-N2OAI2HN.js} +18 -18
  51. package/dist/chunk-N2OAI2HN.js.map +1 -0
  52. package/dist/{chunk-BITDSQMR.js → chunk-OB4KJZK2.js} +19 -19
  53. package/dist/chunk-OB4KJZK2.js.map +1 -0
  54. package/dist/{chunk-2PQEXQVR.js → chunk-PWL5WD34.js} +76 -27
  55. package/dist/chunk-PWL5WD34.js.map +1 -0
  56. package/dist/{chunk-FT2LMA66.mjs → chunk-QADZK5R7.mjs} +2 -2
  57. package/dist/chunk-QADZK5R7.mjs.map +1 -0
  58. package/dist/{chunk-XIXF7UVM.mjs → chunk-QEGACUFU.mjs} +12 -12
  59. package/dist/chunk-QEGACUFU.mjs.map +1 -0
  60. package/dist/{chunk-WDCIZHXY.mjs → chunk-QZTEFGZF.mjs} +6 -4
  61. package/dist/chunk-QZTEFGZF.mjs.map +1 -0
  62. package/dist/{chunk-N4NO3SYL.js → chunk-SKPZCISM.js} +48 -40
  63. package/dist/chunk-SKPZCISM.js.map +1 -0
  64. package/dist/{chunk-7HL3A4YF.mjs → chunk-TJUNN2PT.mjs} +73 -24
  65. package/dist/chunk-TJUNN2PT.mjs.map +1 -0
  66. package/dist/{chunk-IXDJ3IPG.mjs → chunk-TTYZBO4E.mjs} +40 -32
  67. package/dist/chunk-TTYZBO4E.mjs.map +1 -0
  68. package/dist/{chunk-4B7KGBQB.js → chunk-UWA23DUC.js} +12 -13
  69. package/dist/chunk-UWA23DUC.js.map +1 -0
  70. package/dist/{chunk-CY5BQKRZ.mjs → chunk-VXDEPZKH.mjs} +2 -2
  71. package/dist/chunk-VXDEPZKH.mjs.map +1 -0
  72. package/dist/{chunk-TZ2JVWTZ.mjs → chunk-YNBJAFI2.mjs} +3 -3
  73. package/dist/{chunk-TZ2JVWTZ.mjs.map → chunk-YNBJAFI2.mjs.map} +1 -1
  74. package/dist/{chunk-P5HUBXUX.js → chunk-YTRGRHEB.js} +55 -12
  75. package/dist/chunk-YTRGRHEB.js.map +1 -0
  76. package/dist/{chunk-U4YQCAXW.js → chunk-Z7PHKV2T.js} +18 -18
  77. package/dist/chunk-Z7PHKV2T.js.map +1 -0
  78. package/dist/{chunk-YNCD6TKE.mjs → chunk-ZBBFOMSJ.mjs} +103 -38
  79. package/dist/chunk-ZBBFOMSJ.mjs.map +1 -0
  80. package/dist/{chunk-PGH27VTL.mjs → chunk-ZIDKBEQJ.mjs} +40 -32
  81. package/dist/chunk-ZIDKBEQJ.mjs.map +1 -0
  82. package/dist/{chunk-UOZYPWDZ.js → chunk-ZS5756ZC.js} +2 -2
  83. package/dist/{chunk-UOZYPWDZ.js.map → chunk-ZS5756ZC.js.map} +1 -1
  84. package/dist/{chunk-W6PRMYUC.mjs → chunk-ZYZJ74XB.mjs} +3 -3
  85. package/dist/{chunk-W6PRMYUC.mjs.map → chunk-ZYZJ74XB.mjs.map} +1 -1
  86. package/dist/hooks/index.d.ts +2 -2
  87. package/dist/hooks/index.d.ts.map +1 -1
  88. package/dist/hooks/useClickOutside/useClickOutside.d.ts.map +1 -1
  89. package/dist/hooks/useClickOutside.js +2 -2
  90. package/dist/hooks/useClickOutside.mjs +1 -1
  91. package/dist/hooks/useClipboard/useClipboard.d.ts.map +1 -1
  92. package/dist/hooks/useClipboard.js.map +1 -1
  93. package/dist/hooks/useClipboard.mjs.map +1 -1
  94. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts +5 -14
  95. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts.map +1 -1
  96. package/dist/hooks/useFocusManagement.js +2 -2
  97. package/dist/hooks/useFocusManagement.mjs +1 -1
  98. package/dist/hooks/useLocalStorage/index.d.ts +1 -1
  99. package/dist/hooks/useLocalStorage/index.d.ts.map +1 -1
  100. package/dist/hooks/useLocalStorage.js +1 -3
  101. package/dist/hooks/useLocalStorage.js.map +1 -1
  102. package/dist/hooks/useLocalStorage.mjs +1 -3
  103. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  104. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -1
  105. package/dist/hooks/useMediaQuery.js +2 -2
  106. package/dist/hooks/useMediaQuery.mjs +1 -1
  107. package/dist/hooks/usePagination.js +4 -4
  108. package/dist/hooks/usePagination.mjs +2 -2
  109. package/dist/hooks/usePrefersColorScheme.js +2 -2
  110. package/dist/hooks/usePrefersColorScheme.mjs +1 -1
  111. package/dist/hooks/usePrefersReducedMotion.js +2 -2
  112. package/dist/hooks/usePrefersReducedMotion.mjs +1 -1
  113. package/dist/hooks/useResizeObserver/index.d.ts +1 -1
  114. package/dist/hooks/useResizeObserver/index.d.ts.map +1 -1
  115. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +1 -1
  116. package/dist/hooks/useSessionStorage.js.map +1 -1
  117. package/dist/hooks/useSessionStorage.mjs.map +1 -1
  118. package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +1 -1
  119. package/dist/hooks/useThrottledCallback.js.map +1 -1
  120. package/dist/hooks/useThrottledCallback.mjs.map +1 -1
  121. package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +1 -1
  122. package/dist/hooks/useWindowSize.js +4 -1
  123. package/dist/hooks/useWindowSize.js.map +1 -1
  124. package/dist/hooks/useWindowSize.mjs +4 -1
  125. package/dist/hooks/useWindowSize.mjs.map +1 -1
  126. package/dist/hooks/utils.js +5 -5
  127. package/dist/hooks/utils.mjs +1 -1
  128. package/dist/lib/utils.d.ts.map +1 -1
  129. package/dist/ui/accordion/accordion.d.ts.map +1 -1
  130. package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +1 -1
  131. package/dist/ui/accordion/animated/index.d.ts +1 -1
  132. package/dist/ui/accordion/animated/index.d.ts.map +1 -1
  133. package/dist/ui/accordion/animated/types.d.ts.map +1 -1
  134. package/dist/ui/accordion/animated.js +8 -11
  135. package/dist/ui/accordion/animated.js.map +1 -1
  136. package/dist/ui/accordion/animated.mjs +4 -7
  137. package/dist/ui/accordion/animated.mjs.map +1 -1
  138. package/dist/ui/accordion.js +10 -10
  139. package/dist/ui/accordion.js.map +1 -1
  140. package/dist/ui/accordion.mjs +3 -3
  141. package/dist/ui/accordion.mjs.map +1 -1
  142. package/dist/ui/alert/alert-base.d.ts.map +1 -1
  143. package/dist/ui/alert/alert.d.ts.map +1 -1
  144. package/dist/ui/alert/animated/index.d.ts.map +1 -1
  145. package/dist/ui/alert/animated.js +3 -3
  146. package/dist/ui/alert/animated.mjs +2 -2
  147. package/dist/ui/alert/types.d.ts.map +1 -1
  148. package/dist/ui/alert.js +11 -11
  149. package/dist/ui/alert.js.map +1 -1
  150. package/dist/ui/alert.mjs +3 -3
  151. package/dist/ui/alert.mjs.map +1 -1
  152. package/dist/ui/avatar/animated/index.d.ts +1 -1
  153. package/dist/ui/avatar/animated/index.d.ts.map +1 -1
  154. package/dist/ui/avatar/animated.js +6 -6
  155. package/dist/ui/avatar/animated.mjs +3 -3
  156. package/dist/ui/avatar/avatar-base.d.ts.map +1 -1
  157. package/dist/ui/avatar/avatar.d.ts.map +1 -1
  158. package/dist/ui/avatar/variants.d.ts.map +1 -1
  159. package/dist/ui/avatar.js +10 -10
  160. package/dist/ui/avatar.js.map +1 -1
  161. package/dist/ui/avatar.mjs +3 -3
  162. package/dist/ui/avatar.mjs.map +1 -1
  163. package/dist/ui/badge/animated/index.d.ts +1 -1
  164. package/dist/ui/badge/animated/index.d.ts.map +1 -1
  165. package/dist/ui/badge/animated/types.d.ts.map +1 -1
  166. package/dist/ui/badge/animated.js +3 -3
  167. package/dist/ui/badge/animated.mjs +2 -2
  168. package/dist/ui/badge/badge-base.d.ts +1 -1
  169. package/dist/ui/badge/badge-base.d.ts.map +1 -1
  170. package/dist/ui/badge/types.d.ts +1 -0
  171. package/dist/ui/badge/types.d.ts.map +1 -1
  172. package/dist/ui/badge/variants.d.ts +16 -16
  173. package/dist/ui/badge/variants.d.ts.map +1 -1
  174. package/dist/ui/badge.js +5 -5
  175. package/dist/ui/badge.mjs +3 -3
  176. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  177. package/dist/ui/breadcrumb/types.d.ts.map +1 -1
  178. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  179. package/dist/ui/breadcrumb.js +47 -43
  180. package/dist/ui/breadcrumb.js.map +1 -1
  181. package/dist/ui/breadcrumb.mjs +43 -39
  182. package/dist/ui/breadcrumb.mjs.map +1 -1
  183. package/dist/ui/buttons/animated/index.d.ts +1 -1
  184. package/dist/ui/buttons/animated/index.d.ts.map +1 -1
  185. package/dist/ui/buttons/animated/types.d.ts.map +1 -1
  186. package/dist/ui/buttons/animated.js +4 -4
  187. package/dist/ui/buttons/animated.mjs +2 -2
  188. package/dist/ui/buttons/types.d.ts.map +1 -1
  189. package/dist/ui/buttons.js +5 -5
  190. package/dist/ui/buttons.mjs +3 -3
  191. package/dist/ui/card/animated.js +8 -8
  192. package/dist/ui/card/animated.mjs +3 -3
  193. package/dist/ui/card/card-base.d.ts.map +1 -1
  194. package/dist/ui/card/card.d.ts.map +1 -1
  195. package/dist/ui/card/index.d.ts +2 -2
  196. package/dist/ui/card/index.d.ts.map +1 -1
  197. package/dist/ui/card.js +13 -13
  198. package/dist/ui/card.js.map +1 -1
  199. package/dist/ui/card.mjs +3 -3
  200. package/dist/ui/card.mjs.map +1 -1
  201. package/dist/ui/divider/animated/index.d.ts +1 -1
  202. package/dist/ui/divider/animated/index.d.ts.map +1 -1
  203. package/dist/ui/divider/animated/types.d.ts.map +1 -1
  204. package/dist/ui/divider/animated.js +3 -3
  205. package/dist/ui/divider/animated.mjs +2 -2
  206. package/dist/ui/divider/divider-base.d.ts.map +1 -1
  207. package/dist/ui/divider.js +7 -7
  208. package/dist/ui/divider.mjs +3 -3
  209. package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +1 -1
  210. package/dist/ui/drawer/animated/index.d.ts +1 -1
  211. package/dist/ui/drawer/animated/index.d.ts.map +1 -1
  212. package/dist/ui/drawer/animated.js +19 -20
  213. package/dist/ui/drawer/animated.js.map +1 -1
  214. package/dist/ui/drawer/animated.mjs +9 -10
  215. package/dist/ui/drawer/animated.mjs.map +1 -1
  216. package/dist/ui/drawer/drawer-base.d.ts +1 -1
  217. package/dist/ui/drawer/drawer-base.d.ts.map +1 -1
  218. package/dist/ui/drawer/types.d.ts +1 -0
  219. package/dist/ui/drawer/types.d.ts.map +1 -1
  220. package/dist/ui/drawer.js +13 -13
  221. package/dist/ui/drawer.mjs +3 -3
  222. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  223. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  224. package/dist/ui/dropdown/types.d.ts +1 -0
  225. package/dist/ui/dropdown/types.d.ts.map +1 -1
  226. package/dist/ui/dropdown/variants.d.ts +1 -1
  227. package/dist/ui/dropdown.js +49 -31
  228. package/dist/ui/dropdown.js.map +1 -1
  229. package/dist/ui/dropdown.mjs +46 -28
  230. package/dist/ui/dropdown.mjs.map +1 -1
  231. package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +1 -1
  232. package/dist/ui/empty-state/animated/index.d.ts +2 -2
  233. package/dist/ui/empty-state/animated/index.d.ts.map +1 -1
  234. package/dist/ui/empty-state/animated.js +3 -3
  235. package/dist/ui/empty-state/animated.js.map +1 -1
  236. package/dist/ui/empty-state/animated.mjs +2 -2
  237. package/dist/ui/empty-state/animated.mjs.map +1 -1
  238. package/dist/ui/empty-state/empty-state-base.d.ts.map +1 -1
  239. package/dist/ui/empty-state/index.d.ts +1 -1
  240. package/dist/ui/empty-state/index.d.ts.map +1 -1
  241. package/dist/ui/empty-state/types.d.ts +1 -0
  242. package/dist/ui/empty-state/types.d.ts.map +1 -1
  243. package/dist/ui/empty-state.js +11 -11
  244. package/dist/ui/empty-state.mjs +3 -3
  245. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  246. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  247. package/dist/ui/file-upload.js +4 -6
  248. package/dist/ui/file-upload.js.map +1 -1
  249. package/dist/ui/file-upload.mjs +2 -4
  250. package/dist/ui/file-upload.mjs.map +1 -1
  251. package/dist/ui/inputs/animated/index.d.ts +1 -1
  252. package/dist/ui/inputs/animated/index.d.ts.map +1 -1
  253. package/dist/ui/inputs/animated.js +3 -3
  254. package/dist/ui/inputs/animated.mjs +1 -1
  255. package/dist/ui/inputs/input-base.d.ts.map +1 -1
  256. package/dist/ui/inputs/types.d.ts +3 -1
  257. package/dist/ui/inputs/types.d.ts.map +1 -1
  258. package/dist/ui/inputs.js +49 -5
  259. package/dist/ui/inputs.js.map +1 -1
  260. package/dist/ui/inputs.mjs +47 -3
  261. package/dist/ui/inputs.mjs.map +1 -1
  262. package/dist/ui/modal/animated/index.d.ts +1 -1
  263. package/dist/ui/modal/animated/index.d.ts.map +1 -1
  264. package/dist/ui/modal/animated/modal-content-animated.d.ts.map +1 -1
  265. package/dist/ui/modal/animated.js +12 -13
  266. package/dist/ui/modal/animated.js.map +1 -1
  267. package/dist/ui/modal/animated.mjs +8 -9
  268. package/dist/ui/modal/animated.mjs.map +1 -1
  269. package/dist/ui/modal/index.d.ts +1 -1
  270. package/dist/ui/modal/index.d.ts.map +1 -1
  271. package/dist/ui/modal/modal-base.d.ts +4 -2
  272. package/dist/ui/modal/modal-base.d.ts.map +1 -1
  273. package/dist/ui/modal/types.d.ts.map +1 -1
  274. package/dist/ui/modal.js +14 -14
  275. package/dist/ui/modal.js.map +1 -1
  276. package/dist/ui/modal.mjs +4 -4
  277. package/dist/ui/modal.mjs.map +1 -1
  278. package/dist/ui/pagination.js +25 -25
  279. package/dist/ui/pagination.js.map +1 -1
  280. package/dist/ui/pagination.mjs +15 -15
  281. package/dist/ui/pagination.mjs.map +1 -1
  282. package/dist/ui/progress/animated/progress-animated.d.ts.map +1 -1
  283. package/dist/ui/progress/animated.js +52 -14
  284. package/dist/ui/progress/animated.js.map +1 -1
  285. package/dist/ui/progress/animated.mjs +45 -7
  286. package/dist/ui/progress/animated.mjs.map +1 -1
  287. package/dist/ui/progress/index.d.ts +2 -2
  288. package/dist/ui/progress/index.d.ts.map +1 -1
  289. package/dist/ui/progress/progress-base.d.ts.map +1 -1
  290. package/dist/ui/progress/progress.d.ts.map +1 -1
  291. package/dist/ui/progress/types.d.ts +3 -0
  292. package/dist/ui/progress/types.d.ts.map +1 -1
  293. package/dist/ui/progress.js +10 -15
  294. package/dist/ui/progress.js.map +1 -1
  295. package/dist/ui/progress.mjs +4 -9
  296. package/dist/ui/progress.mjs.map +1 -1
  297. package/dist/ui/search/search-bar.d.ts +1 -1
  298. package/dist/ui/search/search-bar.d.ts.map +1 -1
  299. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  300. package/dist/ui/search/search-suggestion-utils.d.ts.map +1 -1
  301. package/dist/ui/search.js +15 -7
  302. package/dist/ui/search.js.map +1 -1
  303. package/dist/ui/search.mjs +11 -3
  304. package/dist/ui/search.mjs.map +1 -1
  305. package/dist/ui/select/select.d.ts +1 -1
  306. package/dist/ui/select/select.d.ts.map +1 -1
  307. package/dist/ui/select/types.d.ts +1 -0
  308. package/dist/ui/select/types.d.ts.map +1 -1
  309. package/dist/ui/select/variants.d.ts +1 -1
  310. package/dist/ui/select/variants.d.ts.map +1 -1
  311. package/dist/ui/select.js +145 -63
  312. package/dist/ui/select.js.map +1 -1
  313. package/dist/ui/select.mjs +141 -59
  314. package/dist/ui/select.mjs.map +1 -1
  315. package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +1 -1
  316. package/dist/ui/skeleton/animated/types.d.ts.map +1 -1
  317. package/dist/ui/skeleton/animated.js +34 -10
  318. package/dist/ui/skeleton/animated.js.map +1 -1
  319. package/dist/ui/skeleton/animated.mjs +29 -5
  320. package/dist/ui/skeleton/animated.mjs.map +1 -1
  321. package/dist/ui/skeleton/variants.d.ts +1 -1
  322. package/dist/ui/skeleton.js +10 -10
  323. package/dist/ui/skeleton.mjs +2 -2
  324. package/dist/ui/slider/slider.d.ts.map +1 -1
  325. package/dist/ui/slider/types.d.ts +8 -2
  326. package/dist/ui/slider/types.d.ts.map +1 -1
  327. package/dist/ui/slider.js +53 -17
  328. package/dist/ui/slider.js.map +1 -1
  329. package/dist/ui/slider.mjs +45 -9
  330. package/dist/ui/slider.mjs.map +1 -1
  331. package/dist/ui/spinner/animated/spinner.d.ts.map +1 -1
  332. package/dist/ui/spinner/animated.js +68 -56
  333. package/dist/ui/spinner/animated.js.map +1 -1
  334. package/dist/ui/spinner/animated.mjs +64 -52
  335. package/dist/ui/spinner/animated.mjs.map +1 -1
  336. package/dist/ui/stepper/stepper.d.ts +2 -7
  337. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  338. package/dist/ui/stepper/types.d.ts +3 -3
  339. package/dist/ui/stepper/types.d.ts.map +1 -1
  340. package/dist/ui/stepper/variants.d.ts +1 -1
  341. package/dist/ui/stepper/variants.d.ts.map +1 -1
  342. package/dist/ui/stepper.js +12 -13
  343. package/dist/ui/stepper.js.map +1 -1
  344. package/dist/ui/stepper.mjs +9 -10
  345. package/dist/ui/stepper.mjs.map +1 -1
  346. package/dist/ui/table/animated/index.d.ts +2 -2
  347. package/dist/ui/table/animated/index.d.ts.map +1 -1
  348. package/dist/ui/table/animated.js +9 -9
  349. package/dist/ui/table/animated.mjs +3 -3
  350. package/dist/ui/table/table-base.d.ts +1 -1
  351. package/dist/ui/table/table-base.d.ts.map +1 -1
  352. package/dist/ui/table/types.d.ts +5 -1
  353. package/dist/ui/table/types.d.ts.map +1 -1
  354. package/dist/ui/table.js +15 -15
  355. package/dist/ui/table.mjs +2 -2
  356. package/dist/ui/tabs/animated/animations.d.ts.map +1 -1
  357. package/dist/ui/tabs/animated/index.d.ts +1 -1
  358. package/dist/ui/tabs/animated/index.d.ts.map +1 -1
  359. package/dist/ui/tabs/animated/types.d.ts.map +1 -1
  360. package/dist/ui/tabs/animated.js +4 -4
  361. package/dist/ui/tabs/animated.js.map +1 -1
  362. package/dist/ui/tabs/animated.mjs +2 -2
  363. package/dist/ui/tabs/animated.mjs.map +1 -1
  364. package/dist/ui/tabs/index.d.ts +1 -1
  365. package/dist/ui/tabs/index.d.ts.map +1 -1
  366. package/dist/ui/tabs/tabs-base.d.ts.map +1 -1
  367. package/dist/ui/tabs/tabs.d.ts +1 -1
  368. package/dist/ui/tabs/tabs.d.ts.map +1 -1
  369. package/dist/ui/tabs/types.d.ts +2 -1
  370. package/dist/ui/tabs/types.d.ts.map +1 -1
  371. package/dist/ui/tabs.js +10 -10
  372. package/dist/ui/tabs.mjs +2 -2
  373. package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
  374. package/dist/ui/toast/animated.js +12 -10
  375. package/dist/ui/toast/animated.js.map +1 -1
  376. package/dist/ui/toast/animated.mjs +5 -3
  377. package/dist/ui/toast/animated.mjs.map +1 -1
  378. package/dist/ui/toast/types.d.ts.map +1 -1
  379. package/dist/ui/toast.js +13 -13
  380. package/dist/ui/toast.mjs +2 -2
  381. package/dist/ui/toggle/animated/index.d.ts +2 -2
  382. package/dist/ui/toggle/animated/index.d.ts.map +1 -1
  383. package/dist/ui/toggle/animated/types.d.ts.map +1 -1
  384. package/dist/ui/toggle/animated.js +3 -3
  385. package/dist/ui/toggle/animated.mjs +1 -1
  386. package/dist/ui/toggle/index.d.ts +1 -1
  387. package/dist/ui/toggle/index.d.ts.map +1 -1
  388. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  389. package/dist/ui/toggle.js +31 -6
  390. package/dist/ui/toggle.js.map +1 -1
  391. package/dist/ui/toggle.mjs +30 -5
  392. package/dist/ui/toggle.mjs.map +1 -1
  393. package/dist/ui/tooltip/animated/animations.d.ts.map +1 -1
  394. package/dist/ui/tooltip/animated/types.d.ts.map +1 -1
  395. package/dist/ui/tooltip/animated.js +5 -5
  396. package/dist/ui/tooltip/animated.js.map +1 -1
  397. package/dist/ui/tooltip/animated.mjs +2 -2
  398. package/dist/ui/tooltip/animated.mjs.map +1 -1
  399. package/dist/ui/tooltip/tooltip-base.d.ts.map +1 -1
  400. package/dist/ui/tooltip/types.d.ts +1 -0
  401. package/dist/ui/tooltip/types.d.ts.map +1 -1
  402. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  403. package/dist/ui/tooltip.js +8 -8
  404. package/dist/ui/tooltip.mjs +2 -2
  405. package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
  406. package/dist/ui/typography/code-block-base.d.ts.map +1 -1
  407. package/dist/ui/typography/heading-base.d.ts.map +1 -1
  408. package/dist/ui/typography/list-base.d.ts.map +1 -1
  409. package/dist/ui/typography/types.d.ts.map +1 -1
  410. package/dist/ui/typography/variants.d.ts.map +1 -1
  411. package/dist/ui/typography.js +12 -34
  412. package/dist/ui/typography.js.map +1 -1
  413. package/dist/ui/typography.mjs +4 -26
  414. package/dist/ui/typography.mjs.map +1 -1
  415. package/package.json +1 -1
  416. package/src/hooks/index.ts +8 -2
  417. package/src/hooks/useClickOutside/useClickOutside.ts +1 -4
  418. package/src/hooks/useClipboard/useClipboard.test.ts +3 -1
  419. package/src/hooks/useClipboard/useClipboard.ts +1 -2
  420. package/src/hooks/useDisclosure/useDisclosure.test.ts +1 -2
  421. package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +1 -3
  422. package/src/hooks/useFocusManagement/useFocusManagement.test.tsx +8 -0
  423. package/src/hooks/useFocusManagement/useFocusManagement.ts +162 -34
  424. package/src/hooks/useInView/useInView.test.ts +6 -1
  425. package/src/hooks/useLocalStorage/index.ts +1 -4
  426. package/src/hooks/useLocalStorage/useLocalStorage.test.ts +8 -20
  427. package/src/hooks/useLocalStorage/useLocalStorage.ts +4 -4
  428. package/src/hooks/useMediaQuery/useMediaQuery.ts +1 -4
  429. package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +3 -1
  430. package/src/hooks/useResizeObserver/index.ts +1 -4
  431. package/src/hooks/useSessionStorage/useSessionStorage.test.ts +2 -6
  432. package/src/hooks/useSessionStorage/useSessionStorage.ts +4 -2
  433. package/src/hooks/useThrottledCallback/useThrottledCallback.ts +4 -3
  434. package/src/hooks/useWindowSize/useWindowSize.ts +4 -1
  435. package/src/lib/utils.ts +3 -3
  436. package/src/ui/accordion/accordion.tsx +6 -1
  437. package/src/ui/accordion/animated/accordion-content-animated.tsx +1 -4
  438. package/src/ui/accordion/animated/index.ts +4 -1
  439. package/src/ui/accordion/animated/types.ts +6 -2
  440. package/src/ui/alert/alert-base.tsx +6 -1
  441. package/src/ui/alert/alert.tsx +2 -2
  442. package/src/ui/alert/animated/index.ts +2 -2
  443. package/src/ui/alert/animated/types.ts +1 -1
  444. package/src/ui/alert/types.ts +1 -3
  445. package/src/ui/alert/variants.ts +9 -9
  446. package/src/ui/avatar/animated/index.ts +6 -2
  447. package/src/ui/avatar/avatar-base.tsx +2 -7
  448. package/src/ui/avatar/avatar.tsx +6 -1
  449. package/src/ui/avatar/variants.ts +23 -11
  450. package/src/ui/badge/animated/index.ts +6 -2
  451. package/src/ui/badge/animated/types.ts +1 -2
  452. package/src/ui/badge/badge-base.tsx +4 -1
  453. package/src/ui/badge/types.ts +1 -0
  454. package/src/ui/badge/variants.ts +16 -18
  455. package/src/ui/breadcrumb/breadcrumb.tsx +10 -2
  456. package/src/ui/breadcrumb/types.ts +20 -9
  457. package/src/ui/breadcrumb/variants.ts +34 -38
  458. package/src/ui/buttons/animated/index.ts +7 -1
  459. package/src/ui/buttons/animated/types.ts +0 -1
  460. package/src/ui/buttons/button.test.tsx +2 -2
  461. package/src/ui/buttons/types.ts +4 -5
  462. package/src/ui/buttons/variants.ts +17 -17
  463. package/src/ui/card/animated/types.ts +0 -1
  464. package/src/ui/card/card-base.tsx +1 -6
  465. package/src/ui/card/card.test.tsx +7 -3
  466. package/src/ui/card/card.tsx +1 -3
  467. package/src/ui/card/index.ts +7 -3
  468. package/src/ui/card/types.ts +1 -1
  469. package/src/ui/card/variants.ts +9 -9
  470. package/src/ui/divider/animated/index.ts +5 -1
  471. package/src/ui/divider/animated/types.ts +4 -2
  472. package/src/ui/divider/divider-base.tsx +0 -1
  473. package/src/ui/drawer/animated/drawer-content-animated.tsx +6 -11
  474. package/src/ui/drawer/animated/index.ts +6 -1
  475. package/src/ui/drawer/drawer-base.tsx +16 -8
  476. package/src/ui/drawer/types.ts +12 -3
  477. package/src/ui/drawer/variants.ts +18 -18
  478. package/src/ui/dropdown/dropdown.test.tsx +1 -3
  479. package/src/ui/dropdown/dropdown.tsx +30 -5
  480. package/src/ui/dropdown/types.ts +1 -0
  481. package/src/ui/dropdown/variants.ts +20 -20
  482. package/src/ui/empty-state/animated/empty-state-animated.tsx +2 -4
  483. package/src/ui/empty-state/animated/index.ts +8 -5
  484. package/src/ui/empty-state/empty-state-base.tsx +14 -2
  485. package/src/ui/empty-state/index.ts +7 -1
  486. package/src/ui/empty-state/types.ts +1 -0
  487. package/src/ui/file-upload/file-upload.tsx +3 -9
  488. package/src/ui/file-upload/variants.ts +18 -9
  489. package/src/ui/inputs/animated/index.ts +7 -1
  490. package/src/ui/inputs/input-base.tsx +60 -6
  491. package/src/ui/inputs/input.test.tsx +5 -1
  492. package/src/ui/inputs/types.ts +7 -2
  493. package/src/ui/modal/animated/index.ts +6 -1
  494. package/src/ui/modal/animated/modal-content-animated.tsx +4 -5
  495. package/src/ui/modal/index.ts +1 -1
  496. package/src/ui/modal/modal-base.tsx +19 -10
  497. package/src/ui/modal/modal.test.tsx +44 -4
  498. package/src/ui/modal/modal.tsx +1 -1
  499. package/src/ui/modal/types.ts +10 -2
  500. package/src/ui/modal/variants.ts +18 -18
  501. package/src/ui/pagination/pagination.tsx +2 -2
  502. package/src/ui/pagination/variants.ts +9 -9
  503. package/src/ui/progress/animated/progress-animated.tsx +43 -5
  504. package/src/ui/progress/animated/types.ts +1 -1
  505. package/src/ui/progress/index.ts +12 -2
  506. package/src/ui/progress/progress-base.tsx +61 -5
  507. package/src/ui/progress/progress.test.tsx +1 -3
  508. package/src/ui/progress/progress.tsx +2 -6
  509. package/src/ui/progress/types.ts +3 -0
  510. package/src/ui/search/filter-search-suggestions.test.ts +46 -12
  511. package/src/ui/search/filter-search-suggestions.ts +3 -3
  512. package/src/ui/search/search-bar.tsx +22 -22
  513. package/src/ui/search/search-suggestion-list.tsx +14 -5
  514. package/src/ui/search/search-suggestion-utils.ts +4 -1
  515. package/src/ui/select/select.tsx +96 -6
  516. package/src/ui/select/types.ts +1 -0
  517. package/src/ui/select/variants.ts +71 -68
  518. package/src/ui/skeleton/animated/skeleton-animated.tsx +25 -4
  519. package/src/ui/skeleton/animated/types.ts +0 -1
  520. package/src/ui/skeleton/skeleton-base.tsx +3 -3
  521. package/src/ui/skeleton/variants.ts +9 -9
  522. package/src/ui/slider/slider.test.tsx +23 -9
  523. package/src/ui/slider/slider.tsx +45 -4
  524. package/src/ui/slider/types.ts +9 -3
  525. package/src/ui/slider/variants.ts +1 -1
  526. package/src/ui/spinner/animated/spinner.tsx +6 -3
  527. package/src/ui/stepper/stepper.test.tsx +5 -6
  528. package/src/ui/stepper/stepper.tsx +12 -16
  529. package/src/ui/stepper/types.ts +11 -5
  530. package/src/ui/stepper/variants.ts +30 -15
  531. package/src/ui/table/animated/index.ts +6 -4
  532. package/src/ui/table/table-base.tsx +32 -11
  533. package/src/ui/table/types.ts +8 -1
  534. package/src/ui/tabs/animated/animations.ts +5 -1
  535. package/src/ui/tabs/animated/index.ts +7 -1
  536. package/src/ui/tabs/animated/types.ts +3 -3
  537. package/src/ui/tabs/index.ts +8 -1
  538. package/src/ui/tabs/tabs-base.tsx +71 -10
  539. package/src/ui/tabs/tabs.tsx +8 -1
  540. package/src/ui/tabs/types.ts +2 -1
  541. package/src/ui/tabs/variants.ts +10 -10
  542. package/src/ui/toast/animated/toast-animated.tsx +3 -1
  543. package/src/ui/toast/animated/types.ts +1 -1
  544. package/src/ui/toast/toast-base.tsx +1 -1
  545. package/src/ui/toast/types.ts +3 -1
  546. package/src/ui/toast/variants.ts +9 -9
  547. package/src/ui/toggle/animated/index.ts +7 -4
  548. package/src/ui/toggle/animated/types.ts +4 -2
  549. package/src/ui/toggle/index.ts +5 -1
  550. package/src/ui/toggle/toggle-base.tsx +36 -4
  551. package/src/ui/tooltip/animated/animations.ts +0 -1
  552. package/src/ui/tooltip/animated/types.ts +0 -1
  553. package/src/ui/tooltip/tooltip-base.tsx +118 -22
  554. package/src/ui/tooltip/types.ts +1 -0
  555. package/src/ui/tooltip/variants.ts +11 -13
  556. package/src/ui/typography/blockquote-base.tsx +1 -8
  557. package/src/ui/typography/code-block-base.tsx +19 -24
  558. package/src/ui/typography/heading-base.tsx +35 -38
  559. package/src/ui/typography/inline-code-base.tsx +15 -15
  560. package/src/ui/typography/list-base.tsx +1 -9
  561. package/src/ui/typography/text-base.tsx +32 -32
  562. package/src/ui/typography/types.ts +4 -17
  563. package/src/ui/typography/typography.test.tsx +3 -1
  564. package/src/ui/typography/variants.ts +16 -8
  565. package/dist/chunk-2P3UU2J3.mjs.map +0 -1
  566. package/dist/chunk-2PQEXQVR.js.map +0 -1
  567. package/dist/chunk-3OR47XMY.js.map +0 -1
  568. package/dist/chunk-4B7KGBQB.js.map +0 -1
  569. package/dist/chunk-5QB2KNZQ.js.map +0 -1
  570. package/dist/chunk-6I7X5BF2.js.map +0 -1
  571. package/dist/chunk-7HL3A4YF.mjs.map +0 -1
  572. package/dist/chunk-BITDSQMR.js.map +0 -1
  573. package/dist/chunk-BORK3BJO.mjs.map +0 -1
  574. package/dist/chunk-BSWYZTYK.js.map +0 -1
  575. package/dist/chunk-BVXTOEBI.mjs.map +0 -1
  576. package/dist/chunk-CY5BQKRZ.mjs.map +0 -1
  577. package/dist/chunk-E3DZNJAD.js.map +0 -1
  578. package/dist/chunk-FLILFCQE.mjs.map +0 -1
  579. package/dist/chunk-FT2LMA66.mjs.map +0 -1
  580. package/dist/chunk-IXDJ3IPG.mjs.map +0 -1
  581. package/dist/chunk-LVUPECBT.mjs.map +0 -1
  582. package/dist/chunk-N4NO3SYL.js.map +0 -1
  583. package/dist/chunk-P5HUBXUX.js.map +0 -1
  584. package/dist/chunk-PGH27VTL.mjs.map +0 -1
  585. package/dist/chunk-RDSPHBHK.mjs.map +0 -1
  586. package/dist/chunk-U4YQCAXW.js.map +0 -1
  587. package/dist/chunk-WDCIZHXY.mjs.map +0 -1
  588. package/dist/chunk-WL5I7RVS.mjs +0 -54
  589. package/dist/chunk-WL5I7RVS.mjs.map +0 -1
  590. package/dist/chunk-WP7GYBRI.js.map +0 -1
  591. package/dist/chunk-WZKGRU3U.js.map +0 -1
  592. package/dist/chunk-XIXF7UVM.mjs.map +0 -1
  593. package/dist/chunk-XLAFQ24R.js.map +0 -1
  594. package/dist/chunk-XWM2S6VV.mjs.map +0 -1
  595. package/dist/chunk-YNCD6TKE.mjs.map +0 -1
  596. package/dist/chunk-YPLVTUYL.js +0 -56
  597. package/dist/chunk-YPLVTUYL.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/select/variants.ts","../../src/ui/select/select.tsx"],"names":["cva","createContext","useContext","useState","useRef","useEffect","useCallback","jsx","cn","jsxs"],"mappings":"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","file":"select.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const selectTriggerVariants = cva(\n \"flex items-center justify-between rounded-md border transition-all focus:outline-none\",\n {\n variants: {\n variant: {\n default: \"border-gray-300 bg-white text-gray-900\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600 text-sky-600\",\n rose: \"border-rose-600 text-rose-600\",\n purple: \"border-purple-600 text-purple-600\",\n pink: \"border-pink-600 text-pink-600\",\n orange: \"border-orange-600 text-orange-600\",\n yellow: \"border-yellow-600 text-yellow-600\",\n teal: \"border-teal-600 text-teal-600\",\n indigo: \"border-indigo-500 text-indigo-500\",\n emerald: \"border-emerald-600 text-emerald-600\",\n glass: \"border-white/15 bg-white/10 text-white backdrop-blur-md\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const selectItemVariants = cva(\"cursor-pointer px-3 py-2 rounded-md\", {\n variants: {\n appearance: {\n default:\n \"bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n glass:\n \"bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100\",\n outline:\n \"border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n ghost:\n \"border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900\",\n sky: \"border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800\",\n rose: \"border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800\",\n purple:\n \"border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800\",\n pink: \"border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800\",\n orange:\n \"border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800\",\n yellow:\n \"border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800\",\n teal: \"border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800\",\n indigo:\n \"border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800\",\n emerald:\n \"border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const selectContentVariants = cva(\n \"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md\",\n {\n variants: {\n appearance: {\n default: \"bg-white shadow-md\",\n glass: \"bg-white/10 backdrop-blur-md\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600\",\n rose: \"border-rose-600\",\n purple: \"border-purple-600\",\n pink: \"border-pink-600\",\n orange: \"border-orange-600\",\n yellow: \"border-yellow-600\",\n teal: \"border-teal-600\",\n indigo: \"border-indigo-600\",\n emerald: \"border-emerald-600\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n },\n);\n","\"use client\";\nimport { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n SelectProps,\n SelectOption,\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectValueProps,\n} from \"./types\";\nimport { createContext, useContext } from \"react\";\nimport { SelectContextType } from \"./types\";\nimport { cn } from \"../../lib/utils\";\nimport {\n selectContentVariants,\n selectItemVariants,\n selectTriggerVariants,\n} from \"./variants\";\n\nexport const SelectContext = createContext<SelectContextType | null>(null);\n\nexport const useSelect = () => {\n const ctx = useContext(SelectContext);\n if (!ctx) throw new Error(\"Select components must be used inside Select\");\n return ctx;\n};\n\nexport const Select = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = true,\n}: SelectProps) => {\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<SelectOption[]>([]);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n const target = event.target;\n if (target instanceof Node && !root.contains(target)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = (val: string) => {\n if (multiple) {\n if (selected.includes(val)) {\n setSelected(selected.filter((v) => v !== val));\n } else {\n setSelected([...selected, val]);\n }\n } else {\n setSelected([val]);\n setOpen(false);\n }\n };\n\n const isSelected = (val: string) => selected.includes(val);\n\n const registerOption = useCallback((opt: SelectOption) => {\n setOptions((prev) => {\n if (prev.find((o) => o.value === opt.value)) return prev;\n return [...prev, opt];\n });\n }, []);\n\n return (\n <SelectContext.Provider\n value={{\n open,\n setOpen,\n selected,\n toggleValue,\n isSelected,\n registerOption,\n options,\n multiple,\n }}\n >\n <div ref={rootRef} className=\"relative w-full\">\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n\nexport const SelectTrigger = ({\n className,\n variant,\n size,\n ...props\n}: SelectTriggerProps) => {\n const { open, setOpen } = useSelect();\n\n return (\n <button\n type=\"button\"\n onClick={() => setOpen(!open)}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n />\n );\n};\n\nexport const SelectValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: SelectValueProps) => {\n const { selected, options } = useSelect();\n\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span className={cn(className)} {...props}>\n {placeholder}\n </span>\n );\n }\n\n return (\n <span className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nexport const SelectContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: SelectContentProps) => {\n const { open } = useSelect();\n\n if (!open) return null;\n\n return (\n <div\n className={cn(\n selectContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport const SelectItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: SelectItemProps) => {\n const { toggleValue, isSelected, registerOption } = useSelect();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const isActive = isSelected(value);\n\n return (\n <div\n role=\"option\"\n aria-selected={isActive}\n tabIndex={0}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") toggleValue(value);\n }}\n data-selected={isActive ? \"true\" : \"false\"}\n className={cn(\n selectItemVariants({\n disabled,\n appearance,\n }),\n \"flex justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && <span>✓</span>}\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/ui/select/variants.ts","../../src/ui/select/select.tsx"],"names":["cva","createContext","useContext","useId","useState","useRef","useEffect","useCallback","jsx","cn","jsxs"],"mappings":";;;;;;;AAEO,IAAM,qBAAA,GAAwBA,0BAAA;AAAA,EACnC,4KAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,wCAAA;AAAA,QACT,OAAA,EAAS,0BAAA;AAAA,QACT,KAAA,EAAO,oBAAA;AAAA,QACP,GAAA,EAAK,6BAAA;AAAA,QACL,IAAA,EAAM,+BAAA;AAAA,QACN,MAAA,EAAQ,mCAAA;AAAA,QACR,IAAA,EAAM,+BAAA;AAAA,QACN,MAAA,EAAQ,mCAAA;AAAA,QACR,MAAA,EAAQ,mCAAA;AAAA,QACR,IAAA,EAAM,+BAAA;AAAA,QACN,MAAA,EAAQ,mCAAA;AAAA,QACR,OAAA,EAAS,qCAAA;AAAA,QACT,KAAA,EAAO,yDAAA;AAAA,QACP,eAAA,EACE,yHAAA;AAAA,QACF,gBAAA,EACE,uHAAA;AAAA,QACF,cAAA,EACE,mHAAA;AAAA,QACF,iBAAA,EACE,6HAAA;AAAA,QACF,iBAAA,EACE,yHAAA;AAAA,QACF,eAAA,EACE,qHAAA;AAAA,QACF,iBAAA,EACE,6HAAA;AAAA,QACF,eAAA,EACE,qHAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEO,IAAM,kBAAA,GAAqBA,0BAAA;AAAA,EAChC,0IAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,4FAAA;AAAA,QACF,KAAA,EACE,+FAAA;AAAA,QACF,OAAA,EACE,+KAAA;AAAA,QACF,KAAA,EACE,iJAAA;AAAA,QACF,GAAA,EAAK,mIAAA;AAAA,QACL,IAAA,EAAM,wIAAA;AAAA,QACN,MAAA,EACE,kJAAA;AAAA,QACF,IAAA,EAAM,wIAAA;AAAA,QACN,MAAA,EACE,kJAAA;AAAA,QACF,MAAA,EACE,kJAAA;AAAA,QACF,IAAA,EAAM,wIAAA;AAAA,QACN,MAAA,EACE,kJAAA;AAAA,QACF,OAAA,EACE,uJAAA;AAAA,QACF,eAAA,EACE,gSAAA;AAAA,QACF,gBAAA,EACE,8RAAA;AAAA,QACF,cAAA,EACE,kRAAA;AAAA,QACF,iBAAA,EACE,4SAAA;AAAA,QACF,iBAAA,EACE,oSAAA;AAAA,QACF,eAAA,EACE,wRAAA;AAAA,QACF,iBAAA,EACE,4SAAA;AAAA,QACF,eAAA,EACE,wRAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY;AAAA;AACd;AAEJ;AAEO,IAAM,qBAAA,GAAwBA,0BAAA;AAAA,EACnC,gEAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,oBAAA;AAAA,QACT,KAAA,EAAO,8BAAA;AAAA,QACP,OAAA,EAAS,0BAAA;AAAA,QACT,KAAA,EAAO,oBAAA;AAAA,QACP,GAAA,EAAK,gBAAA;AAAA,QACL,IAAA,EAAM,iBAAA;AAAA,QACN,MAAA,EAAQ,mBAAA;AAAA,QACR,IAAA,EAAM,iBAAA;AAAA,QACN,MAAA,EAAQ,mBAAA;AAAA,QACR,MAAA,EAAQ,mBAAA;AAAA,QACR,IAAA,EAAM,iBAAA;AAAA,QACN,MAAA,EAAQ,mBAAA;AAAA,QACR,OAAA,EAAS,oBAAA;AAAA,QACT,eAAA,EACE,8GAAA;AAAA,QACF,gBAAA,EACE,4GAAA;AAAA,QACF,cAAA,EACE,wGAAA;AAAA,QACF,iBAAA,EACE,kHAAA;AAAA,QACF,iBAAA,EACE,8GAAA;AAAA,QACF,eAAA,EACE,0GAAA;AAAA,QACF,iBAAA,EACE,kHAAA;AAAA,QACF,eAAA,EACE,0GAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,WAAA;AAAA,QACN,OAAA,EAAS,WAAA;AAAA,QACT,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI,WAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX;AAEJ;AClJO,IAAM,aAAA,GAAgBC,oBAAwC,IAAI;AAElE,IAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,GAAA,GAAMC,iBAAW,aAAa,CAAA;AACpC,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,8CAA8C,CAAA;AACxE,EAAA,OAAO,GAAA;AACT;AAEO,IAAM,SAAS,CAAC;AAAA,EACrB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAe,EAAC;AAAA,EAChB,QAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAAmB;AACjB,EAAA,MAAM,SAAA,GAAY,CAAA,EAAGC,WAAA,EAAO,CAAA,QAAA,CAAA;AAC5B,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,eAAmB,YAAY,CAAA;AAC/D,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,eAAS,KAAK,CAAA;AACtC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,cAAA,CAAyB,EAAE,CAAA;AACzD,EAAA,MAAM,OAAA,GAAUC,aAAuB,IAAI,CAAA;AAE3C,EAAA,MAAM,WAAW,KAAA,IAAS,QAAA;AAE1B,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AAEX,IAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAwB;AACjD,MAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,MAAA,IAAI,CAAC,IAAA,EAAM;AACX,MAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,MAAA,IAAI,kBAAkB,IAAA,IAAQ,CAAC,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AACpD,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,eAAe,iBAAiB,CAAA;AAC1D,IAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,aAAA,EAAe,iBAAiB,CAAA;AAAA,EAC5E,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,WAAA,GAAc,CAAC,IAAA,KAAmB;AACtC,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,QAAA,GAAW,IAAI,CAAA;AAAA,IACjB,CAAA,MAAO;AACL,MAAA,WAAA,CAAY,IAAI,CAAA;AAChB,MAAA,QAAA,GAAW,IAAI,CAAA;AAAA,IACjB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,GAAA,KAAgB;AACnC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,IAAI,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1B,QAAA,WAAA,CAAY,SAAS,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,KAAM,GAAG,CAAC,CAAA;AAAA,MAC/C,CAAA,MAAO;AACL,QAAA,WAAA,CAAY,CAAC,GAAG,QAAA,EAAU,GAAG,CAAC,CAAA;AAAA,MAChC;AAAA,IACF,CAAA,MAAO;AACL,MAAA,WAAA,CAAY,CAAC,GAAG,CAAC,CAAA;AACjB,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,GAAA,KAAgB,QAAA,CAAS,SAAS,GAAG,CAAA;AAEzD,EAAA,MAAM,cAAA,GAAiBC,iBAAA,CAAY,CAAC,GAAA,KAAsB;AACxD,IAAA,UAAA,CAAW,CAAC,IAAA,KAAS;AACnB,MAAA,IAAI,IAAA,CAAK,KAAK,CAAC,CAAA,KAAM,EAAE,KAAA,KAAU,GAAA,CAAI,KAAK,CAAA,EAAG,OAAO,IAAA;AACpD,MAAA,OAAO,CAAC,GAAG,IAAA,EAAM,GAAG,CAAA;AAAA,IACtB,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACEC,cAAA;AAAA,IAAC,aAAA,CAAc,QAAA;AAAA,IAAd;AAAA,MACC,KAAA,EAAO;AAAA,QACL,IAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,WAAA;AAAA,QACA,UAAA;AAAA,QACA,cAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,yCAAC,KAAA,EAAA,EAAI,GAAA,EAAK,OAAA,EAAS,SAAA,EAAU,mBAC1B,QAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA0B;AACxB,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,SAAA,KAAc,SAAA,EAAU;AAE/C,EAAA,uBACEA,cAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,eAAA,EAAe,IAAA;AAAA,MACf,eAAA,EAAc,SAAA;AAAA,MACd,eAAA,EAAe,SAAA;AAAA,MACf,SAAA,EAAWC,oBAAG,qBAAA,CAAsB,EAAE,SAAS,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAChE,GAAG,KAAA;AAAA,MACJ,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,OAAA,GAAU,KAAK,CAAA;AACf,QAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAC3B,UAAA,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,QACf;AAAA,MACF;AAAA;AAAA,GACF;AAEJ;AAEO,IAAM,cAAc,CAAC;AAAA,EAC1B,WAAA,GAAc,WAAA;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,EAAE,QAAA,EAAU,OAAA,EAAQ,GAAI,SAAA,EAAU;AAExC,EAAA,MAAM,eAAA,GAAkB,QAAQ,MAAA,CAAO,CAAC,MAAM,QAAA,CAAS,QAAA,CAAS,CAAA,CAAE,KAAK,CAAC,CAAA;AAExE,EAAA,IAAI,eAAA,CAAgB,WAAW,CAAA,EAAG;AAChC,IAAA,uBACED,cAAA,CAAC,UAAK,SAAA,EAAWC,mBAAA,CAAG,SAAS,CAAA,EAAI,GAAG,OACjC,QAAA,EAAA,WAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACED,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWC,mBAAA,CAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EACjC,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAA,qCAC3B,MAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,KAAA,GAAQ,IAAI,IAAA,GAAO,IAAA;AAAA,IACnB,MAAA,CAAO;AAAA,GAAA,EAAA,EAFC,MAAA,CAAO,KAGlB,CACD,CAAA,EACH,CAAA;AAEJ;AAEO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,KAA0B;AACxB,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,QAAA,KAAa,SAAA,EAAU;AAChD,EAAA,MAAM,QAAA,GAAWJ,aAAuB,IAAI,CAAA;AAE5C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA;AAAA,IACF;AACA,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA;AAAA,IACF;AACA,IAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AAAA,MACjB,KAAA,CAAM,iBAA8B,iBAAiB;AAAA,KACvD,CAAE,OAAO,CAAC,EAAA,KAAO,GAAG,YAAA,CAAa,eAAe,MAAM,MAAM,CAAA;AAC5D,IAAA,qBAAA,CAAsB,MAAM,IAAA,CAAK,CAAC,CAAA,EAAG,OAAO,CAAA;AAAA,EAC9C,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA;AAAA,IACF;AACA,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,cAAA,GAAiB,MACrB,KAAA,CAAM,IAAA,CAAK,MAAM,gBAAA,CAA8B,iBAAiB,CAAC,CAAA,CAAE,MAAA;AAAA,MACjE,CAAC,EAAA,KAAO,EAAA,CAAG,YAAA,CAAa,eAAe,CAAA,KAAM;AAAA,KAC/C;AAEF,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAyB;AAC9C,MAAA,MAAM,UAAU,cAAA,EAAe;AAC/B,MAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,MAAM,OAAA,CAAQ,SAAA,CAAU,CAAC,EAAA,KAAO,EAAA,KAAO,SAAS,aAAa,CAAA;AAEnE,MAAA,IAAI,KAAA,CAAM,QAAQ,WAAA,EAAa;AAC7B,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,IAAA,GAAO,GAAA,GAAM,CAAA,GAAI,CAAA,GAAI,IAAA,CAAK,IAAI,GAAA,GAAM,CAAA,EAAG,OAAA,CAAQ,MAAA,GAAS,CAAC,CAAA;AAC/D,QAAA,OAAA,CAAQ,IAAI,GAAG,KAAA,EAAM;AACrB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,IAAA,GAAO,GAAA,IAAO,CAAA,GAAI,OAAA,CAAQ,MAAA,GAAS,IAAI,IAAA,CAAK,GAAA,CAAI,GAAA,GAAM,CAAA,EAAG,CAAC,CAAA;AAChE,QAAA,OAAA,CAAQ,IAAI,GAAG,KAAA,EAAM;AACrB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,MAAA,EAAQ;AACxB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,OAAA,CAAQ,CAAC,GAAG,KAAA,EAAM;AAClB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,KAAA,EAAO;AACvB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,OAAA,CAAQ,OAAA,CAAQ,MAAA,GAAS,CAAC,CAAA,EAAG,KAAA,EAAM;AAAA,MACrC;AAAA,IACF,CAAA;AAEA,IAAA,KAAA,CAAM,gBAAA,CAAiB,WAAW,aAAa,CAAA;AAC/C,IAAA,OAAO,MAAM,KAAA,CAAM,mBAAA,CAAoB,SAAA,EAAW,aAAa,CAAA;AAAA,EACjE,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,uBACEE,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,EAAA,EAAI,SAAA;AAAA,MACJ,IAAA,EAAK,SAAA;AAAA,MACL,sBAAA,EAAsB,QAAA;AAAA,MACtB,QAAA,EAAU,EAAA;AAAA,MACV,SAAA,EAAWC,mBAAA;AAAA,QACT,qBAAA,CAAsB,EAAE,UAAA,EAAY,IAAA,EAAM,SAAS,CAAA;AAAA,QACnD;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,aAAa,CAAC;AAAA,EACzB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAuB;AACrB,EAAA,MAAM,EAAE,WAAA,EAAa,UAAA,EAAY,cAAA,KAAmB,SAAA,EAAU;AAE9D,EAAAH,eAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,UAAU,CAAA;AAAA,EACrD,GAAG,CAAC,QAAA,EAAU,QAAA,EAAU,cAAA,EAAgB,KAAK,CAAC,CAAA;AAE9C,EAAA,MAAM,QAAA,GAAW,WAAW,KAAK,CAAA;AAEjC,EAAA,uBACEI,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,eAAA,EAAe,QAAA;AAAA,MACf,eAAA,EAAe,WAAW,IAAA,GAAO,MAAA;AAAA,MACjC,QAAA,EAAU,EAAA;AAAA,MACV,OAAA,EAAS,MAAM,CAAC,QAAA,IAAY,YAAY,KAAK,CAAA;AAAA,MAC7C,SAAA,EAAW,CAAC,CAAA,KAAM;AAChB,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA;AAAA,QACF;AACA,QAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACtC,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,WAAA,CAAY,KAAK,CAAA;AAAA,QACnB;AAAA,MACF,CAAA;AAAA,MACA,eAAA,EAAe,WAAW,MAAA,GAAS,OAAA;AAAA,MACnC,SAAA,EAAWD,mBAAA;AAAA,QACT,kBAAA,CAAmB;AAAA,UACjB,QAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,QACD,sBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBAAYD,cAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,QAAA,EAAC;AAAA;AAAA;AAAA,GACtB;AAEJ","file":"select.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const selectTriggerVariants = cva(\n \"flex items-center justify-between rounded-md border transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"border-gray-300 bg-white text-gray-900\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600 text-sky-600\",\n rose: \"border-rose-600 text-rose-600\",\n purple: \"border-purple-600 text-purple-600\",\n pink: \"border-pink-600 text-pink-600\",\n orange: \"border-orange-600 text-orange-600\",\n yellow: \"border-yellow-600 text-yellow-600\",\n teal: \"border-teal-600 text-teal-600\",\n indigo: \"border-indigo-500 text-indigo-500\",\n emerald: \"border-emerald-600 text-emerald-600\",\n glass: \"border-white/15 bg-white/10 text-white backdrop-blur-md\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const selectItemVariants = cva(\n \"cursor-pointer px-3 py-2 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-inset\",\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n glass:\n \"bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100\",\n outline:\n \"border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n ghost:\n \"border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900\",\n sky: \"border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800\",\n rose: \"border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800\",\n purple:\n \"border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800\",\n pink: \"border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800\",\n orange:\n \"border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800\",\n yellow:\n \"border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800\",\n teal: \"border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800\",\n indigo:\n \"border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800\",\n emerald:\n \"border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const selectContentVariants = cva(\n \"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md\",\n {\n variants: {\n appearance: {\n default: \"bg-white shadow-md\",\n glass: \"bg-white/10 backdrop-blur-md\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600\",\n rose: \"border-rose-600\",\n purple: \"border-purple-600\",\n pink: \"border-pink-600\",\n orange: \"border-orange-600\",\n yellow: \"border-yellow-600\",\n teal: \"border-teal-600\",\n indigo: \"border-indigo-600\",\n emerald: \"border-emerald-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n },\n);\n","\"use client\";\nimport { useState, useEffect, useCallback, useRef, useId } from \"react\";\nimport {\n SelectProps,\n SelectOption,\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectValueProps,\n} from \"./types\";\nimport { createContext, useContext } from \"react\";\nimport { SelectContextType } from \"./types\";\nimport { cn } from \"../../lib/utils\";\nimport {\n selectContentVariants,\n selectItemVariants,\n selectTriggerVariants,\n} from \"./variants\";\n\nexport const SelectContext = createContext<SelectContextType | null>(null);\n\nexport const useSelect = () => {\n const ctx = useContext(SelectContext);\n if (!ctx) throw new Error(\"Select components must be used inside Select\");\n return ctx;\n};\n\nexport const Select = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = true,\n}: SelectProps) => {\n const listboxId = `${useId()}-listbox`;\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<SelectOption[]>([]);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n const target = event.target;\n if (target instanceof Node && !root.contains(target)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = (val: string) => {\n if (multiple) {\n if (selected.includes(val)) {\n setSelected(selected.filter((v) => v !== val));\n } else {\n setSelected([...selected, val]);\n }\n } else {\n setSelected([val]);\n setOpen(false);\n }\n };\n\n const isSelected = (val: string) => selected.includes(val);\n\n const registerOption = useCallback((opt: SelectOption) => {\n setOptions((prev) => {\n if (prev.find((o) => o.value === opt.value)) return prev;\n return [...prev, opt];\n });\n }, []);\n\n return (\n <SelectContext.Provider\n value={{\n open,\n setOpen,\n selected,\n toggleValue,\n isSelected,\n registerOption,\n options,\n multiple,\n listboxId,\n }}\n >\n <div ref={rootRef} className=\"relative w-full\">\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n\nexport const SelectTrigger = ({\n className,\n variant,\n size,\n onClick,\n ...props\n}: SelectTriggerProps) => {\n const { open, setOpen, listboxId } = useSelect();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nexport const SelectValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: SelectValueProps) => {\n const { selected, options } = useSelect();\n\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span className={cn(className)} {...props}>\n {placeholder}\n </span>\n );\n }\n\n return (\n <span className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nexport const SelectContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: SelectContentProps) => {\n const { open, listboxId, multiple } = useSelect();\n const panelRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const panel = panelRef.current;\n if (!panel) {\n return;\n }\n const opts = Array.from(\n panel.querySelectorAll<HTMLElement>('[role=\"option\"]'),\n ).filter((el) => el.getAttribute(\"aria-disabled\") !== \"true\");\n requestAnimationFrame(() => opts[0]?.focus());\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const panel = panelRef.current;\n if (!panel) {\n return;\n }\n\n const enabledOptions = () =>\n Array.from(panel.querySelectorAll<HTMLElement>('[role=\"option\"]')).filter(\n (el) => el.getAttribute(\"aria-disabled\") !== \"true\",\n );\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const options = enabledOptions();\n if (options.length === 0) {\n return;\n }\n\n const idx = options.findIndex((el) => el === document.activeElement);\n\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n const next = idx < 0 ? 0 : Math.min(idx + 1, options.length - 1);\n options[next]?.focus();\n return;\n }\n\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n const prev = idx <= 0 ? options.length - 1 : Math.max(idx - 1, 0);\n options[prev]?.focus();\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n options[0]?.focus();\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n options[options.length - 1]?.focus();\n }\n };\n\n panel.addEventListener(\"keydown\", handleKeyDown);\n return () => panel.removeEventListener(\"keydown\", handleKeyDown);\n }, [open]);\n\n if (!open) return null;\n\n return (\n <div\n ref={panelRef}\n id={listboxId}\n role=\"listbox\"\n aria-multiselectable={multiple}\n tabIndex={-1}\n className={cn(\n selectContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport const SelectItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: SelectItemProps) => {\n const { toggleValue, isSelected, registerOption } = useSelect();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const isActive = isSelected(value);\n\n return (\n <div\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) {\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n data-selected={isActive ? \"true\" : \"false\"}\n className={cn(\n selectItemVariants({\n disabled,\n appearance,\n }),\n \"flex justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && <span>✓</span>}\n </div>\n );\n};\n"]}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { cn } from '../chunk-DFEZH7TC.mjs';
3
- import { createContext, useContext, useState, useRef, useEffect, useCallback } from 'react';
2
+ import { cn } from '../chunk-4D54YOL6.mjs';
3
+ import { createContext, useContext, useId, useState, useRef, useEffect, useCallback } from 'react';
4
4
  import { cva } from 'class-variance-authority';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  var selectTriggerVariants = cva(
8
- "flex items-center justify-between rounded-md border transition-all focus:outline-none",
8
+ "flex items-center justify-between rounded-md border transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2",
9
9
  {
10
10
  variants: {
11
11
  variant: {
@@ -22,15 +22,15 @@ var selectTriggerVariants = cva(
22
22
  indigo: "border-indigo-500 text-indigo-500",
23
23
  emerald: "border-emerald-600 text-emerald-600",
24
24
  glass: "border-white/15 bg-white/10 text-white backdrop-blur-md",
25
- "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white",
26
- "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white",
27
- "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white",
28
- "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white",
29
- "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white",
30
- "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white",
31
- "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white",
32
- "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white",
33
- "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white"
25
+ "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white",
26
+ "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white",
27
+ "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white",
28
+ "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white",
29
+ "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white",
30
+ "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white",
31
+ "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white",
32
+ "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white",
33
+ "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white"
34
34
  },
35
35
  size: {
36
36
  sm: "px-2 py-1 text-sm",
@@ -44,40 +44,43 @@ var selectTriggerVariants = cva(
44
44
  }
45
45
  }
46
46
  );
47
- var selectItemVariants = cva("cursor-pointer px-3 py-2 rounded-md", {
48
- variants: {
49
- appearance: {
50
- default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
51
- glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
52
- outline: "border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
53
- ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
54
- sky: "border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800",
55
- rose: "border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800",
56
- purple: "border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800",
57
- pink: "border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800",
58
- orange: "border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800",
59
- yellow: "border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800",
60
- teal: "border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800",
61
- indigo: "border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800",
62
- emerald: "border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800",
63
- "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100",
64
- "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100",
65
- "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100",
66
- "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100",
67
- "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100",
68
- "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100",
69
- "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100",
70
- "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100",
71
- "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100"
47
+ var selectItemVariants = cva(
48
+ "cursor-pointer px-3 py-2 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-inset",
49
+ {
50
+ variants: {
51
+ appearance: {
52
+ default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
53
+ glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
54
+ outline: "border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
55
+ ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
56
+ sky: "border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800",
57
+ rose: "border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800",
58
+ purple: "border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800",
59
+ pink: "border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800",
60
+ orange: "border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800",
61
+ yellow: "border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800",
62
+ teal: "border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800",
63
+ indigo: "border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800",
64
+ emerald: "border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800",
65
+ "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100",
66
+ "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100",
67
+ "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100",
68
+ "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100",
69
+ "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100",
70
+ "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100",
71
+ "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100",
72
+ "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100",
73
+ "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100"
74
+ },
75
+ disabled: {
76
+ true: "opacity-50 cursor-not-allowed"
77
+ }
72
78
  },
73
- disabled: {
74
- true: "opacity-50 cursor-not-allowed"
79
+ defaultVariants: {
80
+ appearance: "default"
75
81
  }
76
- },
77
- defaultVariants: {
78
- appearance: "default"
79
82
  }
80
- });
83
+ );
81
84
  var selectContentVariants = cva(
82
85
  "absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md",
83
86
  {
@@ -96,15 +99,15 @@ var selectContentVariants = cva(
96
99
  teal: "border-teal-600",
97
100
  indigo: "border-indigo-600",
98
101
  emerald: "border-emerald-600",
99
- "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
100
- "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
101
- "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
102
- "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
103
- "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
104
- "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
105
- "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
106
- "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
107
- "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl"
102
+ "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
103
+ "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
104
+ "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
105
+ "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
106
+ "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
107
+ "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
108
+ "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
109
+ "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
110
+ "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl"
108
111
  },
109
112
  size: {
110
113
  sm: "px-2 py-1 text-sm",
@@ -140,6 +143,7 @@ var Select = ({
140
143
  onChange,
141
144
  multiple = true
142
145
  }) => {
146
+ const listboxId = `${useId()}-listbox`;
143
147
  const [internal, setInternal] = useState(defaultValue);
144
148
  const [open, setOpen] = useState(false);
145
149
  const [options, setOptions] = useState([]);
@@ -196,7 +200,8 @@ var Select = ({
196
200
  isSelected,
197
201
  registerOption,
198
202
  options,
199
- multiple
203
+ multiple,
204
+ listboxId
200
205
  },
201
206
  children: /* @__PURE__ */ jsx("div", { ref: rootRef, className: "relative w-full", children })
202
207
  }
@@ -206,16 +211,25 @@ var SelectTrigger = ({
206
211
  className,
207
212
  variant,
208
213
  size,
214
+ onClick,
209
215
  ...props
210
216
  }) => {
211
- const { open, setOpen } = useSelect();
217
+ const { open, setOpen, listboxId } = useSelect();
212
218
  return /* @__PURE__ */ jsx(
213
219
  "button",
214
220
  {
215
221
  type: "button",
216
- onClick: () => setOpen(!open),
222
+ "aria-expanded": open,
223
+ "aria-haspopup": "listbox",
224
+ "aria-controls": listboxId,
217
225
  className: cn(selectTriggerVariants({ variant, size }), className),
218
- ...props
226
+ ...props,
227
+ onClick: (event) => {
228
+ onClick?.(event);
229
+ if (!event.defaultPrevented) {
230
+ setOpen(!open);
231
+ }
232
+ }
219
233
  }
220
234
  );
221
235
  };
@@ -242,11 +256,72 @@ var SelectContent = ({
242
256
  spacing = "default",
243
257
  ...props
244
258
  }) => {
245
- const { open } = useSelect();
259
+ const { open, listboxId, multiple } = useSelect();
260
+ const panelRef = useRef(null);
261
+ useEffect(() => {
262
+ if (!open) {
263
+ return;
264
+ }
265
+ const panel = panelRef.current;
266
+ if (!panel) {
267
+ return;
268
+ }
269
+ const opts = Array.from(
270
+ panel.querySelectorAll('[role="option"]')
271
+ ).filter((el) => el.getAttribute("aria-disabled") !== "true");
272
+ requestAnimationFrame(() => opts[0]?.focus());
273
+ }, [open]);
274
+ useEffect(() => {
275
+ if (!open) {
276
+ return;
277
+ }
278
+ const panel = panelRef.current;
279
+ if (!panel) {
280
+ return;
281
+ }
282
+ const enabledOptions = () => Array.from(panel.querySelectorAll('[role="option"]')).filter(
283
+ (el) => el.getAttribute("aria-disabled") !== "true"
284
+ );
285
+ const handleKeyDown = (event) => {
286
+ const options = enabledOptions();
287
+ if (options.length === 0) {
288
+ return;
289
+ }
290
+ const idx = options.findIndex((el) => el === document.activeElement);
291
+ if (event.key === "ArrowDown") {
292
+ event.preventDefault();
293
+ const next = idx < 0 ? 0 : Math.min(idx + 1, options.length - 1);
294
+ options[next]?.focus();
295
+ return;
296
+ }
297
+ if (event.key === "ArrowUp") {
298
+ event.preventDefault();
299
+ const prev = idx <= 0 ? options.length - 1 : Math.max(idx - 1, 0);
300
+ options[prev]?.focus();
301
+ return;
302
+ }
303
+ if (event.key === "Home") {
304
+ event.preventDefault();
305
+ options[0]?.focus();
306
+ return;
307
+ }
308
+ if (event.key === "End") {
309
+ event.preventDefault();
310
+ options[options.length - 1]?.focus();
311
+ }
312
+ };
313
+ panel.addEventListener("keydown", handleKeyDown);
314
+ return () => panel.removeEventListener("keydown", handleKeyDown);
315
+ }, [open]);
246
316
  if (!open) return null;
247
317
  return /* @__PURE__ */ jsx(
248
318
  "div",
249
319
  {
320
+ ref: panelRef,
321
+ id: listboxId,
322
+ role: "listbox",
323
+ "aria-multiselectable": multiple,
324
+ tabIndex: -1,
250
325
  className: cn(
251
326
  selectContentVariants({ appearance, size, spacing }),
252
327
  className
@@ -274,10 +349,17 @@ var SelectItem = ({
274
349
  {
275
350
  role: "option",
276
351
  "aria-selected": isActive,
277
- tabIndex: 0,
352
+ "aria-disabled": disabled ? true : void 0,
353
+ tabIndex: -1,
278
354
  onClick: () => !disabled && toggleValue(value),
279
355
  onKeyDown: (e) => {
280
- if (e.key === "Enter") toggleValue(value);
356
+ if (disabled) {
357
+ return;
358
+ }
359
+ if (e.key === "Enter" || e.key === " ") {
360
+ e.preventDefault();
361
+ toggleValue(value);
362
+ }
281
363
  },
282
364
  "data-selected": isActive ? "true" : "false",
283
365
  className: cn(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/select/variants.ts","../../src/ui/select/select.tsx"],"names":[],"mappings":"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","file":"select.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const selectTriggerVariants = cva(\n \"flex items-center justify-between rounded-md border transition-all focus:outline-none\",\n {\n variants: {\n variant: {\n default: \"border-gray-300 bg-white text-gray-900\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600 text-sky-600\",\n rose: \"border-rose-600 text-rose-600\",\n purple: \"border-purple-600 text-purple-600\",\n pink: \"border-pink-600 text-pink-600\",\n orange: \"border-orange-600 text-orange-600\",\n yellow: \"border-yellow-600 text-yellow-600\",\n teal: \"border-teal-600 text-teal-600\",\n indigo: \"border-indigo-500 text-indigo-500\",\n emerald: \"border-emerald-600 text-emerald-600\",\n glass: \"border-white/15 bg-white/10 text-white backdrop-blur-md\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const selectItemVariants = cva(\"cursor-pointer px-3 py-2 rounded-md\", {\n variants: {\n appearance: {\n default:\n \"bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n glass:\n \"bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100\",\n outline:\n \"border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n ghost:\n \"border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900\",\n sky: \"border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800\",\n rose: \"border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800\",\n purple:\n \"border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800\",\n pink: \"border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800\",\n orange:\n \"border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800\",\n yellow:\n \"border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800\",\n teal: \"border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800\",\n indigo:\n \"border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800\",\n emerald:\n \"border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const selectContentVariants = cva(\n \"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md\",\n {\n variants: {\n appearance: {\n default: \"bg-white shadow-md\",\n glass: \"bg-white/10 backdrop-blur-md\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600\",\n rose: \"border-rose-600\",\n purple: \"border-purple-600\",\n pink: \"border-pink-600\",\n orange: \"border-orange-600\",\n yellow: \"border-yellow-600\",\n teal: \"border-teal-600\",\n indigo: \"border-indigo-600\",\n emerald: \"border-emerald-600\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n },\n);\n","\"use client\";\nimport { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n SelectProps,\n SelectOption,\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectValueProps,\n} from \"./types\";\nimport { createContext, useContext } from \"react\";\nimport { SelectContextType } from \"./types\";\nimport { cn } from \"../../lib/utils\";\nimport {\n selectContentVariants,\n selectItemVariants,\n selectTriggerVariants,\n} from \"./variants\";\n\nexport const SelectContext = createContext<SelectContextType | null>(null);\n\nexport const useSelect = () => {\n const ctx = useContext(SelectContext);\n if (!ctx) throw new Error(\"Select components must be used inside Select\");\n return ctx;\n};\n\nexport const Select = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = true,\n}: SelectProps) => {\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<SelectOption[]>([]);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n const target = event.target;\n if (target instanceof Node && !root.contains(target)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = (val: string) => {\n if (multiple) {\n if (selected.includes(val)) {\n setSelected(selected.filter((v) => v !== val));\n } else {\n setSelected([...selected, val]);\n }\n } else {\n setSelected([val]);\n setOpen(false);\n }\n };\n\n const isSelected = (val: string) => selected.includes(val);\n\n const registerOption = useCallback((opt: SelectOption) => {\n setOptions((prev) => {\n if (prev.find((o) => o.value === opt.value)) return prev;\n return [...prev, opt];\n });\n }, []);\n\n return (\n <SelectContext.Provider\n value={{\n open,\n setOpen,\n selected,\n toggleValue,\n isSelected,\n registerOption,\n options,\n multiple,\n }}\n >\n <div ref={rootRef} className=\"relative w-full\">\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n\nexport const SelectTrigger = ({\n className,\n variant,\n size,\n ...props\n}: SelectTriggerProps) => {\n const { open, setOpen } = useSelect();\n\n return (\n <button\n type=\"button\"\n onClick={() => setOpen(!open)}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n />\n );\n};\n\nexport const SelectValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: SelectValueProps) => {\n const { selected, options } = useSelect();\n\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span className={cn(className)} {...props}>\n {placeholder}\n </span>\n );\n }\n\n return (\n <span className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nexport const SelectContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: SelectContentProps) => {\n const { open } = useSelect();\n\n if (!open) return null;\n\n return (\n <div\n className={cn(\n selectContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport const SelectItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: SelectItemProps) => {\n const { toggleValue, isSelected, registerOption } = useSelect();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const isActive = isSelected(value);\n\n return (\n <div\n role=\"option\"\n aria-selected={isActive}\n tabIndex={0}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") toggleValue(value);\n }}\n data-selected={isActive ? \"true\" : \"false\"}\n className={cn(\n selectItemVariants({\n disabled,\n appearance,\n }),\n \"flex justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && <span>✓</span>}\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/ui/select/variants.ts","../../src/ui/select/select.tsx"],"names":[],"mappings":"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","file":"select.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const selectTriggerVariants = cva(\n \"flex items-center justify-between rounded-md border transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"border-gray-300 bg-white text-gray-900\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600 text-sky-600\",\n rose: \"border-rose-600 text-rose-600\",\n purple: \"border-purple-600 text-purple-600\",\n pink: \"border-pink-600 text-pink-600\",\n orange: \"border-orange-600 text-orange-600\",\n yellow: \"border-yellow-600 text-yellow-600\",\n teal: \"border-teal-600 text-teal-600\",\n indigo: \"border-indigo-500 text-indigo-500\",\n emerald: \"border-emerald-600 text-emerald-600\",\n glass: \"border-white/15 bg-white/10 text-white backdrop-blur-md\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const selectItemVariants = cva(\n \"cursor-pointer px-3 py-2 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-inset\",\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n glass:\n \"bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100\",\n outline:\n \"border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n ghost:\n \"border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900\",\n sky: \"border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800\",\n rose: \"border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800\",\n purple:\n \"border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800\",\n pink: \"border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800\",\n orange:\n \"border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800\",\n yellow:\n \"border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800\",\n teal: \"border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800\",\n indigo:\n \"border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800\",\n emerald:\n \"border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const selectContentVariants = cva(\n \"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md\",\n {\n variants: {\n appearance: {\n default: \"bg-white shadow-md\",\n glass: \"bg-white/10 backdrop-blur-md\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600\",\n rose: \"border-rose-600\",\n purple: \"border-purple-600\",\n pink: \"border-pink-600\",\n orange: \"border-orange-600\",\n yellow: \"border-yellow-600\",\n teal: \"border-teal-600\",\n indigo: \"border-indigo-600\",\n emerald: \"border-emerald-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n },\n);\n","\"use client\";\nimport { useState, useEffect, useCallback, useRef, useId } from \"react\";\nimport {\n SelectProps,\n SelectOption,\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectValueProps,\n} from \"./types\";\nimport { createContext, useContext } from \"react\";\nimport { SelectContextType } from \"./types\";\nimport { cn } from \"../../lib/utils\";\nimport {\n selectContentVariants,\n selectItemVariants,\n selectTriggerVariants,\n} from \"./variants\";\n\nexport const SelectContext = createContext<SelectContextType | null>(null);\n\nexport const useSelect = () => {\n const ctx = useContext(SelectContext);\n if (!ctx) throw new Error(\"Select components must be used inside Select\");\n return ctx;\n};\n\nexport const Select = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = true,\n}: SelectProps) => {\n const listboxId = `${useId()}-listbox`;\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<SelectOption[]>([]);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n const target = event.target;\n if (target instanceof Node && !root.contains(target)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = (val: string) => {\n if (multiple) {\n if (selected.includes(val)) {\n setSelected(selected.filter((v) => v !== val));\n } else {\n setSelected([...selected, val]);\n }\n } else {\n setSelected([val]);\n setOpen(false);\n }\n };\n\n const isSelected = (val: string) => selected.includes(val);\n\n const registerOption = useCallback((opt: SelectOption) => {\n setOptions((prev) => {\n if (prev.find((o) => o.value === opt.value)) return prev;\n return [...prev, opt];\n });\n }, []);\n\n return (\n <SelectContext.Provider\n value={{\n open,\n setOpen,\n selected,\n toggleValue,\n isSelected,\n registerOption,\n options,\n multiple,\n listboxId,\n }}\n >\n <div ref={rootRef} className=\"relative w-full\">\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n\nexport const SelectTrigger = ({\n className,\n variant,\n size,\n onClick,\n ...props\n}: SelectTriggerProps) => {\n const { open, setOpen, listboxId } = useSelect();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nexport const SelectValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: SelectValueProps) => {\n const { selected, options } = useSelect();\n\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span className={cn(className)} {...props}>\n {placeholder}\n </span>\n );\n }\n\n return (\n <span className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nexport const SelectContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: SelectContentProps) => {\n const { open, listboxId, multiple } = useSelect();\n const panelRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const panel = panelRef.current;\n if (!panel) {\n return;\n }\n const opts = Array.from(\n panel.querySelectorAll<HTMLElement>('[role=\"option\"]'),\n ).filter((el) => el.getAttribute(\"aria-disabled\") !== \"true\");\n requestAnimationFrame(() => opts[0]?.focus());\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const panel = panelRef.current;\n if (!panel) {\n return;\n }\n\n const enabledOptions = () =>\n Array.from(panel.querySelectorAll<HTMLElement>('[role=\"option\"]')).filter(\n (el) => el.getAttribute(\"aria-disabled\") !== \"true\",\n );\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const options = enabledOptions();\n if (options.length === 0) {\n return;\n }\n\n const idx = options.findIndex((el) => el === document.activeElement);\n\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n const next = idx < 0 ? 0 : Math.min(idx + 1, options.length - 1);\n options[next]?.focus();\n return;\n }\n\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n const prev = idx <= 0 ? options.length - 1 : Math.max(idx - 1, 0);\n options[prev]?.focus();\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n options[0]?.focus();\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n options[options.length - 1]?.focus();\n }\n };\n\n panel.addEventListener(\"keydown\", handleKeyDown);\n return () => panel.removeEventListener(\"keydown\", handleKeyDown);\n }, [open]);\n\n if (!open) return null;\n\n return (\n <div\n ref={panelRef}\n id={listboxId}\n role=\"listbox\"\n aria-multiselectable={multiple}\n tabIndex={-1}\n className={cn(\n selectContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport const SelectItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: SelectItemProps) => {\n const { toggleValue, isSelected, registerOption } = useSelect();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const isActive = isSelected(value);\n\n return (\n <div\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) {\n return;\n }\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n data-selected={isActive ? \"true\" : \"false\"}\n className={cn(\n selectItemVariants({\n disabled,\n appearance,\n }),\n \"flex justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && <span>✓</span>}\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton-animated.d.ts","sourceRoot":"","sources":["../../../../src/ui/skeleton/animated/skeleton-animated.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AASjB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAM5D;yBANe,gBAAgB;;;AAUhC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAMpE;yBANe,oBAAoB;;;AAUpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAKxE;yBALe,sBAAsB;;;AAStC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAwDpE;yBAxDe,oBAAoB;;;AA4DpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAKxE;yBALe,sBAAsB"}
1
+ {"version":3,"file":"skeleton-animated.d.ts","sourceRoot":"","sources":["../../../../src/ui/skeleton/animated/skeleton-animated.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AASjB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAM5D;yBANe,gBAAgB;;;AAUhC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAapE;yBAbe,oBAAoB;;;AAiBpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAYxE;yBAZe,sBAAsB;;;AAgBtC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAwDpE;yBAxDe,oBAAoB;;;AA4DpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAYxE;yBAZe,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/skeleton/animated/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,eAAe,CAAC,KAAK,CAAC,EACtB,SAAS,GAAG,SAAS,GAAG,YAAY,CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,iBAAiB,EACjB,yBAAyB,CAC1B,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GACtD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/skeleton/animated/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,eAAe,CAAC,KAAK,CAAC,EACtB,SAAS,GAAG,SAAS,GAAG,YAAY,CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,iBAAiB,EACjB,yBAAyB,CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GACtD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEJ,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}