@egose/shadcn-theme 0.0.56 → 0.0.58

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 (505) hide show
  1. package/{chunk-LE44LDOD.js → chunk-23MJMEQC.js} +4 -4
  2. package/chunk-23MJMEQC.js.map +1 -0
  3. package/{chunk-JHUXWZVG.js → chunk-2DJW7DN4.js} +10 -10
  4. package/chunk-2DJW7DN4.js.map +1 -0
  5. package/{chunk-DSGXBKNS.js → chunk-3AWU47KT.js} +8 -8
  6. package/chunk-3AWU47KT.js.map +1 -0
  7. package/{chunk-DTJ43DCW.mjs → chunk-3DG54EVO.mjs} +6 -6
  8. package/chunk-3DG54EVO.mjs.map +1 -0
  9. package/{chunk-ZVBMRCE7.mjs → chunk-43V6CNEG.mjs} +2 -2
  10. package/chunk-43V6CNEG.mjs.map +1 -0
  11. package/{chunk-TMC4JKD5.mjs → chunk-47TKC7DB.mjs} +2 -2
  12. package/chunk-47TKC7DB.mjs.map +1 -0
  13. package/{chunk-RMDDLEPA.js → chunk-4O25L26A.js} +3 -3
  14. package/{chunk-JW7N7IR5.mjs.map → chunk-4O25L26A.js.map} +1 -1
  15. package/{chunk-4YSHGGKX.js → chunk-4SYFVOM2.js} +2 -2
  16. package/{chunk-4YSHGGKX.js.map → chunk-4SYFVOM2.js.map} +1 -1
  17. package/{chunk-MYO4WRNB.js → chunk-5AC6SSUU.js} +41 -41
  18. package/chunk-5AC6SSUU.js.map +1 -0
  19. package/{chunk-PCR4GC74.js → chunk-5WZCVX6I.js} +11 -8
  20. package/chunk-5WZCVX6I.js.map +1 -0
  21. package/{chunk-IC3ASFKZ.js → chunk-6POWZMND.js} +3 -3
  22. package/{chunk-IC3ASFKZ.js.map → chunk-6POWZMND.js.map} +1 -1
  23. package/{chunk-3T2PPKR3.js → chunk-73TDZTWF.js} +3 -3
  24. package/chunk-73TDZTWF.js.map +1 -0
  25. package/{chunk-NI2SIUXO.js → chunk-754FOR4K.js} +11 -11
  26. package/{chunk-IAJ2ZBSJ.mjs.map → chunk-754FOR4K.js.map} +1 -1
  27. package/{chunk-4UZN52P7.mjs → chunk-7MDWTJEP.mjs} +2 -2
  28. package/chunk-7MDWTJEP.mjs.map +1 -0
  29. package/{chunk-SCM23WSM.js → chunk-7QMZ5MU4.js} +5 -5
  30. package/chunk-7QMZ5MU4.js.map +1 -0
  31. package/{chunk-REZO5TYB.mjs → chunk-ABZ4SF2K.mjs} +2 -2
  32. package/chunk-ABZ4SF2K.mjs.map +1 -0
  33. package/{chunk-OAAHNESN.mjs → chunk-AJFINSLK.mjs} +2 -2
  34. package/chunk-AJFINSLK.mjs.map +1 -0
  35. package/{chunk-W2N2NIVE.js → chunk-APMXMQPZ.js} +3 -3
  36. package/chunk-APMXMQPZ.js.map +1 -0
  37. package/{chunk-A34GFF2E.js → chunk-AREM2MQQ.js} +3 -3
  38. package/chunk-AREM2MQQ.js.map +1 -0
  39. package/{chunk-ACE5WNTU.mjs → chunk-BE4D3M5Q.mjs} +6 -6
  40. package/chunk-BE4D3M5Q.mjs.map +1 -0
  41. package/{chunk-E4SSD5P4.js → chunk-BH4FHKAR.js} +8 -8
  42. package/chunk-BH4FHKAR.js.map +1 -0
  43. package/{chunk-GI222XFX.js → chunk-BWKIS24H.js} +8 -8
  44. package/chunk-BWKIS24H.js.map +1 -0
  45. package/{chunk-O7E6RNCD.mjs → chunk-C736G6RV.mjs} +7 -7
  46. package/chunk-C736G6RV.mjs.map +1 -0
  47. package/{chunk-RY3M2GTK.js → chunk-CSDFVUNP.js} +14 -14
  48. package/{chunk-RY3M2GTK.js.map → chunk-CSDFVUNP.js.map} +1 -1
  49. package/{chunk-YAPKDLRQ.mjs → chunk-D6WUNCBI.mjs} +2 -2
  50. package/chunk-D6WUNCBI.mjs.map +1 -0
  51. package/{chunk-2R34M7KI.mjs → chunk-DOM2D2R7.mjs} +2 -2
  52. package/chunk-DOM2D2R7.mjs.map +1 -0
  53. package/{chunk-R4SF7CSA.mjs → chunk-DPGUIXSL.mjs} +4 -4
  54. package/chunk-DPGUIXSL.mjs.map +1 -0
  55. package/{chunk-DMATER3M.mjs → chunk-F57PDM2P.mjs} +4 -4
  56. package/{chunk-NRHWGE26.mjs → chunk-FJGZ3SDA.mjs} +2 -2
  57. package/chunk-FJGZ3SDA.mjs.map +1 -0
  58. package/{chunk-37EH7QCX.mjs → chunk-GVZX7FQQ.mjs} +2 -2
  59. package/chunk-GVZX7FQQ.mjs.map +1 -0
  60. package/{chunk-LSKO74NV.js → chunk-GZPKVSCR.js} +3 -3
  61. package/chunk-GZPKVSCR.js.map +1 -0
  62. package/{chunk-JW7N7IR5.mjs → chunk-HBKXMTBF.mjs} +2 -2
  63. package/chunk-HBKXMTBF.mjs.map +1 -0
  64. package/{chunk-V7M2UXTR.js → chunk-HMEHDD5N.js} +3 -3
  65. package/{chunk-V7M2UXTR.js.map → chunk-HMEHDD5N.js.map} +1 -1
  66. package/{chunk-LUIXCCN2.js → chunk-HN73FRPZ.js} +3 -3
  67. package/{chunk-LUIXCCN2.js.map → chunk-HN73FRPZ.js.map} +1 -1
  68. package/{chunk-FHSYSVS6.mjs → chunk-HR7QORF3.mjs} +2 -2
  69. package/chunk-HR7QORF3.mjs.map +1 -0
  70. package/{chunk-AT6DBL5I.mjs → chunk-IHNDGZWX.mjs} +2 -2
  71. package/chunk-IHNDGZWX.mjs.map +1 -0
  72. package/{chunk-LQETWWSU.js → chunk-IYVLRZJ4.js} +2 -2
  73. package/chunk-IYVLRZJ4.js.map +1 -0
  74. package/{chunk-LXILG667.mjs → chunk-IYZWOHGP.mjs} +4 -4
  75. package/chunk-IYZWOHGP.mjs.map +1 -0
  76. package/{chunk-ARQYTBBZ.mjs → chunk-J4FPBR7A.mjs} +4 -4
  77. package/chunk-J4FPBR7A.mjs.map +1 -0
  78. package/{chunk-NVBZVKIT.js → chunk-J4KEZVR5.js} +7 -7
  79. package/{chunk-NVBZVKIT.js.map → chunk-J4KEZVR5.js.map} +1 -1
  80. package/{chunk-ZJAFK7BR.mjs → chunk-JVMY3LCD.mjs} +2 -2
  81. package/chunk-JVMY3LCD.mjs.map +1 -0
  82. package/{chunk-FMYITAWN.mjs → chunk-K6S2HW6A.mjs} +3 -3
  83. package/chunk-K6S2HW6A.mjs.map +1 -0
  84. package/{chunk-F5XCCSBC.mjs → chunk-KGUUDFJE.mjs} +2 -2
  85. package/chunk-KGUUDFJE.mjs.map +1 -0
  86. package/{chunk-TUFO3JJE.js → chunk-KNNX4FAH.js} +3 -3
  87. package/{chunk-TUFO3JJE.js.map → chunk-KNNX4FAH.js.map} +1 -1
  88. package/{chunk-NK4XTZ5W.js → chunk-LYMKN3NY.js} +3 -3
  89. package/chunk-LYMKN3NY.js.map +1 -0
  90. package/{chunk-QDVJN4S3.mjs → chunk-M55DCHAX.mjs} +2 -2
  91. package/chunk-M55DCHAX.mjs.map +1 -0
  92. package/{chunk-YWILOKX4.mjs → chunk-MA3OJUIL.mjs} +3 -3
  93. package/chunk-MA3OJUIL.mjs.map +1 -0
  94. package/{chunk-PS7WGOZH.mjs → chunk-MKOOSP3M.mjs} +3 -3
  95. package/chunk-MKOOSP3M.mjs.map +1 -0
  96. package/{chunk-O2ZEUVTY.js → chunk-MUWMASP4.js} +3 -3
  97. package/chunk-MUWMASP4.js.map +1 -0
  98. package/{chunk-JWENANTO.mjs → chunk-NL4534LH.mjs} +2 -2
  99. package/chunk-NL4534LH.mjs.map +1 -0
  100. package/{chunk-DGYAXPSD.js → chunk-NUCMI4CP.js} +7 -7
  101. package/{chunk-DGYAXPSD.js.map → chunk-NUCMI4CP.js.map} +1 -1
  102. package/{chunk-2QMNPBOE.mjs → chunk-NWVKFMW3.mjs} +2 -2
  103. package/chunk-NWVKFMW3.mjs.map +1 -0
  104. package/{chunk-EZZ2YCUU.js → chunk-OFRRRK4N.js} +5 -5
  105. package/chunk-OFRRRK4N.js.map +1 -0
  106. package/{chunk-54PLQ33F.mjs → chunk-OI7CIW4X.mjs} +8 -8
  107. package/chunk-OI7CIW4X.mjs.map +1 -0
  108. package/{chunk-4XC6EXHZ.mjs → chunk-OJEDITOA.mjs} +3 -3
  109. package/chunk-OJEDITOA.mjs.map +1 -0
  110. package/{chunk-QGXFFTPH.js → chunk-OMQVDSR6.js} +4 -4
  111. package/chunk-OMQVDSR6.js.map +1 -0
  112. package/{chunk-OXTCSLHP.mjs → chunk-OVHPXYDN.mjs} +2 -2
  113. package/chunk-OVHPXYDN.mjs.map +1 -0
  114. package/{chunk-ZOF6UW3D.js → chunk-P6ZPREB6.js} +9 -9
  115. package/{chunk-ZOF6UW3D.js.map → chunk-P6ZPREB6.js.map} +1 -1
  116. package/{chunk-U3KAN7IM.js → chunk-PHE5ID6D.js} +8 -8
  117. package/chunk-PHE5ID6D.js.map +1 -0
  118. package/{chunk-6N4WCMTE.js → chunk-PSPAJNNB.js} +2 -2
  119. package/chunk-PSPAJNNB.js.map +1 -0
  120. package/{chunk-5HD5BGK7.js → chunk-Q5QVXAFP.js} +14 -14
  121. package/{chunk-5HD5BGK7.js.map → chunk-Q5QVXAFP.js.map} +1 -1
  122. package/{chunk-CPGH6LBC.mjs → chunk-QBO4YAYA.mjs} +4 -4
  123. package/chunk-QBO4YAYA.mjs.map +1 -0
  124. package/{chunk-IAJ2ZBSJ.mjs → chunk-QJKRCNUX.mjs} +2 -2
  125. package/chunk-QJKRCNUX.mjs.map +1 -0
  126. package/{chunk-EJQJ3BCF.mjs → chunk-QJLNEVAE.mjs} +6 -3
  127. package/chunk-QJLNEVAE.mjs.map +1 -0
  128. package/{chunk-FQQGM55E.js → chunk-QW2TXVH4.js} +5 -5
  129. package/{chunk-FQQGM55E.js.map → chunk-QW2TXVH4.js.map} +1 -1
  130. package/{chunk-R7L4TN3C.mjs → chunk-SCU2RG4I.mjs} +2 -2
  131. package/chunk-SCU2RG4I.mjs.map +1 -0
  132. package/{chunk-4NMFJSJN.mjs → chunk-SQK67X4D.mjs} +3 -3
  133. package/chunk-SQK67X4D.mjs.map +1 -0
  134. package/{chunk-V4BQYO2M.mjs → chunk-SSL4EXAQ.mjs} +2 -2
  135. package/chunk-SSL4EXAQ.mjs.map +1 -0
  136. package/{chunk-Z3VXGHCE.mjs → chunk-SX4LQFOF.mjs} +2 -2
  137. package/chunk-SX4LQFOF.mjs.map +1 -0
  138. package/{chunk-M6C2FCM4.mjs → chunk-TXGL3AHG.mjs} +2 -2
  139. package/chunk-TXGL3AHG.mjs.map +1 -0
  140. package/{chunk-XJ7GBFHV.js → chunk-UF2IGF36.js} +6 -6
  141. package/{chunk-XJ7GBFHV.js.map → chunk-UF2IGF36.js.map} +1 -1
  142. package/{chunk-CTYAFVU5.mjs → chunk-VOED37ZV.mjs} +3 -3
  143. package/{chunk-CTYAFVU5.mjs.map → chunk-VOED37ZV.mjs.map} +1 -1
  144. package/{chunk-6KUUJF3I.js → chunk-WGNLM36B.js} +7 -7
  145. package/{chunk-6KUUJF3I.js.map → chunk-WGNLM36B.js.map} +1 -1
  146. package/{chunk-NTYWTGYX.mjs → chunk-WXRT742N.mjs} +4 -4
  147. package/chunk-WXRT742N.mjs.map +1 -0
  148. package/{chunk-4FD63HEQ.js → chunk-X2Z3YEDV.js} +9 -9
  149. package/chunk-X2Z3YEDV.js.map +1 -0
  150. package/{chunk-CE4PBEIL.js → chunk-XCFEBPRG.js} +10 -10
  151. package/chunk-XCFEBPRG.js.map +1 -0
  152. package/{chunk-73VYAPJR.js → chunk-XDCB6C5S.js} +9 -9
  153. package/{chunk-PS7WGOZH.mjs.map → chunk-XDCB6C5S.js.map} +1 -1
  154. package/{chunk-RSQ25E6Y.js → chunk-XIHKXTB2.js} +8 -8
  155. package/{chunk-RSQ25E6Y.js.map → chunk-XIHKXTB2.js.map} +1 -1
  156. package/{chunk-DYUS5722.js → chunk-XP4SPI7B.js} +13 -13
  157. package/{chunk-DYUS5722.js.map → chunk-XP4SPI7B.js.map} +1 -1
  158. package/{chunk-I64GW5SA.js → chunk-XWFQVYPB.js} +11 -11
  159. package/chunk-XWFQVYPB.js.map +1 -0
  160. package/{chunk-YWWFTM23.js → chunk-YYEQYAZF.js} +5 -5
  161. package/chunk-YYEQYAZF.js.map +1 -0
  162. package/{chunk-3BCL4OKX.mjs → chunk-ZEZK2FJ4.mjs} +2 -2
  163. package/{chunk-3BCL4OKX.mjs.map → chunk-ZEZK2FJ4.mjs.map} +1 -1
  164. package/components/form/checkbox.js +5 -5
  165. package/components/form/checkbox.mjs +4 -4
  166. package/components/form/date-picker.js +9 -9
  167. package/components/form/date-picker.mjs +8 -8
  168. package/components/form/date-range-picker.js +13 -13
  169. package/components/form/date-range-picker.js.map +1 -1
  170. package/components/form/date-range-picker.mjs +7 -7
  171. package/components/form/date-range-picker.mjs.map +1 -1
  172. package/components/form/error.js +3 -3
  173. package/components/form/error.mjs +2 -2
  174. package/components/form/hook-checkbox.js +9 -9
  175. package/components/form/hook-checkbox.js.map +1 -1
  176. package/components/form/hook-checkbox.mjs +5 -5
  177. package/components/form/hook-checkbox.mjs.map +1 -1
  178. package/components/form/hook-date-picker.js +12 -12
  179. package/components/form/hook-date-picker.js.map +1 -1
  180. package/components/form/hook-date-picker.mjs +9 -9
  181. package/components/form/hook-date-picker.mjs.map +1 -1
  182. package/components/form/hook-native-select.js +8 -8
  183. package/components/form/hook-native-select.js.map +1 -1
  184. package/components/form/hook-native-select.mjs +4 -4
  185. package/components/form/hook-native-select.mjs.map +1 -1
  186. package/components/form/hook-searchable-select.js +12 -12
  187. package/components/form/hook-searchable-select.js.map +1 -1
  188. package/components/form/hook-searchable-select.mjs +9 -9
  189. package/components/form/hook-searchable-select.mjs.map +1 -1
  190. package/components/form/hook-select.js +8 -8
  191. package/components/form/hook-select.js.map +1 -1
  192. package/components/form/hook-select.mjs +5 -5
  193. package/components/form/hook-select.mjs.map +1 -1
  194. package/components/form/hook-text-input.js +9 -9
  195. package/components/form/hook-text-input.js.map +1 -1
  196. package/components/form/hook-text-input.mjs +5 -5
  197. package/components/form/hook-text-input.mjs.map +1 -1
  198. package/components/form/hook-textarea.js +9 -9
  199. package/components/form/hook-textarea.js.map +1 -1
  200. package/components/form/hook-textarea.mjs +5 -5
  201. package/components/form/hook-textarea.mjs.map +1 -1
  202. package/components/form/hook-time-input.js +11 -11
  203. package/components/form/hook-time-input.js.map +1 -1
  204. package/components/form/hook-time-input.mjs +7 -7
  205. package/components/form/hook-time-input.mjs.map +1 -1
  206. package/components/form/native-select.js +4 -4
  207. package/components/form/native-select.mjs +3 -3
  208. package/components/form/searchable-select.js +9 -9
  209. package/components/form/searchable-select.mjs +8 -8
  210. package/components/form/select.js +5 -5
  211. package/components/form/select.mjs +4 -4
  212. package/components/form/text-input.js +5 -5
  213. package/components/form/text-input.mjs +4 -4
  214. package/components/form/textarea.js +5 -5
  215. package/components/form/textarea.mjs +4 -4
  216. package/components/form/time-input.js +7 -7
  217. package/components/form/time-input.mjs +6 -6
  218. package/components/ui/accordion.js +4 -4
  219. package/components/ui/accordion.js.map +1 -1
  220. package/components/ui/accordion.mjs +1 -1
  221. package/components/ui/accordion.mjs.map +1 -1
  222. package/components/ui/alert-dialog.js +11 -11
  223. package/components/ui/alert-dialog.js.map +1 -1
  224. package/components/ui/alert-dialog.mjs +3 -3
  225. package/components/ui/alert-dialog.mjs.map +1 -1
  226. package/components/ui/alert.d.mts +2 -6
  227. package/components/ui/alert.d.ts +2 -6
  228. package/components/ui/alert.js +3 -3
  229. package/components/ui/alert.mjs +2 -2
  230. package/components/ui/avatar.js +3 -3
  231. package/components/ui/avatar.mjs +2 -2
  232. package/components/ui/badge.d.mts +2 -7
  233. package/components/ui/badge.d.ts +2 -7
  234. package/components/ui/badge.js +3 -3
  235. package/components/ui/badge.mjs +2 -2
  236. package/components/ui/basic-alert.d.mts +0 -1
  237. package/components/ui/basic-alert.d.ts +0 -1
  238. package/components/ui/basic-alert.js +3 -3
  239. package/components/ui/basic-alert.mjs +2 -2
  240. package/components/ui/breadcrumb.js +3 -3
  241. package/components/ui/breadcrumb.mjs +2 -2
  242. package/components/ui/button.d.mts +2 -8
  243. package/components/ui/button.d.ts +2 -8
  244. package/components/ui/button.js +4 -4
  245. package/components/ui/button.mjs +3 -3
  246. package/components/ui/calendar.js +5 -5
  247. package/components/ui/calendar.mjs +4 -4
  248. package/components/ui/card.js +7 -7
  249. package/components/ui/card.js.map +1 -1
  250. package/components/ui/card.mjs +1 -1
  251. package/components/ui/card.mjs.map +1 -1
  252. package/components/ui/carousel.d.mts +2 -3
  253. package/components/ui/carousel.d.ts +2 -3
  254. package/components/ui/carousel.js +10 -10
  255. package/components/ui/carousel.js.map +1 -1
  256. package/components/ui/carousel.mjs +3 -3
  257. package/components/ui/carousel.mjs.map +1 -1
  258. package/components/ui/checkbox.js +3 -3
  259. package/components/ui/checkbox.mjs +2 -2
  260. package/components/ui/command.js +4 -4
  261. package/components/ui/command.mjs +3 -3
  262. package/components/ui/context-menu.js +10 -10
  263. package/components/ui/context-menu.js.map +1 -1
  264. package/components/ui/context-menu.mjs +1 -1
  265. package/components/ui/context-menu.mjs.map +1 -1
  266. package/components/ui/copy-button.js +6 -6
  267. package/components/ui/copy-button.js.map +1 -1
  268. package/components/ui/copy-button.mjs +2 -2
  269. package/components/ui/copy-button.mjs.map +1 -1
  270. package/components/ui/dialog.js +3 -3
  271. package/components/ui/dialog.mjs +2 -2
  272. package/components/ui/drawer.js +7 -7
  273. package/components/ui/drawer.js.map +1 -1
  274. package/components/ui/drawer.mjs +1 -1
  275. package/components/ui/drawer.mjs.map +1 -1
  276. package/components/ui/dropdown-menu.js +3 -3
  277. package/components/ui/dropdown-menu.mjs +2 -2
  278. package/components/ui/extension/file-input.js +5 -5
  279. package/components/ui/extension/file-input.mjs +4 -4
  280. package/components/ui/extension/multi-select.js +15 -15
  281. package/components/ui/extension/multi-select.js.map +1 -1
  282. package/components/ui/extension/multi-select.mjs +4 -4
  283. package/components/ui/extension/multi-select.mjs.map +1 -1
  284. package/components/ui/form.js +6 -6
  285. package/components/ui/form.js.map +1 -1
  286. package/components/ui/form.mjs +2 -2
  287. package/components/ui/form.mjs.map +1 -1
  288. package/components/ui/hover-card.js +2 -2
  289. package/components/ui/hover-card.js.map +1 -1
  290. package/components/ui/hover-card.mjs +1 -1
  291. package/components/ui/hover-card.mjs.map +1 -1
  292. package/components/ui/input-otp.js +5 -5
  293. package/components/ui/input-otp.js.map +1 -1
  294. package/components/ui/input-otp.mjs +1 -1
  295. package/components/ui/input-otp.mjs.map +1 -1
  296. package/components/ui/input.js +3 -3
  297. package/components/ui/input.mjs +2 -2
  298. package/components/ui/label.d.mts +2 -3
  299. package/components/ui/label.d.ts +2 -3
  300. package/components/ui/label.js +3 -3
  301. package/components/ui/label.mjs +2 -2
  302. package/components/ui/menubar.js +12 -12
  303. package/components/ui/menubar.js.map +1 -1
  304. package/components/ui/menubar.mjs +1 -1
  305. package/components/ui/menubar.mjs.map +1 -1
  306. package/components/ui/navigation-menu.d.mts +1 -2
  307. package/components/ui/navigation-menu.d.ts +1 -2
  308. package/components/ui/navigation-menu.js +8 -8
  309. package/components/ui/navigation-menu.js.map +1 -1
  310. package/components/ui/navigation-menu.mjs +1 -1
  311. package/components/ui/navigation-menu.mjs.map +1 -1
  312. package/components/ui/pagination.d.mts +0 -1
  313. package/components/ui/pagination.d.ts +0 -1
  314. package/components/ui/pagination.js +11 -11
  315. package/components/ui/pagination.js.map +1 -1
  316. package/components/ui/pagination.mjs +3 -3
  317. package/components/ui/pagination.mjs.map +1 -1
  318. package/components/ui/popover.js +3 -3
  319. package/components/ui/popover.mjs +2 -2
  320. package/components/ui/progress.js +2 -2
  321. package/components/ui/progress.js.map +1 -1
  322. package/components/ui/progress.mjs +1 -1
  323. package/components/ui/progress.mjs.map +1 -1
  324. package/components/ui/radio-group.js +3 -3
  325. package/components/ui/radio-group.js.map +1 -1
  326. package/components/ui/radio-group.mjs +1 -1
  327. package/components/ui/radio-group.mjs.map +1 -1
  328. package/components/ui/resizable.d.mts +1 -1
  329. package/components/ui/resizable.d.ts +1 -1
  330. package/components/ui/resizable.js +3 -3
  331. package/components/ui/resizable.js.map +1 -1
  332. package/components/ui/resizable.mjs +1 -1
  333. package/components/ui/resizable.mjs.map +1 -1
  334. package/components/ui/scroll-area.js +3 -3
  335. package/components/ui/scroll-area.js.map +1 -1
  336. package/components/ui/scroll-area.mjs +1 -1
  337. package/components/ui/scroll-area.mjs.map +1 -1
  338. package/components/ui/select.js +3 -3
  339. package/components/ui/select.mjs +2 -2
  340. package/components/ui/separator.js +3 -3
  341. package/components/ui/separator.mjs +2 -2
  342. package/components/ui/sheet.d.mts +2 -5
  343. package/components/ui/sheet.d.ts +2 -5
  344. package/components/ui/sheet.js +3 -3
  345. package/components/ui/sheet.mjs +2 -2
  346. package/components/ui/sidebar.d.mts +2 -6
  347. package/components/ui/sidebar.d.ts +2 -6
  348. package/components/ui/sidebar.js +10 -10
  349. package/components/ui/sidebar.mjs +9 -9
  350. package/components/ui/skeleton.js +3 -3
  351. package/components/ui/skeleton.mjs +2 -2
  352. package/components/ui/slider.js +2 -2
  353. package/components/ui/slider.js.map +1 -1
  354. package/components/ui/slider.mjs +1 -1
  355. package/components/ui/slider.mjs.map +1 -1
  356. package/components/ui/spinner.d.mts +2 -7
  357. package/components/ui/spinner.d.ts +2 -7
  358. package/components/ui/spinner.js +3 -3
  359. package/components/ui/spinner.mjs +2 -2
  360. package/components/ui/switch.js +3 -3
  361. package/components/ui/switch.js.map +1 -1
  362. package/components/ui/switch.mjs +1 -1
  363. package/components/ui/switch.mjs.map +1 -1
  364. package/components/ui/table.js +9 -9
  365. package/components/ui/table.js.map +1 -1
  366. package/components/ui/table.mjs +1 -1
  367. package/components/ui/table.mjs.map +1 -1
  368. package/components/ui/tabs.js +4 -4
  369. package/components/ui/tabs.js.map +1 -1
  370. package/components/ui/tabs.mjs +1 -1
  371. package/components/ui/tabs.mjs.map +1 -1
  372. package/components/ui/textarea.js +3 -3
  373. package/components/ui/textarea.mjs +2 -2
  374. package/components/ui/toast.d.mts +1 -4
  375. package/components/ui/toast.d.ts +1 -4
  376. package/components/ui/toast.js +3 -3
  377. package/components/ui/toast.mjs +2 -2
  378. package/components/ui/toaster.js +5 -5
  379. package/components/ui/toaster.mjs +2 -2
  380. package/components/ui/toggle-group.d.mts +3 -10
  381. package/components/ui/toggle-group.d.ts +3 -10
  382. package/components/ui/toggle-group.js +5 -5
  383. package/components/ui/toggle-group.js.map +1 -1
  384. package/components/ui/toggle-group.mjs +2 -2
  385. package/components/ui/toggle-group.mjs.map +1 -1
  386. package/components/ui/toggle.d.mts +2 -9
  387. package/components/ui/toggle.d.ts +2 -9
  388. package/components/ui/toggle.js +3 -3
  389. package/components/ui/toggle.mjs +2 -2
  390. package/components/ui/tooltip.js +3 -3
  391. package/components/ui/tooltip.mjs +2 -2
  392. package/components/widgets/dialog-manager/index.js +1 -1
  393. package/components/widgets/dialog-manager/index.js.map +1 -1
  394. package/components/widgets/dialog-manager/index.mjs +1 -1
  395. package/hooks/use-toast.d.mts +0 -1
  396. package/hooks/use-toast.d.ts +0 -1
  397. package/layouts/sidebar1/app-sidebar.d.mts +0 -1
  398. package/layouts/sidebar1/app-sidebar.d.ts +0 -1
  399. package/layouts/sidebar1/app-sidebar.js +16 -16
  400. package/layouts/sidebar1/app-sidebar.mjs +15 -15
  401. package/layouts/sidebar1/context-switcher.js +12 -12
  402. package/layouts/sidebar1/context-switcher.mjs +11 -11
  403. package/layouts/sidebar1/index.d.mts +0 -1
  404. package/layouts/sidebar1/index.d.ts +0 -1
  405. package/layouts/sidebar1/index.js +18 -18
  406. package/layouts/sidebar1/index.mjs +16 -16
  407. package/layouts/sidebar1/nav-menus.d.mts +2 -0
  408. package/layouts/sidebar1/nav-menus.d.ts +2 -0
  409. package/layouts/sidebar1/nav-menus.js +11 -11
  410. package/layouts/sidebar1/nav-menus.mjs +10 -10
  411. package/layouts/sidebar1/nav-user.js +13 -13
  412. package/layouts/sidebar1/nav-user.mjs +12 -12
  413. package/layouts/simple/index.js +17 -17
  414. package/layouts/simple/index.js.map +1 -1
  415. package/layouts/simple/index.mjs +4 -4
  416. package/layouts/simple/index.mjs.map +1 -1
  417. package/layouts/simple/mobile-menu.js +3 -3
  418. package/layouts/simple/mobile-menu.mjs +2 -2
  419. package/layouts/simple/user-menu.js +4 -4
  420. package/layouts/simple/user-menu.mjs +3 -3
  421. package/package.json +5 -5
  422. package/utils/date.js +12 -0
  423. package/utils/date.js.map +1 -0
  424. package/{lib → utils}/date.mjs +1 -1
  425. package/utils/time.js +14 -0
  426. package/{lib/number.js.map → utils/time.js.map} +1 -1
  427. package/{lib/number.mjs → utils/time.mjs} +2 -2
  428. package/{lib/utils.js → utils/ui.js} +3 -3
  429. package/utils/ui.js.map +1 -0
  430. package/{lib/utils.mjs → utils/ui.mjs} +2 -2
  431. package/chunk-2QMNPBOE.mjs.map +0 -1
  432. package/chunk-2R34M7KI.mjs.map +0 -1
  433. package/chunk-37EH7QCX.mjs.map +0 -1
  434. package/chunk-3T2PPKR3.js.map +0 -1
  435. package/chunk-4FD63HEQ.js.map +0 -1
  436. package/chunk-4NMFJSJN.mjs.map +0 -1
  437. package/chunk-4UZN52P7.mjs.map +0 -1
  438. package/chunk-4XC6EXHZ.mjs.map +0 -1
  439. package/chunk-54PLQ33F.mjs.map +0 -1
  440. package/chunk-6N4WCMTE.js.map +0 -1
  441. package/chunk-73VYAPJR.js.map +0 -1
  442. package/chunk-A34GFF2E.js.map +0 -1
  443. package/chunk-ACE5WNTU.mjs.map +0 -1
  444. package/chunk-ARQYTBBZ.mjs.map +0 -1
  445. package/chunk-AT6DBL5I.mjs.map +0 -1
  446. package/chunk-CE4PBEIL.js.map +0 -1
  447. package/chunk-CPGH6LBC.mjs.map +0 -1
  448. package/chunk-DSGXBKNS.js.map +0 -1
  449. package/chunk-DTJ43DCW.mjs.map +0 -1
  450. package/chunk-E4SSD5P4.js.map +0 -1
  451. package/chunk-EJQJ3BCF.mjs.map +0 -1
  452. package/chunk-EZZ2YCUU.js.map +0 -1
  453. package/chunk-F5XCCSBC.mjs.map +0 -1
  454. package/chunk-FHSYSVS6.mjs.map +0 -1
  455. package/chunk-FMYITAWN.mjs.map +0 -1
  456. package/chunk-GI222XFX.js.map +0 -1
  457. package/chunk-I64GW5SA.js.map +0 -1
  458. package/chunk-JHUXWZVG.js.map +0 -1
  459. package/chunk-JWENANTO.mjs.map +0 -1
  460. package/chunk-LE44LDOD.js.map +0 -1
  461. package/chunk-LQETWWSU.js.map +0 -1
  462. package/chunk-LSKO74NV.js.map +0 -1
  463. package/chunk-LXILG667.mjs.map +0 -1
  464. package/chunk-M6C2FCM4.mjs.map +0 -1
  465. package/chunk-MYO4WRNB.js.map +0 -1
  466. package/chunk-NI2SIUXO.js.map +0 -1
  467. package/chunk-NK4XTZ5W.js.map +0 -1
  468. package/chunk-NRHWGE26.mjs.map +0 -1
  469. package/chunk-NTYWTGYX.mjs.map +0 -1
  470. package/chunk-O2ZEUVTY.js.map +0 -1
  471. package/chunk-O7E6RNCD.mjs.map +0 -1
  472. package/chunk-OAAHNESN.mjs.map +0 -1
  473. package/chunk-OXTCSLHP.mjs.map +0 -1
  474. package/chunk-PCR4GC74.js.map +0 -1
  475. package/chunk-QDVJN4S3.mjs.map +0 -1
  476. package/chunk-QGXFFTPH.js.map +0 -1
  477. package/chunk-R4SF7CSA.mjs.map +0 -1
  478. package/chunk-R7L4TN3C.mjs.map +0 -1
  479. package/chunk-REZO5TYB.mjs.map +0 -1
  480. package/chunk-RMDDLEPA.js.map +0 -1
  481. package/chunk-SCM23WSM.js.map +0 -1
  482. package/chunk-TMC4JKD5.mjs.map +0 -1
  483. package/chunk-U3KAN7IM.js.map +0 -1
  484. package/chunk-V4BQYO2M.mjs.map +0 -1
  485. package/chunk-W2N2NIVE.js.map +0 -1
  486. package/chunk-YAPKDLRQ.mjs.map +0 -1
  487. package/chunk-YWILOKX4.mjs.map +0 -1
  488. package/chunk-YWWFTM23.js.map +0 -1
  489. package/chunk-Z3VXGHCE.mjs.map +0 -1
  490. package/chunk-ZJAFK7BR.mjs.map +0 -1
  491. package/chunk-ZVBMRCE7.mjs.map +0 -1
  492. package/lib/date.js +0 -12
  493. package/lib/date.js.map +0 -1
  494. package/lib/number.js +0 -14
  495. package/lib/utils.js.map +0 -1
  496. /package/{chunk-DMATER3M.mjs.map → chunk-F57PDM2P.mjs.map} +0 -0
  497. /package/{lib → utils}/date.d.mts +0 -0
  498. /package/{lib → utils}/date.d.ts +0 -0
  499. /package/{lib → utils}/date.mjs.map +0 -0
  500. /package/{lib/number.d.mts → utils/time.d.mts} +0 -0
  501. /package/{lib/number.d.ts → utils/time.d.ts} +0 -0
  502. /package/{lib/number.mjs.map → utils/time.mjs.map} +0 -0
  503. /package/{lib/utils.d.mts → utils/ui.d.mts} +0 -0
  504. /package/{lib/utils.d.ts → utils/ui.d.ts} +0 -0
  505. /package/{lib/utils.mjs.map → utils/ui.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","../../../../components/ui/extension/multi-select.tsx"],"names":["_a","_b"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","sourcesContent":[null,"\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","../../../../components/ui/extension/multi-select.tsx"],"names":["_a","_b"],"mappings":"AAAA,qLAAY;AACZ;AACE;AACF,6DAAmC;AACnC;AACE;AACA;AACA;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC;AACE;AACF,6DAAmC;AACnC;AACE;AACA;AACA;AACF,6DAAmC;AACnC;AACA;ACjBA,iDAAiC;AACjC,4BAA4C;AAC5C,4EAAwG;AA8BxG,IAAM,mBAAA,EAAqB,kCAAA,IAAkD,CAAA;AAE7E,IAAM,eAAA,EAAiB,CAAA,EAAA,GAAM;AAC3B,EAAA,MAAM,QAAA,EAAU,+BAAA,kBAA6B,CAAA;AAC7C,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,KAAA,CAAM,wDAAwD,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,OAAA;AACT,CAAA;AAQA,SAAS,cAAA,CAAe,MAAA,EAA4B,KAAA,EAAyB;AAC3E,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,MAAA,CAAO,MAAA,EAAQ,CAAA,EAAA,EAAK;AACtC,IAAA,GAAA,CAAI,MAAA,CAAO,CAAC,CAAA,CAAE,MAAA,IAAU,KAAA,CAAM,KAAA,EAAO;AACnC,MAAA,OAAO,CAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,CAAA,CAAA;AACT;AAEA,IAAM,cAAA,EAAgB,CAAC,EAAA,EAAA,GAQG;AARH,EAAA,IAAA,GAAA,EAAA,EAAA,EACrB;AAAA,IAAA,MAAA,EAAQ,KAAA;AAAA,IACR,cAAA,EAAgB,aAAA;AAAA,IAChB,KAAA,EAAO,KAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,EAlEF,EAAA,EA4DuB,EAAA,EAOlB,MAAA,EAAA,wCAAA,EAPkB,EAOlB;AAAA,IANH,QAAA;AAAA,IACA,gBAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAGA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,EAAA,EAAI,6BAAA,EAAW,CAAA;AAC/C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,EAAA,EAAI,6BAAA,KAAuB,CAAA;AAC/C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,EAAA,EAAI,6BAAA,CAAiB,CAAE,CAAA;AACzD,EAAA,MAAM,SAAA,EAAW,eAAA,CAAM,MAAA,CAAyB,IAAI,CAAA;AAEpD,EAAA,MAAM,qBAAA,EAAuB,gCAAA;AAAA,IAC3B,CAAC,GAAA,EAAA,GAA0B;AACzB,MAAA,MAAM,QAAA,EAAU,cAAA,CAAe,KAAA,EAAO,GAAG,CAAA;AACzC,MAAA,GAAA,CAAI,QAAA,IAAY,CAAA,CAAA,EAAI;AAClB,QAAA,aAAA,CAAc,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA,EAAG,KAAA,EAAA,GAAU,MAAA,IAAU,OAAO,CAAC,CAAA;AAAA,MAC7D,EAAA,KAAO;AACL,QAAA,aAAA,CAAc,CAAC,GAAG,KAAA,EAAO,GAAG,CAAC,CAAA;AAAA,MAC/B;AAAA,IACF,CAAA;AAAA;AAAA,IAEA,CAAC,KAAK;AAAA,EACR,CAAA;AAEA,EAAA,MAAM,cAAA,EAAgB,gCAAA;AAAA,IACpB,CAAC,CAAA,EAAA,GAAqC;AAxF1C,MAAA,IAAAA,GAAAA,EAAAC,GAAAA;AAyFM,MAAA,CAAA,CAAE,eAAA,CAAgB,CAAA;AAClB,MAAA,MAAM,OAAA,EAAS,QAAA,CAAS,OAAA;AAExB,MAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,MAAA;AAEb,MAAA,MAAM,eAAA,EAAA,CAAiBD,IAAAA,EAAA,MAAA,CAAO,cAAA,EAAA,GAAP,KAAA,EAAAA,IAAAA,EAAyB,CAAA;AAChD,MAAA,MAAM,aAAA,EAAA,CAAeC,IAAAA,EAAA,MAAA,CAAO,YAAA,EAAA,GAAP,KAAA,EAAAA,IAAAA,EAAuB,CAAA;AAG5C,MAAA,GAAA,CAAI,eAAA,IAAmB,YAAA,EAAc;AACnC,QAAA,MAAA;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,EAAW,CAAA,EAAA,GAAM;AACrB,QAAA,MAAM,UAAA,EAAY,YAAA,EAAc,CAAA;AAChC,QAAA,cAAA,CAAe,UAAA,EAAY,KAAA,CAAM,OAAA,EAAS,EAAA,EAAK,KAAA,EAAO,EAAA,EAAI,CAAA,EAAA,EAAM,SAAS,CAAA;AAAA,MAC3E,CAAA;AAEA,MAAA,MAAM,SAAA,EAAW,CAAA,EAAA,GAAM;AACrB,QAAA,MAAM,UAAA,EAAY,YAAA,EAAc,CAAA;AAChC,QAAA,cAAA,CAAe,UAAA,EAAY,EAAA,EAAI,KAAA,CAAM,OAAA,EAAS,EAAA,EAAI,SAAS,CAAA;AAAA,MAC7D,CAAA;AAEA,MAAA,MAAM,YAAA,EAAc,CAAA,EAAA,GAAM;AACxB,QAAA,MAAM,SAAA,EAAW,YAAA,EAAc,EAAA,GAAK,EAAA,EAAK,KAAA,CAAM,OAAA,EAAS,EAAA,IAAM,EAAA,EAAI,CAAA,EAAA,EAAK,EAAA,EAAK,YAAA,EAAc,CAAA;AAC1F,QAAA,cAAA,CAAe,QAAQ,CAAA;AAAA,MACzB,CAAA;AAEA,MAAA,OAAA,CAAQ,CAAA,CAAE,GAAA,EAAK;AAAA,QACb,KAAK,WAAA;AACH,UAAA,GAAA,CAAI,IAAA,IAAQ,KAAA,EAAO;AACjB,YAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,EAAA,GAAA,CAAM,YAAA,IAAgB,CAAA,EAAA,GAAM,IAAA,CAAA,EAAO;AACpD,cAAA,QAAA,CAAS,CAAA;AAAA,YACX;AAAA,UACF,EAAA,KAAO;AACL,YAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,EAAA,GAAK,MAAA,CAAO,eAAA,IAAmB,CAAA,EAAG;AACnD,cAAA,QAAA,CAAS,CAAA;AAAA,YACX;AAAA,UACF;AACA,UAAA,KAAA;AAAA,QAEF,KAAK,YAAA;AACH,UAAA,GAAA,CAAI,IAAA,IAAQ,KAAA,EAAO;AACjB,YAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,EAAA,GAAK,MAAA,CAAO,eAAA,IAAmB,CAAA,EAAG;AACnD,cAAA,QAAA,CAAS,CAAA;AAAA,YACX;AAAA,UACF,EAAA,KAAO;AACL,YAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,EAAA,GAAA,CAAM,YAAA,IAAgB,CAAA,EAAA,GAAM,IAAA,CAAA,EAAO;AACpD,cAAA,QAAA,CAAS,CAAA;AAAA,YACX;AAAA,UACF;AACA,UAAA,KAAA;AAAA,QAEF,KAAK,WAAA;AAAA,QACL,KAAK,QAAA;AACH,UAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,CAAA,EAAG;AACpB,YAAA,GAAA,CAAI,YAAA,IAAgB,CAAA,EAAA,GAAM,YAAA,EAAc,KAAA,CAAM,MAAA,EAAQ;AACpD,cAAA,oBAAA,CAAqB,KAAA,CAAM,WAAW,CAAC,CAAA;AACvC,cAAA,WAAA,CAAY,CAAA;AAAA,YACd,EAAA,KAAO;AACL,cAAA,GAAA,CAAI,MAAA,CAAO,eAAA,IAAmB,CAAA,EAAG;AAC/B,gBAAA,oBAAA,CAAqB,KAAA,CAAM,KAAA,CAAM,OAAA,EAAS,CAAC,CAAC,CAAA;AAAA,cAC9C;AAAA,YACF;AAAA,UACF;AACA,UAAA,KAAA;AAAA,QAEF,KAAK,OAAA;AACH,UAAA,OAAA,CAAQ,IAAI,CAAA;AACZ,UAAA,KAAA;AAAA,QAEF,KAAK,QAAA;AACH,UAAA,GAAA,CAAI,YAAA,IAAgB,CAAA,CAAA,EAAI;AACtB,YAAA,cAAA,CAAe,CAAA,CAAE,CAAA;AAAA,UACnB,EAAA,KAAA,GAAA,CAAW,IAAA,EAAM;AACf,YAAA,aAAA,CAAc,EAAE,CAAA;AAChB,YAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,UACf;AACA,UAAA,KAAA;AAAA,MACJ;AAAA,IACF,CAAA;AAAA,IACA,CAAC,KAAA,EAAO,WAAA,EAAa,IAAI;AAAA,EAC3B,CAAA;AAEA,EAAA,uBACE,eAAA,CAAA,aAAA;AAAA,IAAC,kBAAA,CAAmB,QAAA;AAAA,IAAnB;AAAA,MACC,KAAA,EAAO;AAAA,QACL,KAAA;AAAA,QACA,aAAA,EAAe,oBAAA;AAAA,QACf,IAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA,aAAA;AAAA,QACA,WAAA;AAAA,QACA,cAAA;AAAA,QACA,GAAA,EAAK;AAAA,MACP;AAAA,IAAA,CAAA;AAAA,oBAEA,eAAA,CAAA,aAAA;AAAA,MAAC,wBAAA;AAAA,MAAA,6CAAA;AAAA,QACC,SAAA,EAAW,aAAA;AAAA,QACX,SAAA,EAAW,iCAAA,yDAAG,EAA2D,SAAS,CAAA;AAAA,QAClF;AAAA,MAAA,CAAA,EACI,KAAA,CAAA;AAAA,MAEH;AAAA,IACH;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAM,qBAAA,EAAuB,+BAAA;AAAA,EAC3B,CAAC,EAAA,EAAmC,GAAA,EAAA,GAAQ;AAA3C,IAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,SAxMhB,EAAA,EAwMG,EAAA,EAA0B,MAAA,EAAA,wCAAA,EAA1B,EAA0B,CAAxB,WAAA,EAAW,UAAA,CAAA,CAAA;AACZ,IAAA,MAAM,EAAE,KAAA,EAAO,aAAA,EAAe,YAAY,EAAA,EAAI,cAAA,CAAe,CAAA;AAE7D,IAAA,MAAM,oBAAA,EAAsB,gCAAA,CAAa,CAAA,EAAA,GAAwB;AAC/D,MAAA,CAAA,CAAE,cAAA,CAAe,CAAA;AACjB,MAAA,CAAA,CAAE,eAAA,CAAgB,CAAA;AAAA,IACpB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,IAAA,uBACE,eAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA,6CAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,iCAAA;AAAA,UACT,6FAAA;AAAA,UACA;AAAA,YACE,+BAAA,EAAiC,YAAA,IAAgB,CAAA;AAAA,UACnD,CAAA;AAAA,UACA;AAAA,QACF;AAAA,MAAA,CAAA,EACI,KAAA,CAAA;AAAA,MAEH,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,EAAA,mBAChB,eAAA,CAAA,aAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,IAAA,CAAK,KAAA;AAAA,UACV,SAAA,EAAW,iCAAA;AAAA,YACT,2CAAA;AAAA,YACA,YAAA,IAAgB,MAAA,GAAS;AAAA,UAC3B,CAAA;AAAA,UACA,OAAA,EAAQ;AAAA,QAAA,CAAA;AAAA,wBAER,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,UAAA,CAAA,EAAW,IAAA,CAAK,KAAM,CAAA;AAAA,wBAEtC,eAAA,CAAA,aAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAY,CAAA,OAAA,EAAU,IAAI,CAAA,OAAA,CAAA;AAAA,YAC1B,sBAAA,EAAqB,yBAAA;AAAA,YACrB,IAAA,EAAK,QAAA;AAAA,YACL,WAAA,EAAa,mBAAA;AAAA,YACb,OAAA,EAAS,CAAA,EAAA,GAAM,aAAA,CAAc,IAAI;AAAA,UAAA,CAAA;AAAA,0BAEjC,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,UAAA,CAAA,EAAU,SAAA,EAAQ,IAAA,CAAK,KAAA,EAAM,SAAO,CAAA;AAAA,0BAEpD,eAAA,CAAA,aAAA,CAAC,iBAAA,EAAA,EAAM,SAAA,EAAU,mCAAA,CAAmC;AAAA,QACtD;AAAA,MACF,CACD,CAAA;AAAA,MACA;AAAA,IACH,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,oBAAA,CAAqB,YAAA,EAAc,sBAAA;AAEnC,IAAM,mBAAA,EAAqB,+BAAA,CAGxB,EAAA,EAAyB,GAAA,EAAA,GAAQ;AAAjC,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,UA/PL,EAAA,EA+PG,EAAA,EAAgB,MAAA,EAAA,wCAAA,EAAhB,EAAgB,CAAd,WAAA,CAAA,CAAA;AACH,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,EAAgB,GAAA,EAAK,SAAS,EAAA,EAAI,cAAA,CAAe,CAAA;AAE1G,EAAA,uBACE,eAAA,CAAA,aAAA;AAAA,IAAC,aAAA,CAAiB,KAAA;AAAA,IAAjB,4CAAA,6CAAA,CAAA,CAAA,EACK,KAAA,CAAA,EADL;AAAA,MAEC,QAAA,EAAU,CAAA;AAAA,MACV,GAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO,UAAA;AAAA,MACP,aAAA,EAAe,YAAA,IAAgB,CAAA,EAAA,EAAK,cAAA,EAAgB,KAAA,CAAA;AAAA,MACpD,MAAA,EAAQ,CAAA,EAAA,GAAM;AACZ,QAAA,aAAA,CAAc,EAAE,CAAA;AAChB,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf,CAAA;AAAA,MACA,OAAA,EAAS,CAAA,EAAA,GAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,MAC3B,OAAA,EAAS,CAAA,EAAA,GAAM,cAAA,CAAe,CAAA,CAAE,CAAA;AAAA,MAChC,SAAA,EAAW,iCAAA;AAAA,QACT,8HAAA;AAAA,QACA,SAAA;AAAA,QACA,YAAA,IAAgB,CAAA,EAAA,GAAM;AAAA,MACxB;AAAA,IAAA,CAAA;AAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAED,kBAAA,CAAmB,YAAA,EAAc,oBAAA;AAEjC,IAAM,qBAAA,EAAuB,+BAAA,CAAkE,EAAE,SAAS,CAAA,EAAG,GAAA,EAAA,GAAQ;AACnH,EAAA,MAAM,EAAE,KAAK,EAAA,EAAI,cAAA,CAAe,CAAA;AAChC,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAU,WAAA,CAAA,EACtB,KAAA,EAAO,SAAA,EAAW,IACrB,CAAA;AAEJ,CAAC,CAAA;AAED,oBAAA,CAAqB,YAAA,EAAc,sBAAA;AAEnC,IAAM,kBAAA,EAAoB,+BAAA,CAGvB,EAAE,SAAA,EAAW,SAAS,CAAA,EAAG,GAAA,EAAA,GAAQ;AAClC,EAAA,uBACE,eAAA,CAAA,aAAA;AAAA,IAAC,4BAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,iCAAA;AAAA,QACT,gQAAA;AAAA,QACA;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IAEC,QAAA;AAAA,oBAED,eAAA,CAAA,aAAA,CAAC,6BAAA,EAAA,IAAA,kBACC,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,wBAAA,CAAA,EAAwB,kBAAgB,CAC1D;AAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAED,iBAAA,CAAkB,YAAA,EAAc,mBAAA;AAEhC,IAAM,kBAAA,EAAoB,+BAAA,CAGvB,EAAA,EAAiD,GAAA,EAAA,GAAQ;AAAzD,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,KAAA,EAAO,KAAA,EAAO,SA/T9B,EAAA,EA+TG,EAAA,EAAwC,MAAA,EAAA,wCAAA,EAAxC,EAAwC,CAAtC,WAAA,EAAW,OAAA,EAAO,OAAA,EAAO,UAAA,CAAA,CAAA;AAC5B,EAAA,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,aAAA,EAAe,cAAc,EAAA,EAAI,cAAA,CAAe,CAAA;AAExE,EAAA,MAAM,oBAAA,EAAsB,gCAAA,CAAa,CAAA,EAAA,GAAwB;AAC/D,IAAA,CAAA,CAAE,cAAA,CAAe,CAAA;AACjB,IAAA,CAAA,CAAE,eAAA,CAAgB,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,MAAM,WAAA,EACJ,cAAA,CAAe,OAAA,EAAS;AAAA,IACtB,KAAA;AAAA,IACA;AAAA,EACF,CAAC,EAAA,IAAM,CAAA,CAAA;AAET,EAAA,uBACE,eAAA,CAAA,aAAA;AAAA,IAAC,4BAAA;AAAA,IAAA,4CAAA,6CAAA;AAAA,MACC;AAAA,IAAA,CAAA,EACI,KAAA,CAAA,EAFL;AAAA,MAGC,QAAA,EAAU,CAAA,EAAA,GAAM;AACd,QAAA,aAAA,CAAc;AAAA,UACZ,KAAA;AAAA,UACA;AAAA,QACF,CAAC,CAAA;AACD,QAAA,aAAA,CAAc,EAAE,CAAA;AAAA,MAClB,CAAA;AAAA,MACA,SAAA,EAAW,iCAAA;AAAA,QACT,4EAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA,GAAc,2BAAA;AAAA,QACd,KAAA,CAAM,SAAA,GAAY;AAAA,MACpB,CAAA;AAAA,MACA,WAAA,EAAa;AAAA,IAAA,CAAA,CAAA;AAAA,IAEZ,QAAA;AAAA,IACA,WAAA,mBAAc,eAAA,CAAA,aAAA,CAAC,qBAAA,EAAA,EAAU,SAAA,EAAU,UAAA,CAAU;AAAA,EAChD,CAAA;AAEJ,CAAC,CAAA;AAED,iBAAA,CAAkB,YAAA,EAAc,mBAAA;ADxDhC;AACE;AACA;AACA;AACA;AACA;AACA;AACF,+RAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","sourcesContent":[null,"\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../utils/ui';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"]}
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  Badge
4
- } from "../../../chunk-JW7N7IR5.mjs";
4
+ } from "../../../chunk-HBKXMTBF.mjs";
5
5
  import {
6
6
  Command,
7
7
  CommandEmpty,
8
8
  CommandItem,
9
9
  CommandList
10
- } from "../../../chunk-4XC6EXHZ.mjs";
11
- import "../../../chunk-YAPKDLRQ.mjs";
10
+ } from "../../../chunk-OJEDITOA.mjs";
11
+ import "../../../chunk-D6WUNCBI.mjs";
12
12
  import {
13
13
  cn
14
- } from "../../../chunk-F5XCCSBC.mjs";
14
+ } from "../../../chunk-KGUUDFJE.mjs";
15
15
  import {
16
16
  __objRest,
17
17
  __spreadProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/ui/extension/multi-select.tsx"],"sourcesContent":["\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"],"mappings":"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","names":["_a","_b"]}
1
+ {"version":3,"sources":["../../../../components/ui/extension/multi-select.tsx"],"sourcesContent":["\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../utils/ui';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"],"mappings":"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","names":["_a","_b"]}
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
3
3
 
4
4
 
5
- var _chunkTUFO3JJEjs = require('../../chunk-TUFO3JJE.js');
5
+ var _chunkKNNX4FAHjs = require('../../chunk-KNNX4FAH.js');
6
6
 
7
7
 
8
- var _chunk6N4WCMTEjs = require('../../chunk-6N4WCMTE.js');
8
+ var _chunkPSPAJNNBjs = require('../../chunk-PSPAJNNB.js');
9
9
 
10
10
 
11
11
 
@@ -43,14 +43,14 @@ var FormItem = React.forwardRef(
43
43
  (_a, ref) => {
44
44
  var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
45
45
  const id = React.useId();
46
- return /* @__PURE__ */ React.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React.createElement("div", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunk6N4WCMTEjs.cn.call(void 0, "space-y-2", className) }, props)));
46
+ return /* @__PURE__ */ React.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React.createElement("div", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunkPSPAJNNBjs.cn.call(void 0, "space-y-2", className) }, props)));
47
47
  }
48
48
  );
49
49
  FormItem.displayName = "FormItem";
50
50
  var FormLabel = React.forwardRef((_a, ref) => {
51
51
  var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
52
52
  const { error, formItemId } = useFormField();
53
- return /* @__PURE__ */ React.createElement(_chunkTUFO3JJEjs.Label, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunk6N4WCMTEjs.cn.call(void 0, error && "text-destructive", className), htmlFor: formItemId }, props));
53
+ return /* @__PURE__ */ React.createElement(_chunkKNNX4FAHjs.Label, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunkPSPAJNNBjs.cn.call(void 0, error && "text-destructive", className), htmlFor: formItemId }, props));
54
54
  });
55
55
  FormLabel.displayName = "FormLabel";
56
56
  var FormControl = React.forwardRef(
@@ -73,7 +73,7 @@ var FormDescription = React.forwardRef(
73
73
  (_a, ref) => {
74
74
  var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
75
75
  const { formDescriptionId } = useFormField();
76
- return /* @__PURE__ */ React.createElement("p", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, id: formDescriptionId, className: _chunk6N4WCMTEjs.cn.call(void 0, "text-[0.8rem] text-muted-foreground", className) }, props));
76
+ return /* @__PURE__ */ React.createElement("p", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, id: formDescriptionId, className: _chunkPSPAJNNBjs.cn.call(void 0, "text-[0.8rem] text-muted-foreground", className) }, props));
77
77
  }
78
78
  );
79
79
  FormDescription.displayName = "FormDescription";
@@ -90,7 +90,7 @@ var FormMessage = React.forwardRef(
90
90
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
91
91
  ref,
92
92
  id: formMessageId,
93
- className: _chunk6N4WCMTEjs.cn.call(void 0, "text-[0.8rem] font-medium text-destructive", className)
93
+ className: _chunkPSPAJNNBjs.cn.call(void 0, "text-[0.8rem] font-medium text-destructive", className)
94
94
  }, props),
95
95
  body
96
96
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/form.js","../../../components/ui/form.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACF,0DAAgC;AAChC;AACA;ACXA,2EAAuB;AAEvB,iDAAqB;AACrB,gDAAkG;AAKlG,IAAM,KAAA,EAAO,2BAAA;AASb,IAAM,iBAAA,EAAyB,KAAA,CAAA,aAAA,CAAqC,CAAC,CAA0B,CAAA;AAE/F,IAAM,UAAA,EAAY,CAGhB,EAAA,EAAA,GAE0C;AAF1C,EAAA,IACG,MAAA,EAAA,wCAAA,EADH,EACG,CAAA,CAAA,CAAA;AAEH,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,EAAE,IAAA,EAAM,KAAA,CAAM,KAAK,EAAA,CAAA,kBACnD,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,6CAAA,CAAA,CAAA,EAAe,KAAA,CAAO,CACzB,CAAA;AAEJ,CAAA;AAEA,IAAM,aAAA,EAAe,CAAA,EAAA,GAAM;AACzB,EAAA,MAAM,aAAA,EAAqB,KAAA,CAAA,UAAA,CAAW,gBAAgB,CAAA;AACtD,EAAA,MAAM,YAAA,EAAoB,KAAA,CAAA,UAAA,CAAW,eAAe,CAAA;AACpD,EAAA,MAAM,EAAE,aAAA,EAAe,UAAU,EAAA,EAAI,2CAAA,CAAe;AAEpD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,YAAA,CAAa,IAAA,EAAM,SAAS,CAAA;AAE7D,EAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AACjB,IAAA,MAAM,IAAI,KAAA,CAAM,gDAAgD,CAAA;AAAA,EAClE;AAEA,EAAA,MAAM,EAAE,GAAG,EAAA,EAAI,WAAA;AAEf,EAAA,OAAO,6CAAA;AAAA,IACL,EAAA;AAAA,IACA,IAAA,EAAM,YAAA,CAAa,IAAA;AAAA,IACnB,UAAA,EAAY,CAAA,EAAA;AACZ,IAAA;AACA,IAAA;AACG,EAAA;AAEP;AAMM;AAEiB;AACa,EAAA;AAA/B,IAAA;AACgB,IAAA;AAGf,IAAA;AAIJ,EAAA;AACF;AACS;AAEe;AAGnB,EAAA;AACY,EAAA;AAER,EAAA;AACR;AACS;AAEJ;AACmB,EAAA;AAAjB,IAAA;AACI,IAAA;AAGN,IAAA;AAAC,MAAA;AAAA,MAAA;AACC,QAAA;AACI,QAAA;AACJ,QAAA;AACA,QAAA;AACI,MAAA;AACN,IAAA;AAEJ,EAAA;AACF;AACY;AAEN;AAC8B,EAAA;AAA/B,IAAA;AACO,IAAA;AAGN,IAAA;AAEJ,EAAA;AACF;AACgB;AAEV;AACwC,EAAA;AAAzC,IAAA;AACO,IAAA;AACK,IAAA;AAEF,IAAA;AACF,MAAA;AACT,IAAA;AAGE,IAAA;AAAC,MAAA;AAAA,MAAA;AACC,QAAA;AACI,QAAA;AACJ,QAAA;AACI,MAAA;AAEH,MAAA;AACH,IAAA;AAEJ,EAAA;AACF;AACY;ADpCK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/form.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\n\nimport { cn } from '../../lib/utils';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\n ({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n },\n);\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p ref={ref} id={formDescriptionId} className={cn('text-[0.8rem] text-muted-foreground', className)} {...props} />\n );\n },\n);\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-[0.8rem] font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n );\n },\n);\nFormMessage.displayName = 'FormMessage';\n\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/form.js","../../../components/ui/form.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACF,0DAAgC;AAChC;AACA;ACXA,2EAAuB;AAEvB,iDAAqB;AACrB,gDAAkG;AAKlG,IAAM,KAAA,EAAO,2BAAA;AASb,IAAM,iBAAA,EAAyB,KAAA,CAAA,aAAA,CAAqC,CAAC,CAA0B,CAAA;AAE/F,IAAM,UAAA,EAAY,CAGhB,EAAA,EAAA,GAE0C;AAF1C,EAAA,IACG,MAAA,EAAA,wCAAA,EADH,EACG,CAAA,CAAA,CAAA;AAEH,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,EAAE,IAAA,EAAM,KAAA,CAAM,KAAK,EAAA,CAAA,kBACnD,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,6CAAA,CAAA,CAAA,EAAe,KAAA,CAAO,CACzB,CAAA;AAEJ,CAAA;AAEA,IAAM,aAAA,EAAe,CAAA,EAAA,GAAM;AACzB,EAAA,MAAM,aAAA,EAAqB,KAAA,CAAA,UAAA,CAAW,gBAAgB,CAAA;AACtD,EAAA,MAAM,YAAA,EAAoB,KAAA,CAAA,UAAA,CAAW,eAAe,CAAA;AACpD,EAAA,MAAM,EAAE,aAAA,EAAe,UAAU,EAAA,EAAI,2CAAA,CAAe;AAEpD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,YAAA,CAAa,IAAA,EAAM,SAAS,CAAA;AAE7D,EAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AACjB,IAAA,MAAM,IAAI,KAAA,CAAM,gDAAgD,CAAA;AAAA,EAClE;AAEA,EAAA,MAAM,EAAE,GAAG,EAAA,EAAI,WAAA;AAEf,EAAA,OAAO,6CAAA;AAAA,IACL,EAAA;AAAA,IACA,IAAA,EAAM,YAAA,CAAa,IAAA;AAAA,IACnB,UAAA,EAAY,CAAA,EAAA;AACZ,IAAA;AACA,IAAA;AACG,EAAA;AAEP;AAMM;AAEiB;AACa,EAAA;AAA/B,IAAA;AACgB,IAAA;AAGf,IAAA;AAIJ,EAAA;AACF;AACS;AAEe;AAGnB,EAAA;AACY,EAAA;AAER,EAAA;AACR;AACS;AAEJ;AACmB,EAAA;AAAjB,IAAA;AACI,IAAA;AAGN,IAAA;AAAC,MAAA;AAAA,MAAA;AACC,QAAA;AACI,QAAA;AACJ,QAAA;AACA,QAAA;AACI,MAAA;AACN,IAAA;AAEJ,EAAA;AACF;AACY;AAEN;AAC8B,EAAA;AAA/B,IAAA;AACO,IAAA;AAGN,IAAA;AAEJ,EAAA;AACF;AACgB;AAEV;AACwC,EAAA;AAAzC,IAAA;AACO,IAAA;AACK,IAAA;AAEF,IAAA;AACF,MAAA;AACT,IAAA;AAGE,IAAA;AAAC,MAAA;AAAA,MAAA;AACC,QAAA;AACI,QAAA;AACJ,QAAA;AACI,MAAA;AAEH,MAAA;AACH,IAAA;AAEJ,EAAA;AACF;AACY;ADpCK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/form.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\n\nimport { cn } from '../../utils/ui';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\n ({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n },\n);\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p ref={ref} id={formDescriptionId} className={cn('text-[0.8rem] text-muted-foreground', className)} {...props} />\n );\n },\n);\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-[0.8rem] font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n );\n },\n);\nFormMessage.displayName = 'FormMessage';\n\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"]}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  Label
4
- } from "../../chunk-JWENANTO.mjs";
4
+ } from "../../chunk-NL4534LH.mjs";
5
5
  import {
6
6
  cn
7
- } from "../../chunk-F5XCCSBC.mjs";
7
+ } from "../../chunk-KGUUDFJE.mjs";
8
8
  import {
9
9
  __objRest,
10
10
  __spreadValues
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/ui/form.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\n\nimport { cn } from '../../lib/utils';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\n ({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n },\n);\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p ref={ref} id={formDescriptionId} className={cn('text-[0.8rem] text-muted-foreground', className)} {...props} />\n );\n },\n);\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-[0.8rem] font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n );\n },\n);\nFormMessage.displayName = 'FormMessage';\n\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../components/ui/form.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\n\nimport { cn } from '../../utils/ui';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\n ({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n },\n);\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p ref={ref} id={formDescriptionId} className={cn('text-[0.8rem] text-muted-foreground', className)} {...props} />\n );\n },\n);\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-[0.8rem] font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n );\n },\n);\nFormMessage.displayName = 'FormMessage';\n\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"],"mappings":";;;;;;;;;;;;;AACA,YAAY,WAAW;AAEvB,SAAS,YAAY;AACrB,SAAS,YAAqD,cAAc,sBAAsB;AAKlG,IAAM,OAAO;AASb,IAAM,mBAAyB,oBAAqC,CAAC,CAA0B;AAE/F,IAAM,YAAY,CAGhB,OAE0C;AAF1C,MACG,kBADH,IACG;AAEH,SACE,oCAAC,iBAAiB,UAAjB,EAA0B,OAAO,EAAE,MAAM,MAAM,KAAK,KACnD,oCAAC,+BAAe,MAAO,CACzB;AAEJ;AAEA,IAAM,eAAe,MAAM;AACzB,QAAM,eAAqB,iBAAW,gBAAgB;AACtD,QAAM,cAAoB,iBAAW,eAAe;AACpD,QAAM,EAAE,eAAe,UAAU,IAAI,eAAe;AAEpD,QAAM,aAAa,cAAc,aAAa,MAAM,SAAS;AAE7D,MAAI,CAAC,cAAc;AACjB,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,EAAE,GAAG,IAAI;AAEf,SAAO;AAAA,IACL;AAAA,IACA,MAAM,aAAa;AAAA,IACnB,YAAY,GAAG,EAAE;AAAA,IACjB,mBAAmB,GAAG,EAAE;AAAA,IACxB,eAAe,GAAG,EAAE;AAAA,KACjB;AAEP;AAMA,IAAM,kBAAwB,oBAAoC,CAAC,CAAyB;AAE5F,IAAM,WAAiB;AAAA,EACrB,CAAC,IAAyB,QAAQ;AAAjC,iBAAE,YA/DL,IA+DG,IAAgB,kBAAhB,IAAgB,CAAd;AACD,UAAM,KAAW,YAAM;AAEvB,WACE,oCAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,GAAG,KACpC,oCAAC,wBAAI,KAAU,WAAW,GAAG,aAAa,SAAS,KAAO,MAAO,CACnE;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAEvB,IAAM,YAAkB,iBAGtB,CAAC,IAAyB,QAAQ;AAAjC,eAAE,YA9EL,IA8EG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,QAAM,EAAE,OAAO,WAAW,IAAI,aAAa;AAE3C,SAAO,oCAAC,wBAAM,KAAU,WAAW,GAAG,SAAS,oBAAoB,SAAS,GAAG,SAAS,cAAgB,MAAO;AACjH,CAAC;AACD,UAAU,cAAc;AAExB,IAAM,cAAoB;AAAA,EACxB,CAAC,IAAc,QAAQ;AAAtB,QAAK,kBAAL,IAAK;AACJ,UAAM,EAAE,OAAO,YAAY,mBAAmB,cAAc,IAAI,aAAa;AAE7E,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,IAAI;AAAA,QACJ,oBAAkB,CAAC,QAAQ,GAAG,iBAAiB,KAAK,GAAG,iBAAiB,IAAI,aAAa;AAAA,QACzF,gBAAc,CAAC,CAAC;AAAA,SACZ;AAAA,IACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAE1B,IAAM,kBAAwB;AAAA,EAC5B,CAAC,IAAyB,QAAQ;AAAjC,iBAAE,YAvGL,IAuGG,IAAgB,kBAAhB,IAAgB,CAAd;AACD,UAAM,EAAE,kBAAkB,IAAI,aAAa;AAE3C,WACE,oCAAC,sBAAE,KAAU,IAAI,mBAAmB,WAAW,GAAG,uCAAuC,SAAS,KAAO,MAAO;AAAA,EAEpH;AACF;AACA,gBAAgB,cAAc;AAE9B,IAAM,cAAoB;AAAA,EACxB,CAAC,IAAmC,QAAQ;AAA3C,iBAAE,aAAW,SAlHhB,IAkHG,IAA0B,kBAA1B,IAA0B,CAAxB,aAAW;AACZ,UAAM,EAAE,OAAO,cAAc,IAAI,aAAa;AAC9C,UAAM,OAAO,QAAQ,OAAO,+BAAO,OAAO,IAAI;AAE9C,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,IAAI;AAAA,QACJ,WAAW,GAAG,8CAA8C,SAAS;AAAA,SACjE;AAAA,MAEH;AAAA,IACH;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;","names":[]}
@@ -2,7 +2,7 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
3
3
 
4
4
 
5
- var _chunk6N4WCMTEjs = require('../../chunk-6N4WCMTE.js');
5
+ var _chunkPSPAJNNBjs = require('../../chunk-PSPAJNNB.js');
6
6
 
7
7
 
8
8
 
@@ -21,7 +21,7 @@ var HoverCardContent = React.forwardRef((_a, ref) => {
21
21
  ref,
22
22
  align,
23
23
  sideOffset,
24
- className: _chunk6N4WCMTEjs.cn.call(void 0,
24
+ className: _chunkPSPAJNNBjs.cn.call(void 0,
25
25
  "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
26
26
  className
27
27
  )
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/hover-card.js","../../../components/ui/hover-card.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACF,0DAAgC;AAChC;AACA;ACRA,2EAAuB;AACvB,+HAAoC;AAIpC,IAAM,UAAA,EAA+B,kBAAA,CAAA,IAAA;AAErC,IAAM,iBAAA,EAAsC,kBAAA,CAAA,OAAA;AAE5C,IAAM,iBAAA,EAAyB,KAAA,CAAA,UAAA,CAG7B,CAAC,EAAA,EAA2D,GAAA,EAAA,GAAK;AAAhE,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,MAAA,EAAQ,QAAA,EAAU,WAAA,EAAa,EAb/C,EAAA,EAaG,EAAA,EAAkD,MAAA,EAAA,wCAAA,EAAlD,EAAkD,CAAhD,WAAA,EAAW,OAAA,EAAkB,YAAA,CAAA,CAAA;AAChC,EAAA,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB,6CAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,iCAAA;AAAA,QACT,4aAAA;AAAA,QACA;AAAA,MACF;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAAA,CACD,CAAA;AACD,gBAAA,CAAiB,YAAA,EAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA;ADK1D;AACE;AACA;AACA;AACF,wHAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/hover-card.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../lib/utils';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/hover-card.js","../../../components/ui/hover-card.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACF,0DAAgC;AAChC;AACA;ACRA,2EAAuB;AACvB,+HAAoC;AAIpC,IAAM,UAAA,EAA+B,kBAAA,CAAA,IAAA;AAErC,IAAM,iBAAA,EAAsC,kBAAA,CAAA,OAAA;AAE5C,IAAM,iBAAA,EAAyB,KAAA,CAAA,UAAA,CAG7B,CAAC,EAAA,EAA2D,GAAA,EAAA,GAAK;AAAhE,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,MAAA,EAAQ,QAAA,EAAU,WAAA,EAAa,EAb/C,EAAA,EAaG,EAAA,EAAkD,MAAA,EAAA,wCAAA,EAAlD,EAAkD,CAAhD,WAAA,EAAW,OAAA,EAAkB,YAAA,CAAA,CAAA;AAChC,EAAA,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB,6CAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,iCAAA;AAAA,QACT,4aAAA;AAAA,QACA;AAAA,MACF;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAAA,CACD,CAAA;AACD,gBAAA,CAAiB,YAAA,EAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA;ADK1D;AACE;AACA;AACA;AACF,wHAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/hover-card.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../utils/ui';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  cn
4
- } from "../../chunk-F5XCCSBC.mjs";
4
+ } from "../../chunk-KGUUDFJE.mjs";
5
5
  import {
6
6
  __objRest,
7
7
  __spreadValues
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/ui/hover-card.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../lib/utils';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;;;;AACA,YAAY,WAAW;AACvB,YAAY,wBAAwB;AAIpC,IAAM,YAA+B;AAErC,IAAM,mBAAsC;AAE5C,IAAM,mBAAyB,iBAG7B,CAAC,IAA2D,QAAK;AAAhE,eAAE,aAAW,QAAQ,UAAU,aAAa,EAb/C,IAaG,IAAkD,kBAAlD,IAAkD,CAAhD,aAAW,SAAkB;AAChC;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AACD,iBAAiB,cAAiC,2BAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../components/ui/hover-card.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../utils/ui';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;;;;AACA,YAAY,WAAW;AACvB,YAAY,wBAAwB;AAIpC,IAAM,YAA+B;AAErC,IAAM,mBAAsC;AAE5C,IAAM,mBAAyB,iBAG7B,CAAC,IAA2D,QAAK;AAAhE,eAAE,aAAW,QAAQ,UAAU,aAAa,EAb/C,IAaG,IAAkD,kBAAlD,IAAkD,CAAhD,aAAW,SAAkB;AAChC;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AACD,iBAAiB,cAAiC,2BAAQ;","names":[]}
@@ -2,7 +2,7 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
3
3
 
4
4
 
5
- var _chunk6N4WCMTEjs = require('../../chunk-6N4WCMTE.js');
5
+ var _chunkPSPAJNNBjs = require('../../chunk-PSPAJNNB.js');
6
6
 
7
7
 
8
8
 
@@ -19,8 +19,8 @@ var InputOTP = React.forwardRef(
19
19
  _inputotp.OTPInput,
20
20
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
21
21
  ref,
22
- containerClassName: _chunk6N4WCMTEjs.cn.call(void 0, "flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName),
23
- className: _chunk6N4WCMTEjs.cn.call(void 0, "disabled:cursor-not-allowed", className)
22
+ containerClassName: _chunkPSPAJNNBjs.cn.call(void 0, "flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName),
23
+ className: _chunkPSPAJNNBjs.cn.call(void 0, "disabled:cursor-not-allowed", className)
24
24
  }, props)
25
25
  );
26
26
  }
@@ -29,7 +29,7 @@ InputOTP.displayName = "InputOTP";
29
29
  var InputOTPGroup = React.forwardRef(
30
30
  (_a, ref) => {
31
31
  var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
32
- return /* @__PURE__ */ React.createElement("div", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunk6N4WCMTEjs.cn.call(void 0, "flex items-center", className) }, props));
32
+ return /* @__PURE__ */ React.createElement("div", _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunkPSPAJNNBjs.cn.call(void 0, "flex items-center", className) }, props));
33
33
  }
34
34
  );
35
35
  InputOTPGroup.displayName = "InputOTPGroup";
@@ -41,7 +41,7 @@ var InputOTPSlot = React.forwardRef((_a, ref) => {
41
41
  "div",
42
42
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
43
43
  ref,
44
- className: _chunk6N4WCMTEjs.cn.call(void 0,
44
+ className: _chunkPSPAJNNBjs.cn.call(void 0,
45
45
  "relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
46
46
  isActive && "z-10 ring-1 ring-ring",
47
47
  className
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/input-otp.js","../../../components/ui/input-otp.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/input-otp.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Minus } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst InputOTP = React.forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'z-10 ring-1 ring-ring',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/input-otp.js","../../../components/ui/input-otp.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/input-otp.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Minus } from 'lucide-react';\n\nimport { cn } from '../../utils/ui';\n\nconst InputOTP = React.forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'z-10 ring-1 ring-ring',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  cn
4
- } from "../../chunk-F5XCCSBC.mjs";
4
+ } from "../../chunk-KGUUDFJE.mjs";
5
5
  import {
6
6
  __objRest,
7
7
  __spreadValues
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/ui/input-otp.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Minus } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst InputOTP = React.forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'z-10 ring-1 ring-ring',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,UAAU,uBAAuB;AAC1C,SAAS,aAAa;AAItB,IAAM,WAAiB;AAAA,EACrB,CAAC,IAA6C,QAAK;AAAlD,iBAAE,aAAW,mBARhB,IAQG,IAAoC,kBAApC,IAAoC,CAAlC,aAAW;AACZ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,oBAAoB,GAAG,sDAAsD,kBAAkB;AAAA,QAC/F,WAAW,GAAG,+BAA+B,SAAS;AAAA,SAClD;AAAA,IACN;AAAA;AAEJ;AACA,SAAS,cAAc;AAEvB,IAAM,gBAAsB;AAAA,EAC1B,CAAC,IAAyB,QAAK;AAA9B,iBAAE,YApBL,IAoBG,IAAgB,kBAAhB,IAAgB,CAAd;AAA+B,+CAAC,wBAAI,KAAU,WAAW,GAAG,qBAAqB,SAAS,KAAO,MAAO;AAAA;AAC7G;AACA,cAAc,cAAc;AAE5B,IAAM,eAAqB,iBAGzB,CAAC,IAAgC,QAAQ;AAAxC,eAAE,SAAO,UA3BZ,IA2BG,IAAuB,kBAAvB,IAAuB,CAArB,SAAO;AACV,QAAM,kBAAwB,iBAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,gBAAgB,MAAM,KAAK;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACF;AAAA,OACI;AAAA,IAEH;AAAA,IACA,gBACC,oCAAC,SAAI,WAAU,2EACb,oCAAC,SAAI,WAAU,4DAA2D,CAC5E;AAAA,EAEJ;AAEJ,CAAC;AACD,aAAa,cAAc;AAE3B,IAAM,oBAA0B;AAAA,EAC9B,CAAC,IAAc,QAAK;AAAnB,QAAK,kBAAL,IAAK;AACJ,+CAAC,wBAAI,KAAU,MAAK,eAAgB,QAClC,oCAAC,WAAM,CACT;AAAA;AAEJ;AACA,kBAAkB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../components/ui/input-otp.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Minus } from 'lucide-react';\n\nimport { cn } from '../../utils/ui';\n\nconst InputOTP = React.forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'z-10 ring-1 ring-ring',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,UAAU,uBAAuB;AAC1C,SAAS,aAAa;AAItB,IAAM,WAAiB;AAAA,EACrB,CAAC,IAA6C,QAAK;AAAlD,iBAAE,aAAW,mBARhB,IAQG,IAAoC,kBAApC,IAAoC,CAAlC,aAAW;AACZ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,oBAAoB,GAAG,sDAAsD,kBAAkB;AAAA,QAC/F,WAAW,GAAG,+BAA+B,SAAS;AAAA,SAClD;AAAA,IACN;AAAA;AAEJ;AACA,SAAS,cAAc;AAEvB,IAAM,gBAAsB;AAAA,EAC1B,CAAC,IAAyB,QAAK;AAA9B,iBAAE,YApBL,IAoBG,IAAgB,kBAAhB,IAAgB,CAAd;AAA+B,+CAAC,wBAAI,KAAU,WAAW,GAAG,qBAAqB,SAAS,KAAO,MAAO;AAAA;AAC7G;AACA,cAAc,cAAc;AAE5B,IAAM,eAAqB,iBAGzB,CAAC,IAAgC,QAAQ;AAAxC,eAAE,SAAO,UA3BZ,IA2BG,IAAuB,kBAAvB,IAAuB,CAArB,SAAO;AACV,QAAM,kBAAwB,iBAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,gBAAgB,MAAM,KAAK;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,MACF;AAAA,OACI;AAAA,IAEH;AAAA,IACA,gBACC,oCAAC,SAAI,WAAU,2EACb,oCAAC,SAAI,WAAU,4DAA2D,CAC5E;AAAA,EAEJ;AAEJ,CAAC;AACD,aAAa,cAAc;AAE3B,IAAM,oBAA0B;AAAA,EAC9B,CAAC,IAAc,QAAK;AAAnB,QAAK,kBAAL,IAAK;AACJ,+CAAC,wBAAI,KAAU,MAAK,eAAgB,QAClC,oCAAC,WAAM,CACT;AAAA;AAEJ;AACA,kBAAkB,cAAc;","names":[]}
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkW2N2NIVEjs = require('../../chunk-W2N2NIVE.js');
6
- require('../../chunk-6N4WCMTE.js');
5
+ var _chunkAPMXMQPZjs = require('../../chunk-APMXMQPZ.js');
6
+ require('../../chunk-PSPAJNNB.js');
7
7
  require('../../chunk-2NMEKWO5.js');
8
8
 
9
9
 
10
- exports.Input = _chunkW2N2NIVEjs.Input;
10
+ exports.Input = _chunkAPMXMQPZjs.Input;
11
11
  //# sourceMappingURL=input.js.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  Input
4
- } from "../../chunk-REZO5TYB.mjs";
5
- import "../../chunk-F5XCCSBC.mjs";
4
+ } from "../../chunk-ABZ4SF2K.mjs";
5
+ import "../../chunk-KGUUDFJE.mjs";
6
6
  import "../../chunk-YOSPWY5K.mjs";
7
7
  export {
8
8
  Input
@@ -1,10 +1,9 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
1
  import * as React from 'react';
3
2
  import * as LabelPrimitive from '@radix-ui/react-label';
4
3
  import { VariantProps } from 'class-variance-authority';
5
4
 
6
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & {
5
+ declare const Label: React.ForwardRefExoticComponent<Omit<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<Component> & {
7
6
  required?: boolean;
8
- } & React.RefAttributes<HTMLLabelElement>>;
7
+ }, "ref"> & React.RefAttributes<HTMLLabelElement>>;
9
8
 
10
9
  export { Label };
@@ -1,10 +1,9 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
1
  import * as React from 'react';
3
2
  import * as LabelPrimitive from '@radix-ui/react-label';
4
3
  import { VariantProps } from 'class-variance-authority';
5
4
 
6
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & {
5
+ declare const Label: React.ForwardRefExoticComponent<Omit<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<Component> & {
7
6
  required?: boolean;
8
- } & React.RefAttributes<HTMLLabelElement>>;
7
+ }, "ref"> & React.RefAttributes<HTMLLabelElement>>;
9
8
 
10
9
  export { Label };
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkTUFO3JJEjs = require('../../chunk-TUFO3JJE.js');
6
- require('../../chunk-6N4WCMTE.js');
5
+ var _chunkKNNX4FAHjs = require('../../chunk-KNNX4FAH.js');
6
+ require('../../chunk-PSPAJNNB.js');
7
7
  require('../../chunk-2NMEKWO5.js');
8
8
 
9
9
 
10
- exports.Label = _chunkTUFO3JJEjs.Label;
10
+ exports.Label = _chunkKNNX4FAHjs.Label;
11
11
  //# sourceMappingURL=label.js.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  Label
4
- } from "../../chunk-JWENANTO.mjs";
5
- import "../../chunk-F5XCCSBC.mjs";
4
+ } from "../../chunk-NL4534LH.mjs";
5
+ import "../../chunk-KGUUDFJE.mjs";
6
6
  import "../../chunk-YOSPWY5K.mjs";
7
7
  export {
8
8
  Label