@zentauri-ui/zentauri-components 1.5.31 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/README.md +78 -69
  2. package/dist/charts/area.js.map +1 -1
  3. package/dist/charts/area.mjs.map +1 -1
  4. package/dist/charts/bubble/Bubble.d.ts.map +1 -1
  5. package/dist/charts/bubble.js.map +1 -1
  6. package/dist/charts/bubble.mjs.map +1 -1
  7. package/dist/charts/pie/Pie.d.ts.map +1 -1
  8. package/dist/charts/pie.js +20 -2
  9. package/dist/charts/pie.js.map +1 -1
  10. package/dist/charts/pie.mjs +20 -2
  11. package/dist/charts/pie.mjs.map +1 -1
  12. package/dist/charts/shared/types.d.ts.map +1 -1
  13. package/dist/{chunk-G3LEYBRV.mjs → chunk-25EAVVGS.mjs} +61 -58
  14. package/dist/chunk-25EAVVGS.mjs.map +1 -0
  15. package/dist/{chunk-BCZIYH53.js → chunk-3OXIZ4ZO.js} +28 -28
  16. package/dist/chunk-3OXIZ4ZO.js.map +1 -0
  17. package/dist/chunk-3PC7XLJX.js +102 -0
  18. package/dist/chunk-3PC7XLJX.js.map +1 -0
  19. package/dist/chunk-4ECCMHAX.mjs +323 -0
  20. package/dist/chunk-4ECCMHAX.mjs.map +1 -0
  21. package/dist/{chunk-JJDANNNL.mjs → chunk-4MPNRGUA.mjs} +3 -9
  22. package/dist/chunk-4MPNRGUA.mjs.map +1 -0
  23. package/dist/{chunk-Y745GQR2.js → chunk-4PZIDDC6.js} +45 -45
  24. package/dist/chunk-4PZIDDC6.js.map +1 -0
  25. package/dist/{chunk-PWL5WD34.js → chunk-662PJBZD.js} +27 -26
  26. package/dist/chunk-662PJBZD.js.map +1 -0
  27. package/dist/{chunk-TINHLHCN.mjs → chunk-73RHHGIA.mjs} +39 -36
  28. package/dist/chunk-73RHHGIA.mjs.map +1 -0
  29. package/dist/{chunk-OLEMP2HL.js → chunk-746CV3AN.js} +29 -36
  30. package/dist/chunk-746CV3AN.js.map +1 -0
  31. package/dist/{chunk-AUGLZ3AN.js → chunk-BMFPUQZC.js} +50 -50
  32. package/dist/chunk-BMFPUQZC.js.map +1 -0
  33. package/dist/chunk-CFTDAGKD.js +130 -0
  34. package/dist/chunk-CFTDAGKD.js.map +1 -0
  35. package/dist/{chunk-N2OAI2HN.js → chunk-D55YIHBN.js} +15 -15
  36. package/dist/chunk-D55YIHBN.js.map +1 -0
  37. package/dist/{chunk-KXUG4WVW.js → chunk-DO2LEXUY.js} +5 -5
  38. package/dist/{chunk-KXUG4WVW.js.map → chunk-DO2LEXUY.js.map} +1 -1
  39. package/dist/chunk-EU63V22F.mjs +126 -0
  40. package/dist/chunk-EU63V22F.mjs.map +1 -0
  41. package/dist/chunk-EZS47EZW.mjs +70 -0
  42. package/dist/chunk-EZS47EZW.mjs.map +1 -0
  43. package/dist/{chunk-E4FZY7O2.js → chunk-GHJN3Z3V.js} +48 -48
  44. package/dist/chunk-GHJN3Z3V.js.map +1 -0
  45. package/dist/{chunk-MTLLJFUI.mjs → chunk-GIC3J6HR.mjs} +28 -28
  46. package/dist/chunk-GIC3J6HR.mjs.map +1 -0
  47. package/dist/{chunk-C5L465FW.mjs → chunk-HARD4NMB.mjs} +45 -45
  48. package/dist/chunk-HARD4NMB.mjs.map +1 -0
  49. package/dist/{chunk-YTRGRHEB.js → chunk-HV7LVRK3.js} +61 -58
  50. package/dist/chunk-HV7LVRK3.js.map +1 -0
  51. package/dist/{chunk-Q5B44QW7.js → chunk-J4LG43O2.js} +51 -51
  52. package/dist/chunk-J4LG43O2.js.map +1 -0
  53. package/dist/{chunk-ZYZJ74XB.mjs → chunk-J5QJEKY2.mjs} +28 -28
  54. package/dist/chunk-J5QJEKY2.mjs.map +1 -0
  55. package/dist/{chunk-7TLKLMBM.js → chunk-JOMSI4WH.js} +18 -15
  56. package/dist/chunk-JOMSI4WH.js.map +1 -0
  57. package/dist/{chunk-ZBBFOMSJ.mjs → chunk-M6FS7X54.mjs} +22 -22
  58. package/dist/chunk-M6FS7X54.mjs.map +1 -0
  59. package/dist/{chunk-JUDMPOCI.js → chunk-MM3P52WS.js} +22 -22
  60. package/dist/chunk-MM3P52WS.js.map +1 -0
  61. package/dist/{chunk-UWA23DUC.js → chunk-OB6TYS5Q.js} +28 -28
  62. package/dist/chunk-OB6TYS5Q.js.map +1 -0
  63. package/dist/{chunk-QZTEFGZF.mjs → chunk-OVTWPGMW.mjs} +18 -15
  64. package/dist/chunk-OVTWPGMW.mjs.map +1 -0
  65. package/dist/{chunk-7OHC4ERB.mjs → chunk-PPVJ4INP.mjs} +3 -3
  66. package/dist/{chunk-7OHC4ERB.mjs.map → chunk-PPVJ4INP.mjs.map} +1 -1
  67. package/dist/{chunk-LN77JJTY.mjs → chunk-PSIAOIXJ.mjs} +48 -48
  68. package/dist/chunk-PSIAOIXJ.mjs.map +1 -0
  69. package/dist/chunk-QNF4JPFP.js +339 -0
  70. package/dist/chunk-QNF4JPFP.js.map +1 -0
  71. package/dist/{chunk-A6KMZ5ZS.mjs → chunk-QSIJKHC5.mjs} +15 -15
  72. package/dist/chunk-QSIJKHC5.mjs.map +1 -0
  73. package/dist/chunk-RFFGQYDQ.mjs +337 -0
  74. package/dist/chunk-RFFGQYDQ.mjs.map +1 -0
  75. package/dist/{chunk-INMNX3HQ.mjs → chunk-S5H2OMTZ.mjs} +29 -36
  76. package/dist/chunk-S5H2OMTZ.mjs.map +1 -0
  77. package/dist/{chunk-JBAUEGYD.mjs → chunk-TFWKF3DR.mjs} +51 -51
  78. package/dist/chunk-TFWKF3DR.mjs.map +1 -0
  79. package/dist/chunk-VGWA26BN.js +72 -0
  80. package/dist/chunk-VGWA26BN.js.map +1 -0
  81. package/dist/{chunk-MEJMX4QI.js → chunk-VMCOX3Z2.js} +3 -9
  82. package/dist/chunk-VMCOX3Z2.js.map +1 -0
  83. package/dist/chunk-Y3AHRRNM.mjs +99 -0
  84. package/dist/chunk-Y3AHRRNM.mjs.map +1 -0
  85. package/dist/{chunk-TJUNN2PT.mjs → chunk-YD3LVW7V.mjs} +27 -26
  86. package/dist/chunk-YD3LVW7V.mjs.map +1 -0
  87. package/dist/{chunk-AD2LA3XN.js → chunk-YIO7DFUA.js} +39 -36
  88. package/dist/chunk-YIO7DFUA.js.map +1 -0
  89. package/dist/chunk-YRTGORVB.js +232 -0
  90. package/dist/chunk-YRTGORVB.js.map +1 -0
  91. package/dist/chunk-Z7QK472J.mjs +220 -0
  92. package/dist/chunk-Z7QK472J.mjs.map +1 -0
  93. package/dist/hooks/useDynamicStepper/index.d.ts +1 -1
  94. package/dist/hooks/useDynamicStepper/index.d.ts.map +1 -1
  95. package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts.map +1 -1
  96. package/dist/hooks/useDynamicStepper.js +2 -2
  97. package/dist/hooks/useDynamicStepper.mjs +1 -1
  98. package/dist/ui/accordion/animated.js +7 -7
  99. package/dist/ui/accordion/animated.mjs +2 -2
  100. package/dist/ui/accordion/variants.d.ts.map +1 -1
  101. package/dist/ui/accordion.js +9 -9
  102. package/dist/ui/accordion.mjs +2 -2
  103. package/dist/ui/alert/animated.js +2 -2
  104. package/dist/ui/alert/animated.mjs +1 -1
  105. package/dist/ui/alert/variants.d.ts.map +1 -1
  106. package/dist/ui/alert.js +10 -10
  107. package/dist/ui/alert.mjs +2 -2
  108. package/dist/ui/avatar/animated.js +5 -5
  109. package/dist/ui/avatar/animated.mjs +2 -2
  110. package/dist/ui/avatar/variants.d.ts.map +1 -1
  111. package/dist/ui/avatar.js +9 -9
  112. package/dist/ui/avatar.mjs +2 -2
  113. package/dist/ui/badge/animated.js +2 -2
  114. package/dist/ui/badge/animated.mjs +1 -1
  115. package/dist/ui/badge/variants.d.ts +24 -24
  116. package/dist/ui/badge/variants.d.ts.map +1 -1
  117. package/dist/ui/badge.js +4 -4
  118. package/dist/ui/badge.mjs +2 -2
  119. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  120. package/dist/ui/breadcrumb.js +30 -25
  121. package/dist/ui/breadcrumb.js.map +1 -1
  122. package/dist/ui/breadcrumb.mjs +30 -25
  123. package/dist/ui/breadcrumb.mjs.map +1 -1
  124. package/dist/ui/buttons/animated.js +3 -3
  125. package/dist/ui/buttons/animated.mjs +1 -1
  126. package/dist/ui/buttons/variants.d.ts.map +1 -1
  127. package/dist/ui/buttons.js +4 -4
  128. package/dist/ui/buttons.mjs +2 -2
  129. package/dist/ui/card/animated.js +7 -7
  130. package/dist/ui/card/animated.mjs +2 -2
  131. package/dist/ui/card/variants.d.ts.map +1 -1
  132. package/dist/ui/card.js +12 -12
  133. package/dist/ui/card.mjs +2 -2
  134. package/dist/ui/divider/animated.js +2 -2
  135. package/dist/ui/divider/animated.mjs +1 -1
  136. package/dist/ui/divider.js +6 -6
  137. package/dist/ui/divider.mjs +2 -2
  138. package/dist/ui/drawer/animated.js +11 -11
  139. package/dist/ui/drawer/animated.mjs +2 -2
  140. package/dist/ui/drawer/variants.d.ts.map +1 -1
  141. package/dist/ui/drawer.js +11 -11
  142. package/dist/ui/drawer.mjs +1 -1
  143. package/dist/ui/dropdown/variants.d.ts.map +1 -1
  144. package/dist/ui/dropdown.js +52 -52
  145. package/dist/ui/dropdown.js.map +1 -1
  146. package/dist/ui/dropdown.mjs +52 -52
  147. package/dist/ui/dropdown.mjs.map +1 -1
  148. package/dist/ui/dynamic-stepper/index.d.ts +1 -1
  149. package/dist/ui/dynamic-stepper/index.d.ts.map +1 -1
  150. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  151. package/dist/ui/dynamic-stepper.js +75 -72
  152. package/dist/ui/dynamic-stepper.js.map +1 -1
  153. package/dist/ui/dynamic-stepper.mjs +72 -69
  154. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  155. package/dist/ui/empty-state/animated.js +2 -2
  156. package/dist/ui/empty-state/animated.mjs +1 -1
  157. package/dist/ui/empty-state/variants.d.ts.map +1 -1
  158. package/dist/ui/empty-state.js +10 -10
  159. package/dist/ui/empty-state.mjs +2 -2
  160. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  161. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  162. package/dist/ui/file-upload.js +18 -18
  163. package/dist/ui/file-upload.js.map +1 -1
  164. package/dist/ui/file-upload.mjs +18 -18
  165. package/dist/ui/file-upload.mjs.map +1 -1
  166. package/dist/ui/inputs/animated.js +3 -3
  167. package/dist/ui/inputs/animated.mjs +1 -1
  168. package/dist/ui/inputs/types.d.ts +1 -1
  169. package/dist/ui/inputs/types.d.ts.map +1 -1
  170. package/dist/ui/inputs/variants.d.ts +1 -1
  171. package/dist/ui/inputs/variants.d.ts.map +1 -1
  172. package/dist/ui/inputs.js +4 -4
  173. package/dist/ui/inputs.mjs +2 -2
  174. package/dist/ui/modal/animated.js +4 -4
  175. package/dist/ui/modal/animated.mjs +1 -1
  176. package/dist/ui/modal/variants.d.ts.map +1 -1
  177. package/dist/ui/modal.js +12 -12
  178. package/dist/ui/modal.mjs +2 -2
  179. package/dist/ui/pagination/types.d.ts.map +1 -1
  180. package/dist/ui/pagination/variants.d.ts.map +1 -1
  181. package/dist/ui/pagination.js +33 -33
  182. package/dist/ui/pagination.js.map +1 -1
  183. package/dist/ui/pagination.mjs +30 -30
  184. package/dist/ui/pagination.mjs.map +1 -1
  185. package/dist/ui/progress/animated.js +8 -8
  186. package/dist/ui/progress/animated.mjs +2 -2
  187. package/dist/ui/progress/variants.d.ts.map +1 -1
  188. package/dist/ui/progress.js +9 -9
  189. package/dist/ui/progress.mjs +2 -2
  190. package/dist/ui/search/search-bar.d.ts.map +1 -1
  191. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  192. package/dist/ui/search.js +10 -9
  193. package/dist/ui/search.js.map +1 -1
  194. package/dist/ui/search.mjs +9 -8
  195. package/dist/ui/search.mjs.map +1 -1
  196. package/dist/ui/select/variants.d.ts.map +1 -1
  197. package/dist/ui/select.js +66 -66
  198. package/dist/ui/select.js.map +1 -1
  199. package/dist/ui/select.mjs +66 -66
  200. package/dist/ui/select.mjs.map +1 -1
  201. package/dist/ui/skeleton/animated.js +8 -8
  202. package/dist/ui/skeleton/animated.mjs +1 -1
  203. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  204. package/dist/ui/skeleton.js +9 -9
  205. package/dist/ui/skeleton.mjs +1 -1
  206. package/dist/ui/slider.js +25 -25
  207. package/dist/ui/slider.js.map +1 -1
  208. package/dist/ui/slider.mjs +25 -25
  209. package/dist/ui/slider.mjs.map +1 -1
  210. package/dist/ui/spinner/animated.js +22 -22
  211. package/dist/ui/spinner/animated.js.map +1 -1
  212. package/dist/ui/spinner/animated.mjs +22 -22
  213. package/dist/ui/spinner/animated.mjs.map +1 -1
  214. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  215. package/dist/ui/stepper/variants.d.ts.map +1 -1
  216. package/dist/ui/stepper.js +29 -26
  217. package/dist/ui/stepper.js.map +1 -1
  218. package/dist/ui/stepper.mjs +29 -26
  219. package/dist/ui/stepper.mjs.map +1 -1
  220. package/dist/ui/table/animated.js +8 -8
  221. package/dist/ui/table/animated.mjs +2 -2
  222. package/dist/ui/table/variants.d.ts.map +1 -1
  223. package/dist/ui/table.js +14 -14
  224. package/dist/ui/table.mjs +1 -1
  225. package/dist/ui/tabs/animated.js +2 -2
  226. package/dist/ui/tabs/animated.mjs +1 -1
  227. package/dist/ui/tabs/variants.d.ts.map +1 -1
  228. package/dist/ui/tabs.js +9 -9
  229. package/dist/ui/tabs.mjs +1 -1
  230. package/dist/ui/toast/animated.js +7 -7
  231. package/dist/ui/toast/animated.mjs +1 -1
  232. package/dist/ui/toast/toast-base.d.ts.map +1 -1
  233. package/dist/ui/toast/variants.d.ts.map +1 -1
  234. package/dist/ui/toast.js +12 -12
  235. package/dist/ui/toast.mjs +1 -1
  236. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
  237. package/dist/ui/toggle/animated.js +5 -4
  238. package/dist/ui/toggle/animated.js.map +1 -1
  239. package/dist/ui/toggle/animated.mjs +4 -3
  240. package/dist/ui/toggle/animated.mjs.map +1 -1
  241. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  242. package/dist/ui/toggle/variants.d.ts +1 -0
  243. package/dist/ui/toggle/variants.d.ts.map +1 -1
  244. package/dist/ui/toggle.js +8 -7
  245. package/dist/ui/toggle.js.map +1 -1
  246. package/dist/ui/toggle.mjs +6 -5
  247. package/dist/ui/toggle.mjs.map +1 -1
  248. package/dist/ui/tooltip/animated.js +3 -3
  249. package/dist/ui/tooltip/animated.mjs +1 -1
  250. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  251. package/dist/ui/tooltip.js +7 -7
  252. package/dist/ui/tooltip.mjs +1 -1
  253. package/dist/ui/typography/variants.d.ts.map +1 -1
  254. package/dist/ui/typography.js +19 -19
  255. package/dist/ui/typography.js.map +1 -1
  256. package/dist/ui/typography.mjs +19 -19
  257. package/dist/ui/typography.mjs.map +1 -1
  258. package/package.json +4 -3
  259. package/src/charts/area/Area.tsx +1 -1
  260. package/src/charts/bubble/Bubble.tsx +10 -2
  261. package/src/charts/pie/Pie.tsx +22 -3
  262. package/src/charts/shared/types.ts +1 -1
  263. package/src/hooks/useDynamicStepper/index.ts +1 -3
  264. package/src/hooks/useDynamicStepper/useDynamicStepper.ts +1 -7
  265. package/src/ui/accordion/variants.ts +55 -43
  266. package/src/ui/alert/variants.ts +45 -32
  267. package/src/ui/avatar/variants.ts +34 -26
  268. package/src/ui/badge/variants.ts +42 -29
  269. package/src/ui/breadcrumb/variants.ts +30 -25
  270. package/src/ui/buttons/variants.ts +40 -30
  271. package/src/ui/card/variants.ts +49 -39
  272. package/src/ui/divider/variants.ts +26 -26
  273. package/src/ui/drawer/drawer-base.tsx +1 -1
  274. package/src/ui/drawer/variants.ts +64 -48
  275. package/src/ui/dropdown/dropdown.tsx +1 -1
  276. package/src/ui/dropdown/variants.ts +63 -52
  277. package/src/ui/dynamic-stepper/dynamic-stepper.test.tsx +6 -2
  278. package/src/ui/dynamic-stepper/dynamic-stepper.tsx +2 -2
  279. package/src/ui/dynamic-stepper/index.ts +1 -3
  280. package/src/ui/dynamic-stepper/variants.ts +73 -64
  281. package/src/ui/empty-state/variants.ts +14 -11
  282. package/src/ui/file-upload/file-upload.tsx +5 -3
  283. package/src/ui/file-upload/variants.ts +16 -15
  284. package/src/ui/inputs/types.ts +1 -1
  285. package/src/ui/inputs/variants.ts +106 -47
  286. package/src/ui/modal/modal-base.tsx +1 -1
  287. package/src/ui/modal/variants.ts +64 -47
  288. package/src/ui/pagination/pagination.tsx +1 -1
  289. package/src/ui/pagination/types.ts +1 -4
  290. package/src/ui/pagination/variants.ts +31 -28
  291. package/src/ui/progress/variants.ts +79 -65
  292. package/src/ui/search/search-bar.tsx +2 -1
  293. package/src/ui/search/search-suggestion-list.tsx +7 -5
  294. package/src/ui/select/variants.ts +72 -66
  295. package/src/ui/skeleton/variants.ts +22 -13
  296. package/src/ui/slider/variants.ts +25 -25
  297. package/src/ui/spinner/animated/variants.ts +22 -22
  298. package/src/ui/stepper/stepper.tsx +5 -2
  299. package/src/ui/stepper/variants.ts +25 -24
  300. package/src/ui/table/table-base.tsx +1 -1
  301. package/src/ui/table/variants.ts +53 -45
  302. package/src/ui/tabs/variants.ts +38 -23
  303. package/src/ui/toast/toast-base.tsx +1 -4
  304. package/src/ui/toast/variants.ts +33 -26
  305. package/src/ui/toggle/animated/toggle-animated.tsx +3 -2
  306. package/src/ui/toggle/toggle-base.tsx +4 -3
  307. package/src/ui/toggle/variants.ts +60 -28
  308. package/src/ui/tooltip/variants.ts +21 -20
  309. package/src/ui/typography/code-block-base.tsx +1 -1
  310. package/src/ui/typography/variants.ts +21 -18
  311. package/dist/chunk-2BAMNRAL.mjs +0 -323
  312. package/dist/chunk-2BAMNRAL.mjs.map +0 -1
  313. package/dist/chunk-5TV7EL3H.mjs +0 -70
  314. package/dist/chunk-5TV7EL3H.mjs.map +0 -1
  315. package/dist/chunk-7TLKLMBM.js.map +0 -1
  316. package/dist/chunk-A6KMZ5ZS.mjs.map +0 -1
  317. package/dist/chunk-AD2LA3XN.js.map +0 -1
  318. package/dist/chunk-AOEI4V3W.mjs +0 -286
  319. package/dist/chunk-AOEI4V3W.mjs.map +0 -1
  320. package/dist/chunk-AUGLZ3AN.js.map +0 -1
  321. package/dist/chunk-BCZIYH53.js.map +0 -1
  322. package/dist/chunk-C5L465FW.mjs.map +0 -1
  323. package/dist/chunk-E4FZY7O2.js.map +0 -1
  324. package/dist/chunk-FQBMIZH2.mjs +0 -217
  325. package/dist/chunk-FQBMIZH2.mjs.map +0 -1
  326. package/dist/chunk-G3LEYBRV.mjs.map +0 -1
  327. package/dist/chunk-I6GR234Z.mjs +0 -126
  328. package/dist/chunk-I6GR234Z.mjs.map +0 -1
  329. package/dist/chunk-INMNX3HQ.mjs.map +0 -1
  330. package/dist/chunk-JBAUEGYD.mjs.map +0 -1
  331. package/dist/chunk-JJDANNNL.mjs.map +0 -1
  332. package/dist/chunk-JQ5TIJ4F.mjs +0 -68
  333. package/dist/chunk-JQ5TIJ4F.mjs.map +0 -1
  334. package/dist/chunk-JUDMPOCI.js.map +0 -1
  335. package/dist/chunk-LN77JJTY.mjs.map +0 -1
  336. package/dist/chunk-MCOQHXRW.js +0 -130
  337. package/dist/chunk-MCOQHXRW.js.map +0 -1
  338. package/dist/chunk-MEJMX4QI.js.map +0 -1
  339. package/dist/chunk-MTLLJFUI.mjs.map +0 -1
  340. package/dist/chunk-N2OAI2HN.js.map +0 -1
  341. package/dist/chunk-OB4KJZK2.js +0 -72
  342. package/dist/chunk-OB4KJZK2.js.map +0 -1
  343. package/dist/chunk-OLEMP2HL.js.map +0 -1
  344. package/dist/chunk-PWL5WD34.js.map +0 -1
  345. package/dist/chunk-Q5B44QW7.js.map +0 -1
  346. package/dist/chunk-QZKMFSH5.js +0 -288
  347. package/dist/chunk-QZKMFSH5.js.map +0 -1
  348. package/dist/chunk-QZTEFGZF.mjs.map +0 -1
  349. package/dist/chunk-S7WKFNPT.js +0 -229
  350. package/dist/chunk-S7WKFNPT.js.map +0 -1
  351. package/dist/chunk-TINHLHCN.mjs.map +0 -1
  352. package/dist/chunk-TJUNN2PT.mjs.map +0 -1
  353. package/dist/chunk-UWA23DUC.js.map +0 -1
  354. package/dist/chunk-X22LLJL6.js +0 -71
  355. package/dist/chunk-X22LLJL6.js.map +0 -1
  356. package/dist/chunk-Y745GQR2.js.map +0 -1
  357. package/dist/chunk-YTRGRHEB.js.map +0 -1
  358. package/dist/chunk-ZBBFOMSJ.mjs.map +0 -1
  359. package/dist/chunk-ZYZJ74XB.mjs.map +0 -1
@@ -13,32 +13,32 @@ var triggerVariants = classVarianceAuthority.cva(
13
13
  {
14
14
  variants: {
15
15
  variant: {
16
- default: "bg-gray-900 text-white",
17
- outline: "border border-gray-300",
18
- ghost: "bg-transparent",
16
+ default: "bg-gray-200 dark:bg-gray-900 text-slate-900 dark:text-white",
17
+ outline: "border border-gray-700 dark:border-gray-300 text-gray-900 dark:text-gray-100",
18
+ ghost: "bg-transparent text-gray-900 dark:text-gray-100",
19
19
  white: "bg-white text-gray-900",
20
20
  black: "bg-black text-white",
21
- sky: "border border-sky-600 text-sky-600",
22
- rose: "border border-rose-600 text-rose-600",
23
- purple: "border border-purple-600 text-purple-600",
24
- pink: "border border-pink-600 text-pink-600",
25
- orange: "border border-orange-600 text-orange-600",
26
- yellow: "border border-yellow-600 text-yellow-600",
27
- teal: "border border-teal-600 text-teal-600",
28
- indigo: "border border-indigo-600 text-indigo-600",
29
- emerald: "border border-emerald-600 text-emerald-600",
30
- gray: "border border-gray-600 text-gray-600",
31
- amber: "border border-amber-600 text-amber-600",
32
- violet: "border border-violet-600 text-violet-600",
33
- "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 text-blue-200",
34
- "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 text-green-200",
35
- "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 text-red-200",
36
- "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 text-yellow-200",
37
- "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 text-purple-200",
38
- "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 text-teal-200",
39
- "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 text-indigo-200",
40
- "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 text-pink-200",
41
- "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 text-orange-200"
21
+ sky: "border border-sky-800 dark:border-sky-600 text-sky-800 dark:text-sky-600",
22
+ rose: "border border-rose-800 dark:border-rose-600 text-rose-800 dark:text-rose-600",
23
+ purple: "border border-purple-800 dark:border-purple-600 text-purple-800 dark:text-purple-600",
24
+ pink: "border border-pink-800 dark:border-pink-600 text-pink-800 dark:text-pink-600",
25
+ orange: "border border-orange-800 dark:border-orange-600 text-orange-800 dark:text-orange-600",
26
+ yellow: "border border-yellow-800 dark:border-yellow-600 text-yellow-800 dark:text-yellow-600",
27
+ teal: "border border-teal-800 dark:border-teal-600 text-teal-800 dark:text-teal-600",
28
+ indigo: "border border-indigo-800 dark:border-indigo-600 text-indigo-800 dark:text-indigo-600",
29
+ emerald: "border border-emerald-800 dark:border-emerald-600 text-emerald-800 dark:text-emerald-600",
30
+ gray: "border border-gray-800 dark:border-gray-600 text-gray-800 dark:text-gray-600",
31
+ amber: "border border-amber-800 dark:border-amber-600 text-amber-800 dark:text-amber-600",
32
+ violet: "border border-violet-800 dark:border-violet-600 text-violet-800 dark:text-violet-600",
33
+ "gradient-blue": "bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-blue-200",
34
+ "gradient-green": "bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-green-200",
35
+ "gradient-red": "bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-red-200",
36
+ "gradient-yellow": "bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-yellow-200",
37
+ "gradient-purple": "bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-purple-200",
38
+ "gradient-teal": "bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-teal-200",
39
+ "gradient-indigo": "bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-indigo-200",
40
+ "gradient-pink": "bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-pink-200",
41
+ "gradient-orange": "bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-orange-200"
42
42
  },
43
43
  size: {
44
44
  sm: "px-2 py-1 text-sm",
@@ -53,7 +53,7 @@ var triggerVariants = classVarianceAuthority.cva(
53
53
  }
54
54
  );
55
55
  var contentVariants = classVarianceAuthority.cva(
56
- "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border",
56
+ "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border border-slate-900/10 dark:border-white/10 bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 shadow-lg rounded-lg",
57
57
  {
58
58
  variants: {
59
59
  placement: {
@@ -78,36 +78,36 @@ var contentVariants = classVarianceAuthority.cva(
78
78
  }
79
79
  );
80
80
  var itemVariants = classVarianceAuthority.cva(
81
- "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60",
81
+ "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 font-semibold",
82
82
  {
83
83
  variants: {
84
84
  variant: {
85
- default: "hover:bg-gray-100 hover:text-gray-900 text-gray-100",
86
- outline: "hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100",
87
- ghost: "hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100",
88
- white: "hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900",
89
- black: "hover:bg-gray-100 hover:text-gray-900 bg-black text-white",
90
- sky: "hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800",
91
- rose: "hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800",
92
- purple: "hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800",
93
- pink: "hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800",
94
- orange: "hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800",
95
- yellow: "hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800",
96
- teal: "hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800",
97
- indigo: "hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800",
98
- emerald: "hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800",
99
- gray: "hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800",
100
- amber: "hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800",
101
- violet: "hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800",
102
- "gradient-blue": "hover:bg-linear-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-800",
103
- "gradient-green": "hover:bg-linear-to-r from-green-600 to-lime-600 hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-800",
104
- "gradient-red": "hover:bg-linear-to-r from-red-600 to-pink-600 hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-800",
105
- "gradient-yellow": "hover:bg-linear-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-800",
106
- "gradient-purple": "hover:bg-linear-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-800",
107
- "gradient-teal": "hover:bg-linear-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-800",
108
- "gradient-indigo": "hover:bg-linear-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-800",
109
- "gradient-pink": "hover:bg-linear-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-800",
110
- "gradient-orange": "hover:bg-linear-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-800"
85
+ default: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 text-gray-900 dark:text-gray-100",
86
+ outline: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 border border-black dark:border-white text-gray-900 dark:text-gray-100",
87
+ ghost: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-transparent text-gray-900 dark:text-gray-100",
88
+ white: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-white dark:bg-black text-gray-900 dark:text-white",
89
+ black: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-black dark:bg-white text-white dark:text-gray-900",
90
+ sky: "hover:bg-sky-100 hover:text-sky-800 dark:hover:text-sky-600 bg-sky-200 text-sky-900 dark:text-sky-800",
91
+ rose: "hover:bg-rose-100 hover:text-rose-800 dark:hover:text-rose-600 bg-rose-200 text-rose-900 dark:text-rose-800",
92
+ purple: "hover:bg-purple-100 hover:text-purple-800 dark:hover:text-purple-600 bg-purple-200 text-purple-900 dark:text-purple-800",
93
+ pink: "hover:bg-pink-100 hover:text-pink-800 dark:hover:text-pink-600 bg-pink-200 text-pink-900 dark:text-pink-800",
94
+ orange: "hover:bg-orange-100 hover:text-orange-800 dark:hover:text-orange-600 bg-orange-200 text-orange-900 dark:text-orange-800",
95
+ yellow: "hover:bg-yellow-100 hover:text-yellow-800 dark:hover:text-yellow-600 bg-yellow-200 text-yellow-900 dark:text-yellow-800",
96
+ teal: "hover:bg-teal-100 hover:text-teal-800 dark:hover:text-teal-600 bg-teal-200 text-teal-900 dark:text-teal-800",
97
+ indigo: "hover:bg-indigo-100 hover:text-indigo-800 dark:hover:text-indigo-600 bg-indigo-200 text-indigo-900 dark:text-indigo-800",
98
+ emerald: "hover:bg-emerald-100 hover:text-emerald-800 dark:hover:text-emerald-600 bg-emerald-200 text-emerald-900 dark:text-emerald-800",
99
+ gray: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-gray-200 text-gray-500 dark:text-gray-800",
100
+ amber: "hover:bg-amber-100 hover:text-amber-800 dark:hover:text-amber-600 bg-amber-200 text-amber-900 dark:text-amber-800",
101
+ violet: "hover:bg-violet-100 hover:text-violet-800 dark:hover:text-violet-600 bg-violet-200 text-violet-900 dark:text-violet-800",
102
+ "gradient-blue": "hover:bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 hover:text-blue-500 dark:hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-900 dark:text-blue-200",
103
+ "gradient-green": "hover:bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 hover:text-green-500 dark:hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-900 dark:text-green-200",
104
+ "gradient-red": "hover:bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 hover:text-red-500 dark:hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-900 dark:text-red-200",
105
+ "gradient-yellow": "hover:bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 hover:text-yellow-500 dark:hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-900 dark:text-yellow-200",
106
+ "gradient-purple": "hover:bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 hover:text-purple-500 dark:hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-900 dark:text-purple-200",
107
+ "gradient-teal": "hover:bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 hover:text-teal-500 dark:hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-900 dark:text-teal-200",
108
+ "gradient-indigo": "hover:bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 hover:text-indigo-500 dark:hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-900 dark:text-indigo-200",
109
+ "gradient-pink": "hover:bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 hover:text-pink-500 dark:hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-900 dark:text-pink-200",
110
+ "gradient-orange": "hover:bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 hover:text-orange-500 dark:hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-900 dark:text-orange-200"
111
111
  }
112
112
  },
113
113
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":["cva","createContext","useContext","useId","useState","jsx","cn","useRef","useClickOutside","jsxs","FiCheck"],"mappings":"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","file":"dropdown.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-900 text-white\",\n outline: \"border border-gray-300\",\n ghost: \"bg-transparent\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-600 text-sky-600\",\n rose: \"border border-rose-600 text-rose-600\",\n purple: \"border border-purple-600 text-purple-600\",\n pink: \"border border-pink-600 text-pink-600\",\n orange: \"border border-orange-600 text-orange-600\",\n yellow: \"border border-yellow-600 text-yellow-600\",\n teal: \"border border-teal-600 text-teal-600\",\n indigo: \"border border-indigo-600 text-indigo-600\",\n emerald: \"border border-emerald-600 text-emerald-600\",\n gray: \"border border-gray-600 text-gray-600\",\n amber: \"border border-amber-600 text-amber-600\",\n violet: \"border border-violet-600 text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\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 placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60\",\n {\n variants: {\n variant: {\n default: \"hover:bg-gray-100 hover:text-gray-900 text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100\",\n white: \"hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900\",\n black: \"hover:bg-gray-100 hover:text-gray-900 bg-black text-white\",\n sky: \"hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-800\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-600 to-lime-600 hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-800\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-600 to-pink-600 hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-800\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-800\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-800\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-800\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-800\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-800\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-800\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\",\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":["cva","createContext","useContext","useId","useState","jsx","cn","useRef","useClickOutside","jsxs","FiCheck"],"mappings":"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","file":"dropdown.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-200 dark:bg-gray-900 text-slate-900 dark:text-white\",\n outline:\n \"border border-gray-700 dark:border-gray-300 text-gray-900 dark:text-gray-100\",\n ghost: \"bg-transparent text-gray-900 dark:text-gray-100\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-800 dark:border-sky-600 text-sky-800 dark:text-sky-600\",\n rose: \"border border-rose-800 dark:border-rose-600 text-rose-800 dark:text-rose-600\",\n purple:\n \"border border-purple-800 dark:border-purple-600 text-purple-800 dark:text-purple-600\",\n pink: \"border border-pink-800 dark:border-pink-600 text-pink-800 dark:text-pink-600\",\n orange:\n \"border border-orange-800 dark:border-orange-600 text-orange-800 dark:text-orange-600\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 text-yellow-800 dark:text-yellow-600\",\n teal: \"border border-teal-800 dark:border-teal-600 text-teal-800 dark:text-teal-600\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 text-indigo-800 dark:text-indigo-600\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 text-emerald-800 dark:text-emerald-600\",\n gray: \"border border-gray-800 dark:border-gray-600 text-gray-800 dark:text-gray-600\",\n amber:\n \"border border-amber-800 dark:border-amber-600 text-amber-800 dark:text-amber-600\",\n violet:\n \"border border-violet-800 dark:border-violet-600 text-violet-800 dark:text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border border-slate-900/10 dark:border-white/10 bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 shadow-lg rounded-lg\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\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 placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 font-semibold\",\n {\n variants: {\n variant: {\n default:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 text-gray-900 dark:text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 border border-black dark:border-white text-gray-900 dark:text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-transparent text-gray-900 dark:text-gray-100\",\n white:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-white dark:bg-black text-gray-900 dark:text-white\",\n black:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-black dark:bg-white text-white dark:text-gray-900\",\n sky: \"hover:bg-sky-100 hover:text-sky-800 dark:hover:text-sky-600 bg-sky-200 text-sky-900 dark:text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-800 dark:hover:text-rose-600 bg-rose-200 text-rose-900 dark:text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-800 dark:hover:text-purple-600 bg-purple-200 text-purple-900 dark:text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-800 dark:hover:text-pink-600 bg-pink-200 text-pink-900 dark:text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-800 dark:hover:text-orange-600 bg-orange-200 text-orange-900 dark:text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-800 dark:hover:text-yellow-600 bg-yellow-200 text-yellow-900 dark:text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-800 dark:hover:text-teal-600 bg-teal-200 text-teal-900 dark:text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-800 dark:hover:text-indigo-600 bg-indigo-200 text-indigo-900 dark:text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-800 dark:hover:text-emerald-600 bg-emerald-200 text-emerald-900 dark:text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-gray-200 text-gray-500 dark:text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-800 dark:hover:text-amber-600 bg-amber-200 text-amber-900 dark:text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-800 dark:hover:text-violet-600 bg-violet-200 text-violet-900 dark:text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 hover:text-blue-500 dark:hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-900 dark:text-blue-200\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 hover:text-green-500 dark:hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-900 dark:text-green-200\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 hover:text-red-500 dark:hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-900 dark:text-red-200\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 hover:text-yellow-500 dark:hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-900 dark:text-yellow-200\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 hover:text-purple-500 dark:hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-900 dark:text-purple-200\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 hover:text-teal-500 dark:hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-900 dark:text-teal-200\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 hover:text-indigo-500 dark:hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-900 dark:text-indigo-200\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 hover:text-pink-500 dark:hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-900 dark:text-pink-200\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 hover:text-orange-500 dark:hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-900 dark:text-orange-200\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\"\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
@@ -11,32 +11,32 @@ var triggerVariants = cva(
11
11
  {
12
12
  variants: {
13
13
  variant: {
14
- default: "bg-gray-900 text-white",
15
- outline: "border border-gray-300",
16
- ghost: "bg-transparent",
14
+ default: "bg-gray-200 dark:bg-gray-900 text-slate-900 dark:text-white",
15
+ outline: "border border-gray-700 dark:border-gray-300 text-gray-900 dark:text-gray-100",
16
+ ghost: "bg-transparent text-gray-900 dark:text-gray-100",
17
17
  white: "bg-white text-gray-900",
18
18
  black: "bg-black text-white",
19
- sky: "border border-sky-600 text-sky-600",
20
- rose: "border border-rose-600 text-rose-600",
21
- purple: "border border-purple-600 text-purple-600",
22
- pink: "border border-pink-600 text-pink-600",
23
- orange: "border border-orange-600 text-orange-600",
24
- yellow: "border border-yellow-600 text-yellow-600",
25
- teal: "border border-teal-600 text-teal-600",
26
- indigo: "border border-indigo-600 text-indigo-600",
27
- emerald: "border border-emerald-600 text-emerald-600",
28
- gray: "border border-gray-600 text-gray-600",
29
- amber: "border border-amber-600 text-amber-600",
30
- violet: "border border-violet-600 text-violet-600",
31
- "gradient-blue": "bg-linear-to-r from-blue-600 to-purple-600 text-blue-200",
32
- "gradient-green": "bg-linear-to-r from-green-600 to-lime-600 text-green-200",
33
- "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 text-red-200",
34
- "gradient-yellow": "bg-linear-to-r from-yellow-600 to-orange-600 text-yellow-200",
35
- "gradient-purple": "bg-linear-to-r from-purple-600 to-pink-600 text-purple-200",
36
- "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 text-teal-200",
37
- "gradient-indigo": "bg-linear-to-r from-indigo-600 to-purple-600 text-indigo-200",
38
- "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 text-pink-200",
39
- "gradient-orange": "bg-linear-to-r from-orange-600 to-red-600 text-orange-200"
19
+ sky: "border border-sky-800 dark:border-sky-600 text-sky-800 dark:text-sky-600",
20
+ rose: "border border-rose-800 dark:border-rose-600 text-rose-800 dark:text-rose-600",
21
+ purple: "border border-purple-800 dark:border-purple-600 text-purple-800 dark:text-purple-600",
22
+ pink: "border border-pink-800 dark:border-pink-600 text-pink-800 dark:text-pink-600",
23
+ orange: "border border-orange-800 dark:border-orange-600 text-orange-800 dark:text-orange-600",
24
+ yellow: "border border-yellow-800 dark:border-yellow-600 text-yellow-800 dark:text-yellow-600",
25
+ teal: "border border-teal-800 dark:border-teal-600 text-teal-800 dark:text-teal-600",
26
+ indigo: "border border-indigo-800 dark:border-indigo-600 text-indigo-800 dark:text-indigo-600",
27
+ emerald: "border border-emerald-800 dark:border-emerald-600 text-emerald-800 dark:text-emerald-600",
28
+ gray: "border border-gray-800 dark:border-gray-600 text-gray-800 dark:text-gray-600",
29
+ amber: "border border-amber-800 dark:border-amber-600 text-amber-800 dark:text-amber-600",
30
+ violet: "border border-violet-800 dark:border-violet-600 text-violet-800 dark:text-violet-600",
31
+ "gradient-blue": "bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-blue-200",
32
+ "gradient-green": "bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-green-200",
33
+ "gradient-red": "bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-red-200",
34
+ "gradient-yellow": "bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-yellow-200",
35
+ "gradient-purple": "bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-purple-200",
36
+ "gradient-teal": "bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-teal-200",
37
+ "gradient-indigo": "bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-indigo-200",
38
+ "gradient-pink": "bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-pink-200",
39
+ "gradient-orange": "bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-orange-200"
40
40
  },
41
41
  size: {
42
42
  sm: "px-2 py-1 text-sm",
@@ -51,7 +51,7 @@ var triggerVariants = cva(
51
51
  }
52
52
  );
53
53
  var contentVariants = cva(
54
- "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border",
54
+ "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border border-slate-900/10 dark:border-white/10 bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 shadow-lg rounded-lg",
55
55
  {
56
56
  variants: {
57
57
  placement: {
@@ -76,36 +76,36 @@ var contentVariants = cva(
76
76
  }
77
77
  );
78
78
  var itemVariants = cva(
79
- "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60",
79
+ "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 font-semibold",
80
80
  {
81
81
  variants: {
82
82
  variant: {
83
- default: "hover:bg-gray-100 hover:text-gray-900 text-gray-100",
84
- outline: "hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100",
85
- ghost: "hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100",
86
- white: "hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900",
87
- black: "hover:bg-gray-100 hover:text-gray-900 bg-black text-white",
88
- sky: "hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800",
89
- rose: "hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800",
90
- purple: "hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800",
91
- pink: "hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800",
92
- orange: "hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800",
93
- yellow: "hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800",
94
- teal: "hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800",
95
- indigo: "hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800",
96
- emerald: "hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800",
97
- gray: "hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800",
98
- amber: "hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800",
99
- violet: "hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800",
100
- "gradient-blue": "hover:bg-linear-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-800",
101
- "gradient-green": "hover:bg-linear-to-r from-green-600 to-lime-600 hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-800",
102
- "gradient-red": "hover:bg-linear-to-r from-red-600 to-pink-600 hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-800",
103
- "gradient-yellow": "hover:bg-linear-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-800",
104
- "gradient-purple": "hover:bg-linear-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-800",
105
- "gradient-teal": "hover:bg-linear-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-800",
106
- "gradient-indigo": "hover:bg-linear-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-800",
107
- "gradient-pink": "hover:bg-linear-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-800",
108
- "gradient-orange": "hover:bg-linear-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-800"
83
+ default: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 text-gray-900 dark:text-gray-100",
84
+ outline: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 border border-black dark:border-white text-gray-900 dark:text-gray-100",
85
+ ghost: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-transparent text-gray-900 dark:text-gray-100",
86
+ white: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-white dark:bg-black text-gray-900 dark:text-white",
87
+ black: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-black dark:bg-white text-white dark:text-gray-900",
88
+ sky: "hover:bg-sky-100 hover:text-sky-800 dark:hover:text-sky-600 bg-sky-200 text-sky-900 dark:text-sky-800",
89
+ rose: "hover:bg-rose-100 hover:text-rose-800 dark:hover:text-rose-600 bg-rose-200 text-rose-900 dark:text-rose-800",
90
+ purple: "hover:bg-purple-100 hover:text-purple-800 dark:hover:text-purple-600 bg-purple-200 text-purple-900 dark:text-purple-800",
91
+ pink: "hover:bg-pink-100 hover:text-pink-800 dark:hover:text-pink-600 bg-pink-200 text-pink-900 dark:text-pink-800",
92
+ orange: "hover:bg-orange-100 hover:text-orange-800 dark:hover:text-orange-600 bg-orange-200 text-orange-900 dark:text-orange-800",
93
+ yellow: "hover:bg-yellow-100 hover:text-yellow-800 dark:hover:text-yellow-600 bg-yellow-200 text-yellow-900 dark:text-yellow-800",
94
+ teal: "hover:bg-teal-100 hover:text-teal-800 dark:hover:text-teal-600 bg-teal-200 text-teal-900 dark:text-teal-800",
95
+ indigo: "hover:bg-indigo-100 hover:text-indigo-800 dark:hover:text-indigo-600 bg-indigo-200 text-indigo-900 dark:text-indigo-800",
96
+ emerald: "hover:bg-emerald-100 hover:text-emerald-800 dark:hover:text-emerald-600 bg-emerald-200 text-emerald-900 dark:text-emerald-800",
97
+ gray: "hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-gray-200 text-gray-500 dark:text-gray-800",
98
+ amber: "hover:bg-amber-100 hover:text-amber-800 dark:hover:text-amber-600 bg-amber-200 text-amber-900 dark:text-amber-800",
99
+ violet: "hover:bg-violet-100 hover:text-violet-800 dark:hover:text-violet-600 bg-violet-200 text-violet-900 dark:text-violet-800",
100
+ "gradient-blue": "hover:bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 hover:text-blue-500 dark:hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-900 dark:text-blue-200",
101
+ "gradient-green": "hover:bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 hover:text-green-500 dark:hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-900 dark:text-green-200",
102
+ "gradient-red": "hover:bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 hover:text-red-500 dark:hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-900 dark:text-red-200",
103
+ "gradient-yellow": "hover:bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 hover:text-yellow-500 dark:hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-900 dark:text-yellow-200",
104
+ "gradient-purple": "hover:bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 hover:text-purple-500 dark:hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-900 dark:text-purple-200",
105
+ "gradient-teal": "hover:bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 hover:text-teal-500 dark:hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-900 dark:text-teal-200",
106
+ "gradient-indigo": "hover:bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 hover:text-indigo-500 dark:hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-900 dark:text-indigo-200",
107
+ "gradient-pink": "hover:bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 hover:text-pink-500 dark:hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-900 dark:text-pink-200",
108
+ "gradient-orange": "hover:bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 hover:text-orange-500 dark:hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-900 dark:text-orange-200"
109
109
  }
110
110
  },
111
111
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":[],"mappings":"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","file":"dropdown.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-900 text-white\",\n outline: \"border border-gray-300\",\n ghost: \"bg-transparent\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-600 text-sky-600\",\n rose: \"border border-rose-600 text-rose-600\",\n purple: \"border border-purple-600 text-purple-600\",\n pink: \"border border-pink-600 text-pink-600\",\n orange: \"border border-orange-600 text-orange-600\",\n yellow: \"border border-yellow-600 text-yellow-600\",\n teal: \"border border-teal-600 text-teal-600\",\n indigo: \"border border-indigo-600 text-indigo-600\",\n emerald: \"border border-emerald-600 text-emerald-600\",\n gray: \"border border-gray-600 text-gray-600\",\n amber: \"border border-amber-600 text-amber-600\",\n violet: \"border border-violet-600 text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\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 placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60\",\n {\n variants: {\n variant: {\n default: \"hover:bg-gray-100 hover:text-gray-900 text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100\",\n white: \"hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900\",\n black: \"hover:bg-gray-100 hover:text-gray-900 bg-black text-white\",\n sky: \"hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-800\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-600 to-lime-600 hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-800\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-600 to-pink-600 hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-800\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-800\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-800\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-800\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-800\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-800\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-800\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\",\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":[],"mappings":"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","file":"dropdown.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-200 dark:bg-gray-900 text-slate-900 dark:text-white\",\n outline:\n \"border border-gray-700 dark:border-gray-300 text-gray-900 dark:text-gray-100\",\n ghost: \"bg-transparent text-gray-900 dark:text-gray-100\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-800 dark:border-sky-600 text-sky-800 dark:text-sky-600\",\n rose: \"border border-rose-800 dark:border-rose-600 text-rose-800 dark:text-rose-600\",\n purple:\n \"border border-purple-800 dark:border-purple-600 text-purple-800 dark:text-purple-600\",\n pink: \"border border-pink-800 dark:border-pink-600 text-pink-800 dark:text-pink-600\",\n orange:\n \"border border-orange-800 dark:border-orange-600 text-orange-800 dark:text-orange-600\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 text-yellow-800 dark:text-yellow-600\",\n teal: \"border border-teal-800 dark:border-teal-600 text-teal-800 dark:text-teal-600\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 text-indigo-800 dark:text-indigo-600\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 text-emerald-800 dark:text-emerald-600\",\n gray: \"border border-gray-800 dark:border-gray-600 text-gray-800 dark:text-gray-600\",\n amber:\n \"border border-amber-800 dark:border-amber-600 text-amber-800 dark:text-amber-600\",\n violet:\n \"border border-violet-800 dark:border-violet-600 text-violet-800 dark:text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border border-slate-900/10 dark:border-white/10 bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 shadow-lg rounded-lg\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\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 placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 font-semibold\",\n {\n variants: {\n variant: {\n default:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 text-gray-900 dark:text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 border border-black dark:border-white text-gray-900 dark:text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-transparent text-gray-900 dark:text-gray-100\",\n white:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-white dark:bg-black text-gray-900 dark:text-white\",\n black:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-black dark:bg-white text-white dark:text-gray-900\",\n sky: \"hover:bg-sky-100 hover:text-sky-800 dark:hover:text-sky-600 bg-sky-200 text-sky-900 dark:text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-800 dark:hover:text-rose-600 bg-rose-200 text-rose-900 dark:text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-800 dark:hover:text-purple-600 bg-purple-200 text-purple-900 dark:text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-800 dark:hover:text-pink-600 bg-pink-200 text-pink-900 dark:text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-800 dark:hover:text-orange-600 bg-orange-200 text-orange-900 dark:text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-800 dark:hover:text-yellow-600 bg-yellow-200 text-yellow-900 dark:text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-800 dark:hover:text-teal-600 bg-teal-200 text-teal-900 dark:text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-800 dark:hover:text-indigo-600 bg-indigo-200 text-indigo-900 dark:text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-800 dark:hover:text-emerald-600 bg-emerald-200 text-emerald-900 dark:text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-gray-200 text-gray-500 dark:text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-800 dark:hover:text-amber-600 bg-amber-200 text-amber-900 dark:text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-800 dark:hover:text-violet-600 bg-violet-200 text-violet-900 dark:text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 hover:text-blue-500 dark:hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-900 dark:text-blue-200\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 hover:text-green-500 dark:hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-900 dark:text-green-200\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 hover:text-red-500 dark:hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-900 dark:text-red-200\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 hover:text-yellow-500 dark:hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-900 dark:text-yellow-200\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 hover:text-purple-500 dark:hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-900 dark:text-purple-200\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 hover:text-teal-500 dark:hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-900 dark:text-teal-200\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 hover:text-indigo-500 dark:hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-900 dark:text-indigo-200\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 hover:text-pink-500 dark:hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-900 dark:text-pink-200\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 hover:text-orange-500 dark:hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-900 dark:text-orange-200\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\"\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  export { DynamicStepper } from "./dynamic-stepper";
2
2
  export type { DynamicStepperButtonAppearance, DynamicStepperButtonSize, DynamicStepperIndicatorSize, DynamicStepperIndicatorToneAppearance, DynamicStepperOrientation, DynamicStepperProps, DynamicStepperStep, UseDynamicStepperParams, UseDynamicStepperResult, } from "./types";
3
3
  export { dynamicStepperIndicatorToneClass, dynamicStepperIndicatorVariants, dynamicStepperItemVariants, dynamicStepperMapperVariants, dynamicStepperRootVariants, } from "./variants";
4
- export type { DynamicStepperIndicatorSemanticState, } from "./variants";
4
+ export type { DynamicStepperIndicatorSemanticState } from "./variants";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oCAAoC,GACrC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,KAAK,wBAAwB,GACzB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG,OAAO,CACzD,WAAW,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,EAC9D,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAC5C,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AA0Jf,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oCAAoC,EAC3C,IAAI,EAAE,qCAAqC,GAC1C,MAAM,CAER;AAED,eAAO,MAAM,0BAA0B;;8EAWrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;8EAUvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;8EAUrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;8EAc3C,CAAC"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,KAAK,wBAAwB,GACzB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG,OAAO,CACzD,WAAW,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,EAC9D,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAC5C,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAgKf,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oCAAoC,EAC3C,IAAI,EAAE,qCAAqC,GAC1C,MAAM,CAER;AAED,eAAO,MAAM,0BAA0B;;8EAWrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;8EAaxC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;8EAUrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;8EAc3C,CAAC"}