@egose/shadcn-theme 0.0.55 → 0.0.57

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 (503) hide show
  1. package/{chunk-FHSYSVS6.mjs → chunk-3EG2FEBB.mjs} +2 -2
  2. package/chunk-3EG2FEBB.mjs.map +1 -0
  3. package/{chunk-QDVJN4S3.mjs → chunk-3JEPUE5U.mjs} +2 -2
  4. package/chunk-3JEPUE5U.mjs.map +1 -0
  5. package/{chunk-4NMFJSJN.mjs → chunk-3MBQAHIV.mjs} +3 -3
  6. package/chunk-3MBQAHIV.mjs.map +1 -0
  7. package/{chunk-GI222XFX.js → chunk-3N6XHFX5.js} +8 -8
  8. package/chunk-3N6XHFX5.js.map +1 -0
  9. package/{chunk-ARQYTBBZ.mjs → chunk-3NTWG7HE.mjs} +4 -4
  10. package/chunk-3NTWG7HE.mjs.map +1 -0
  11. package/{chunk-4UZN52P7.mjs → chunk-3YYGE3VK.mjs} +2 -2
  12. package/chunk-3YYGE3VK.mjs.map +1 -0
  13. package/{chunk-MYO4WRNB.js → chunk-47W55SLI.js} +41 -41
  14. package/chunk-47W55SLI.js.map +1 -0
  15. package/{chunk-ZVBMRCE7.mjs → chunk-4R3RFMUA.mjs} +2 -2
  16. package/chunk-4R3RFMUA.mjs.map +1 -0
  17. package/{chunk-RSQ25E6Y.js → chunk-4R6IG6RY.js} +8 -8
  18. package/{chunk-RSQ25E6Y.js.map → chunk-4R6IG6RY.js.map} +1 -1
  19. package/{chunk-U3KAN7IM.js → chunk-4WSPRI6W.js} +8 -8
  20. package/chunk-4WSPRI6W.js.map +1 -0
  21. package/chunk-5BZZ2POS.js +90 -0
  22. package/chunk-5BZZ2POS.js.map +1 -0
  23. package/{chunk-F5XCCSBC.mjs → chunk-5FGLRP7F.mjs} +2 -2
  24. package/chunk-5FGLRP7F.mjs.map +1 -0
  25. package/{chunk-Z3VXGHCE.mjs → chunk-5OBKA7BC.mjs} +2 -2
  26. package/chunk-5OBKA7BC.mjs.map +1 -0
  27. package/{chunk-LE44LDOD.js → chunk-5SD2LAPD.js} +4 -4
  28. package/chunk-5SD2LAPD.js.map +1 -0
  29. package/{chunk-NK4XTZ5W.js → chunk-5YCF5QHQ.js} +3 -3
  30. package/chunk-5YCF5QHQ.js.map +1 -0
  31. package/{chunk-4XC6EXHZ.mjs → chunk-7CZZZXYP.mjs} +3 -3
  32. package/chunk-7CZZZXYP.mjs.map +1 -0
  33. package/{chunk-6N4WCMTE.js → chunk-7SJRI4U2.js} +2 -2
  34. package/chunk-7SJRI4U2.js.map +1 -0
  35. package/{chunk-A34GFF2E.js → chunk-7VXTDRET.js} +3 -3
  36. package/chunk-7VXTDRET.js.map +1 -0
  37. package/{chunk-NRHWGE26.mjs → chunk-A2MIZ2VR.mjs} +2 -2
  38. package/chunk-A2MIZ2VR.mjs.map +1 -0
  39. package/{chunk-LUIXCCN2.js → chunk-AL3RZ3FV.js} +3 -3
  40. package/{chunk-LUIXCCN2.js.map → chunk-AL3RZ3FV.js.map} +1 -1
  41. package/{chunk-FQQGM55E.js → chunk-AMABAT5T.js} +5 -5
  42. package/{chunk-FQQGM55E.js.map → chunk-AMABAT5T.js.map} +1 -1
  43. package/{chunk-EZZ2YCUU.js → chunk-BWGMEQWK.js} +5 -5
  44. package/chunk-BWGMEQWK.js.map +1 -0
  45. package/{chunk-YAPKDLRQ.mjs → chunk-CJWH2Z74.mjs} +2 -2
  46. package/chunk-CJWH2Z74.mjs.map +1 -0
  47. package/{chunk-37EH7QCX.mjs → chunk-CRMSEPRI.mjs} +2 -2
  48. package/chunk-CRMSEPRI.mjs.map +1 -0
  49. package/{chunk-YWWFTM23.js → chunk-D3TFBFUF.js} +5 -5
  50. package/chunk-D3TFBFUF.js.map +1 -0
  51. package/{chunk-JW7N7IR5.mjs → chunk-DAMOXG2O.mjs} +2 -2
  52. package/chunk-DAMOXG2O.mjs.map +1 -0
  53. package/{chunk-R7L4TN3C.mjs → chunk-DUDH3MCS.mjs} +2 -2
  54. package/chunk-DUDH3MCS.mjs.map +1 -0
  55. package/{chunk-73VYAPJR.js → chunk-DWKZ4CLC.js} +9 -9
  56. package/{chunk-PS7WGOZH.mjs.map → chunk-DWKZ4CLC.js.map} +1 -1
  57. package/{chunk-R4SF7CSA.mjs → chunk-DYCHNDBD.mjs} +4 -4
  58. package/chunk-DYCHNDBD.mjs.map +1 -0
  59. package/{chunk-LXILG667.mjs → chunk-DZYGP2N5.mjs} +4 -4
  60. package/chunk-DZYGP2N5.mjs.map +1 -0
  61. package/{chunk-M6C2FCM4.mjs → chunk-E2XRCWJR.mjs} +2 -2
  62. package/chunk-E2XRCWJR.mjs.map +1 -0
  63. package/{chunk-4FD63HEQ.js → chunk-EA4VCT6D.js} +9 -9
  64. package/chunk-EA4VCT6D.js.map +1 -0
  65. package/{chunk-LSKO74NV.js → chunk-EQXR5O7I.js} +3 -3
  66. package/chunk-EQXR5O7I.js.map +1 -0
  67. package/{chunk-2R34M7KI.mjs → chunk-EUN4GDKY.mjs} +2 -2
  68. package/chunk-EUN4GDKY.mjs.map +1 -0
  69. package/{chunk-OAAHNESN.mjs → chunk-FZJD242Q.mjs} +2 -2
  70. package/chunk-FZJD242Q.mjs.map +1 -0
  71. package/{chunk-PCR4GC74.js → chunk-G3BLPRHD.js} +11 -8
  72. package/chunk-G3BLPRHD.js.map +1 -0
  73. package/{chunk-TUFO3JJE.js → chunk-GJTP65HN.js} +3 -3
  74. package/{chunk-TUFO3JJE.js.map → chunk-GJTP65HN.js.map} +1 -1
  75. package/{chunk-NVBZVKIT.js → chunk-GMS5YDRZ.js} +7 -7
  76. package/{chunk-NVBZVKIT.js.map → chunk-GMS5YDRZ.js.map} +1 -1
  77. package/{chunk-RMDDLEPA.js → chunk-GS3J3SZ6.js} +3 -3
  78. package/{chunk-JW7N7IR5.mjs.map → chunk-GS3J3SZ6.js.map} +1 -1
  79. package/{chunk-REZO5TYB.mjs → chunk-HOXCVLLZ.mjs} +2 -2
  80. package/chunk-HOXCVLLZ.mjs.map +1 -0
  81. package/{chunk-O2ZEUVTY.js → chunk-I6VK7V52.js} +3 -3
  82. package/chunk-I6VK7V52.js.map +1 -0
  83. package/{chunk-CE4PBEIL.js → chunk-JWKM3SCQ.js} +10 -10
  84. package/chunk-JWKM3SCQ.js.map +1 -0
  85. package/{chunk-LQETWWSU.js → chunk-KFWAMOVZ.js} +2 -2
  86. package/chunk-KFWAMOVZ.js.map +1 -0
  87. package/{chunk-V4BQYO2M.mjs → chunk-KH4J42Q6.mjs} +2 -2
  88. package/chunk-KH4J42Q6.mjs.map +1 -0
  89. package/{chunk-OXTCSLHP.mjs → chunk-LQGPZAFC.mjs} +2 -2
  90. package/chunk-LQGPZAFC.mjs.map +1 -0
  91. package/{chunk-EJQJ3BCF.mjs → chunk-LUHSKITP.mjs} +6 -3
  92. package/chunk-LUHSKITP.mjs.map +1 -0
  93. package/{chunk-NTYWTGYX.mjs → chunk-MA4JO45Z.mjs} +4 -4
  94. package/chunk-MA4JO45Z.mjs.map +1 -0
  95. package/{chunk-QGXFFTPH.js → chunk-MBLSRGZ2.js} +4 -4
  96. package/chunk-MBLSRGZ2.js.map +1 -0
  97. package/{chunk-FMYITAWN.mjs → chunk-MFJGIGWT.mjs} +3 -3
  98. package/chunk-MFJGIGWT.mjs.map +1 -0
  99. package/{chunk-3BCL4OKX.mjs → chunk-MH2NPJBV.mjs} +37 -5
  100. package/chunk-MH2NPJBV.mjs.map +1 -0
  101. package/{chunk-TMC4JKD5.mjs → chunk-MZI4KLJI.mjs} +2 -2
  102. package/chunk-MZI4KLJI.mjs.map +1 -0
  103. package/{chunk-I64GW5SA.js → chunk-NIKJHOAI.js} +11 -11
  104. package/chunk-NIKJHOAI.js.map +1 -0
  105. package/{chunk-JWENANTO.mjs → chunk-NZHD5YZR.mjs} +2 -2
  106. package/chunk-NZHD5YZR.mjs.map +1 -0
  107. package/{chunk-DGYAXPSD.js → chunk-ODQJMPB6.js} +7 -7
  108. package/{chunk-DGYAXPSD.js.map → chunk-ODQJMPB6.js.map} +1 -1
  109. package/{chunk-2QMNPBOE.mjs → chunk-PDC3VSBR.mjs} +2 -2
  110. package/chunk-PDC3VSBR.mjs.map +1 -0
  111. package/{chunk-DTJ43DCW.mjs → chunk-QOEYYBTN.mjs} +6 -6
  112. package/chunk-QOEYYBTN.mjs.map +1 -0
  113. package/{chunk-DYUS5722.js → chunk-QX2O73EX.js} +13 -13
  114. package/{chunk-DYUS5722.js.map → chunk-QX2O73EX.js.map} +1 -1
  115. package/{chunk-XJ7GBFHV.js → chunk-QXM5SPL7.js} +6 -6
  116. package/{chunk-XJ7GBFHV.js.map → chunk-QXM5SPL7.js.map} +1 -1
  117. package/{chunk-JHUXWZVG.js → chunk-RCFYOQW3.js} +10 -10
  118. package/chunk-RCFYOQW3.js.map +1 -0
  119. package/{chunk-O7E6RNCD.mjs → chunk-RPY3K7KJ.mjs} +9 -9
  120. package/chunk-RPY3K7KJ.mjs.map +1 -0
  121. package/{chunk-E4SSD5P4.js → chunk-SN6A3NMR.js} +8 -8
  122. package/chunk-SN6A3NMR.js.map +1 -0
  123. package/{chunk-ACE5WNTU.mjs → chunk-SNRIGFVN.mjs} +8 -8
  124. package/chunk-SNRIGFVN.mjs.map +1 -0
  125. package/{chunk-AT6DBL5I.mjs → chunk-SVOYV633.mjs} +2 -2
  126. package/chunk-SVOYV633.mjs.map +1 -0
  127. package/{chunk-DSGXBKNS.js → chunk-TGB4GPS3.js} +8 -8
  128. package/chunk-TGB4GPS3.js.map +1 -0
  129. package/{chunk-ZJAFK7BR.mjs → chunk-TVJGKFMZ.mjs} +2 -2
  130. package/chunk-TVJGKFMZ.mjs.map +1 -0
  131. package/{chunk-YWILOKX4.mjs → chunk-VY32PQ6N.mjs} +3 -3
  132. package/chunk-VY32PQ6N.mjs.map +1 -0
  133. package/{chunk-CPGH6LBC.mjs → chunk-WE4IYC5U.mjs} +4 -4
  134. package/chunk-WE4IYC5U.mjs.map +1 -0
  135. package/{chunk-IC3ASFKZ.js → chunk-WS7VXL5F.js} +3 -3
  136. package/{chunk-IC3ASFKZ.js.map → chunk-WS7VXL5F.js.map} +1 -1
  137. package/{chunk-DMATER3M.mjs → chunk-WX6CB76L.mjs} +4 -4
  138. package/{chunk-PS7WGOZH.mjs → chunk-X75FMMME.mjs} +3 -3
  139. package/chunk-X75FMMME.mjs.map +1 -0
  140. package/{chunk-NI2SIUXO.js → chunk-XBXONBSD.js} +11 -11
  141. package/{chunk-IAJ2ZBSJ.mjs.map → chunk-XBXONBSD.js.map} +1 -1
  142. package/{chunk-V7M2UXTR.js → chunk-XEM6TC6M.js} +3 -3
  143. package/{chunk-V7M2UXTR.js.map → chunk-XEM6TC6M.js.map} +1 -1
  144. package/{chunk-ZOF6UW3D.js → chunk-YFATYRLC.js} +9 -9
  145. package/{chunk-ZOF6UW3D.js.map → chunk-YFATYRLC.js.map} +1 -1
  146. package/{chunk-54PLQ33F.mjs → chunk-YI3OGSQO.mjs} +8 -8
  147. package/chunk-YI3OGSQO.mjs.map +1 -0
  148. package/{chunk-W2N2NIVE.js → chunk-YLRHSC44.js} +3 -3
  149. package/chunk-YLRHSC44.js.map +1 -0
  150. package/{chunk-SCM23WSM.js → chunk-YPSTG2Q5.js} +5 -5
  151. package/chunk-YPSTG2Q5.js.map +1 -0
  152. package/{chunk-RY3M2GTK.js → chunk-ZFXJY65N.js} +14 -14
  153. package/{chunk-RY3M2GTK.js.map → chunk-ZFXJY65N.js.map} +1 -1
  154. package/{chunk-5HD5BGK7.js → chunk-ZHMIO6GX.js} +14 -14
  155. package/{chunk-5HD5BGK7.js.map → chunk-ZHMIO6GX.js.map} +1 -1
  156. package/{chunk-3T2PPKR3.js → chunk-ZP6XFQ45.js} +3 -3
  157. package/chunk-ZP6XFQ45.js.map +1 -0
  158. package/{chunk-IAJ2ZBSJ.mjs → chunk-ZUHAZXLZ.mjs} +2 -2
  159. package/chunk-ZUHAZXLZ.mjs.map +1 -0
  160. package/components/form/checkbox.js +5 -5
  161. package/components/form/checkbox.mjs +4 -4
  162. package/components/form/date-picker.js +9 -9
  163. package/components/form/date-picker.mjs +8 -8
  164. package/components/form/date-range-picker.js +13 -13
  165. package/components/form/date-range-picker.js.map +1 -1
  166. package/components/form/date-range-picker.mjs +9 -9
  167. package/components/form/date-range-picker.mjs.map +1 -1
  168. package/components/form/error.js +3 -3
  169. package/components/form/error.mjs +2 -2
  170. package/components/form/hook-checkbox.js +9 -9
  171. package/components/form/hook-checkbox.js.map +1 -1
  172. package/components/form/hook-checkbox.mjs +7 -7
  173. package/components/form/hook-checkbox.mjs.map +1 -1
  174. package/components/form/hook-date-picker.js +12 -12
  175. package/components/form/hook-date-picker.js.map +1 -1
  176. package/components/form/hook-date-picker.mjs +11 -11
  177. package/components/form/hook-date-picker.mjs.map +1 -1
  178. package/components/form/hook-native-select.js +8 -8
  179. package/components/form/hook-native-select.js.map +1 -1
  180. package/components/form/hook-native-select.mjs +4 -4
  181. package/components/form/hook-native-select.mjs.map +1 -1
  182. package/components/form/hook-searchable-select.js +12 -12
  183. package/components/form/hook-searchable-select.js.map +1 -1
  184. package/components/form/hook-searchable-select.mjs +9 -9
  185. package/components/form/hook-searchable-select.mjs.map +1 -1
  186. package/components/form/hook-select.js +8 -8
  187. package/components/form/hook-select.js.map +1 -1
  188. package/components/form/hook-select.mjs +5 -5
  189. package/components/form/hook-select.mjs.map +1 -1
  190. package/components/form/hook-text-input.js +9 -9
  191. package/components/form/hook-text-input.js.map +1 -1
  192. package/components/form/hook-text-input.mjs +5 -5
  193. package/components/form/hook-text-input.mjs.map +1 -1
  194. package/components/form/hook-textarea.js +9 -9
  195. package/components/form/hook-textarea.js.map +1 -1
  196. package/components/form/hook-textarea.mjs +5 -5
  197. package/components/form/hook-textarea.mjs.map +1 -1
  198. package/components/form/hook-time-input.js +10 -11
  199. package/components/form/hook-time-input.js.map +1 -1
  200. package/components/form/hook-time-input.mjs +6 -7
  201. package/components/form/hook-time-input.mjs.map +1 -1
  202. package/components/form/native-select.js +4 -4
  203. package/components/form/native-select.mjs +3 -3
  204. package/components/form/searchable-select.js +9 -9
  205. package/components/form/searchable-select.mjs +8 -8
  206. package/components/form/select.js +5 -5
  207. package/components/form/select.mjs +4 -4
  208. package/components/form/text-input.js +5 -5
  209. package/components/form/text-input.mjs +4 -4
  210. package/components/form/textarea.js +5 -5
  211. package/components/form/textarea.mjs +4 -4
  212. package/components/form/time-input.js +6 -7
  213. package/components/form/time-input.js.map +1 -1
  214. package/components/form/time-input.mjs +5 -6
  215. package/components/ui/accordion.js +4 -4
  216. package/components/ui/accordion.js.map +1 -1
  217. package/components/ui/accordion.mjs +1 -1
  218. package/components/ui/accordion.mjs.map +1 -1
  219. package/components/ui/alert-dialog.js +11 -11
  220. package/components/ui/alert-dialog.js.map +1 -1
  221. package/components/ui/alert-dialog.mjs +3 -3
  222. package/components/ui/alert-dialog.mjs.map +1 -1
  223. package/components/ui/alert.d.mts +2 -6
  224. package/components/ui/alert.d.ts +2 -6
  225. package/components/ui/alert.js +3 -3
  226. package/components/ui/alert.mjs +2 -2
  227. package/components/ui/avatar.js +3 -3
  228. package/components/ui/avatar.mjs +2 -2
  229. package/components/ui/badge.d.mts +2 -7
  230. package/components/ui/badge.d.ts +2 -7
  231. package/components/ui/badge.js +3 -3
  232. package/components/ui/badge.mjs +2 -2
  233. package/components/ui/basic-alert.d.mts +0 -1
  234. package/components/ui/basic-alert.d.ts +0 -1
  235. package/components/ui/basic-alert.js +3 -3
  236. package/components/ui/basic-alert.mjs +2 -2
  237. package/components/ui/breadcrumb.js +3 -3
  238. package/components/ui/breadcrumb.mjs +2 -2
  239. package/components/ui/button.d.mts +2 -8
  240. package/components/ui/button.d.ts +2 -8
  241. package/components/ui/button.js +4 -4
  242. package/components/ui/button.mjs +3 -3
  243. package/components/ui/calendar.js +5 -5
  244. package/components/ui/calendar.mjs +4 -4
  245. package/components/ui/card.js +7 -7
  246. package/components/ui/card.js.map +1 -1
  247. package/components/ui/card.mjs +1 -1
  248. package/components/ui/card.mjs.map +1 -1
  249. package/components/ui/carousel.d.mts +2 -3
  250. package/components/ui/carousel.d.ts +2 -3
  251. package/components/ui/carousel.js +10 -10
  252. package/components/ui/carousel.js.map +1 -1
  253. package/components/ui/carousel.mjs +3 -3
  254. package/components/ui/carousel.mjs.map +1 -1
  255. package/components/ui/checkbox.js +3 -3
  256. package/components/ui/checkbox.mjs +2 -2
  257. package/components/ui/command.js +4 -4
  258. package/components/ui/command.mjs +3 -3
  259. package/components/ui/context-menu.js +10 -10
  260. package/components/ui/context-menu.js.map +1 -1
  261. package/components/ui/context-menu.mjs +1 -1
  262. package/components/ui/context-menu.mjs.map +1 -1
  263. package/components/ui/copy-button.js +6 -6
  264. package/components/ui/copy-button.js.map +1 -1
  265. package/components/ui/copy-button.mjs +2 -2
  266. package/components/ui/copy-button.mjs.map +1 -1
  267. package/components/ui/dialog.js +3 -3
  268. package/components/ui/dialog.mjs +2 -2
  269. package/components/ui/drawer.d.mts +11 -22
  270. package/components/ui/drawer.d.ts +11 -22
  271. package/components/ui/drawer.js +64 -38
  272. package/components/ui/drawer.js.map +1 -1
  273. package/components/ui/drawer.mjs +63 -37
  274. package/components/ui/drawer.mjs.map +1 -1
  275. package/components/ui/dropdown-menu.js +3 -3
  276. package/components/ui/dropdown-menu.mjs +2 -2
  277. package/components/ui/extension/file-input.js +5 -5
  278. package/components/ui/extension/file-input.mjs +4 -4
  279. package/components/ui/extension/multi-select.js +15 -15
  280. package/components/ui/extension/multi-select.js.map +1 -1
  281. package/components/ui/extension/multi-select.mjs +4 -4
  282. package/components/ui/extension/multi-select.mjs.map +1 -1
  283. package/components/ui/form.js +6 -6
  284. package/components/ui/form.js.map +1 -1
  285. package/components/ui/form.mjs +2 -2
  286. package/components/ui/form.mjs.map +1 -1
  287. package/components/ui/hover-card.js +2 -2
  288. package/components/ui/hover-card.js.map +1 -1
  289. package/components/ui/hover-card.mjs +1 -1
  290. package/components/ui/hover-card.mjs.map +1 -1
  291. package/components/ui/input-otp.js +5 -5
  292. package/components/ui/input-otp.js.map +1 -1
  293. package/components/ui/input-otp.mjs +1 -1
  294. package/components/ui/input-otp.mjs.map +1 -1
  295. package/components/ui/input.js +3 -3
  296. package/components/ui/input.mjs +2 -2
  297. package/components/ui/label.d.mts +2 -3
  298. package/components/ui/label.d.ts +2 -3
  299. package/components/ui/label.js +3 -3
  300. package/components/ui/label.mjs +2 -2
  301. package/components/ui/menubar.js +12 -12
  302. package/components/ui/menubar.js.map +1 -1
  303. package/components/ui/menubar.mjs +1 -1
  304. package/components/ui/menubar.mjs.map +1 -1
  305. package/components/ui/navigation-menu.d.mts +1 -2
  306. package/components/ui/navigation-menu.d.ts +1 -2
  307. package/components/ui/navigation-menu.js +8 -8
  308. package/components/ui/navigation-menu.js.map +1 -1
  309. package/components/ui/navigation-menu.mjs +1 -1
  310. package/components/ui/navigation-menu.mjs.map +1 -1
  311. package/components/ui/pagination.d.mts +0 -1
  312. package/components/ui/pagination.d.ts +0 -1
  313. package/components/ui/pagination.js +11 -11
  314. package/components/ui/pagination.js.map +1 -1
  315. package/components/ui/pagination.mjs +3 -3
  316. package/components/ui/pagination.mjs.map +1 -1
  317. package/components/ui/popover.js +3 -3
  318. package/components/ui/popover.mjs +2 -2
  319. package/components/ui/progress.js +2 -2
  320. package/components/ui/progress.js.map +1 -1
  321. package/components/ui/progress.mjs +1 -1
  322. package/components/ui/progress.mjs.map +1 -1
  323. package/components/ui/radio-group.js +3 -3
  324. package/components/ui/radio-group.js.map +1 -1
  325. package/components/ui/radio-group.mjs +1 -1
  326. package/components/ui/radio-group.mjs.map +1 -1
  327. package/components/ui/resizable.js +3 -3
  328. package/components/ui/resizable.js.map +1 -1
  329. package/components/ui/resizable.mjs +1 -1
  330. package/components/ui/resizable.mjs.map +1 -1
  331. package/components/ui/scroll-area.js +3 -3
  332. package/components/ui/scroll-area.js.map +1 -1
  333. package/components/ui/scroll-area.mjs +1 -1
  334. package/components/ui/scroll-area.mjs.map +1 -1
  335. package/components/ui/select.js +3 -3
  336. package/components/ui/select.mjs +2 -2
  337. package/components/ui/separator.js +3 -3
  338. package/components/ui/separator.mjs +2 -2
  339. package/components/ui/sheet.d.mts +2 -5
  340. package/components/ui/sheet.d.ts +2 -5
  341. package/components/ui/sheet.js +3 -3
  342. package/components/ui/sheet.mjs +2 -2
  343. package/components/ui/sidebar.d.mts +2 -6
  344. package/components/ui/sidebar.d.ts +2 -6
  345. package/components/ui/sidebar.js +10 -10
  346. package/components/ui/sidebar.mjs +9 -9
  347. package/components/ui/skeleton.js +3 -3
  348. package/components/ui/skeleton.mjs +2 -2
  349. package/components/ui/slider.js +2 -2
  350. package/components/ui/slider.js.map +1 -1
  351. package/components/ui/slider.mjs +1 -1
  352. package/components/ui/slider.mjs.map +1 -1
  353. package/components/ui/spinner.d.mts +2 -7
  354. package/components/ui/spinner.d.ts +2 -7
  355. package/components/ui/spinner.js +3 -3
  356. package/components/ui/spinner.mjs +2 -2
  357. package/components/ui/switch.js +3 -3
  358. package/components/ui/switch.js.map +1 -1
  359. package/components/ui/switch.mjs +1 -1
  360. package/components/ui/switch.mjs.map +1 -1
  361. package/components/ui/table.js +9 -9
  362. package/components/ui/table.js.map +1 -1
  363. package/components/ui/table.mjs +1 -1
  364. package/components/ui/table.mjs.map +1 -1
  365. package/components/ui/tabs.js +4 -4
  366. package/components/ui/tabs.js.map +1 -1
  367. package/components/ui/tabs.mjs +1 -1
  368. package/components/ui/tabs.mjs.map +1 -1
  369. package/components/ui/textarea.js +3 -3
  370. package/components/ui/textarea.mjs +2 -2
  371. package/components/ui/toast.d.mts +1 -4
  372. package/components/ui/toast.d.ts +1 -4
  373. package/components/ui/toast.js +3 -3
  374. package/components/ui/toast.mjs +2 -2
  375. package/components/ui/toaster.js +5 -5
  376. package/components/ui/toaster.mjs +2 -2
  377. package/components/ui/toggle-group.d.mts +3 -10
  378. package/components/ui/toggle-group.d.ts +3 -10
  379. package/components/ui/toggle-group.js +5 -5
  380. package/components/ui/toggle-group.js.map +1 -1
  381. package/components/ui/toggle-group.mjs +2 -2
  382. package/components/ui/toggle-group.mjs.map +1 -1
  383. package/components/ui/toggle.d.mts +2 -9
  384. package/components/ui/toggle.d.ts +2 -9
  385. package/components/ui/toggle.js +3 -3
  386. package/components/ui/toggle.mjs +2 -2
  387. package/components/ui/tooltip.js +3 -3
  388. package/components/ui/tooltip.mjs +2 -2
  389. package/hooks/use-toast.d.mts +0 -1
  390. package/hooks/use-toast.d.ts +0 -1
  391. package/layouts/sidebar1/app-sidebar.d.mts +0 -1
  392. package/layouts/sidebar1/app-sidebar.d.ts +0 -1
  393. package/layouts/sidebar1/app-sidebar.js +16 -16
  394. package/layouts/sidebar1/app-sidebar.mjs +15 -15
  395. package/layouts/sidebar1/context-switcher.js +12 -12
  396. package/layouts/sidebar1/context-switcher.mjs +11 -11
  397. package/layouts/sidebar1/index.d.mts +0 -1
  398. package/layouts/sidebar1/index.d.ts +0 -1
  399. package/layouts/sidebar1/index.js +19 -19
  400. package/layouts/sidebar1/index.js.map +1 -1
  401. package/layouts/sidebar1/index.mjs +17 -17
  402. package/layouts/sidebar1/nav-menus.d.mts +2 -0
  403. package/layouts/sidebar1/nav-menus.d.ts +2 -0
  404. package/layouts/sidebar1/nav-menus.js +11 -11
  405. package/layouts/sidebar1/nav-menus.mjs +10 -10
  406. package/layouts/sidebar1/nav-user.js +13 -13
  407. package/layouts/sidebar1/nav-user.mjs +12 -12
  408. package/layouts/simple/index.js +17 -17
  409. package/layouts/simple/index.js.map +1 -1
  410. package/layouts/simple/index.mjs +4 -4
  411. package/layouts/simple/index.mjs.map +1 -1
  412. package/layouts/simple/mobile-menu.js +3 -3
  413. package/layouts/simple/mobile-menu.mjs +2 -2
  414. package/layouts/simple/user-menu.js +4 -4
  415. package/layouts/simple/user-menu.mjs +3 -3
  416. package/package.json +5 -5
  417. package/chunk-2QMNPBOE.mjs.map +0 -1
  418. package/chunk-2R34M7KI.mjs.map +0 -1
  419. package/chunk-37EH7QCX.mjs.map +0 -1
  420. package/chunk-3BCL4OKX.mjs.map +0 -1
  421. package/chunk-3T2PPKR3.js.map +0 -1
  422. package/chunk-4FD63HEQ.js.map +0 -1
  423. package/chunk-4NMFJSJN.mjs.map +0 -1
  424. package/chunk-4UZN52P7.mjs.map +0 -1
  425. package/chunk-4XC6EXHZ.mjs.map +0 -1
  426. package/chunk-4YSHGGKX.js +0 -58
  427. package/chunk-4YSHGGKX.js.map +0 -1
  428. package/chunk-54PLQ33F.mjs.map +0 -1
  429. package/chunk-6KUUJF3I.js +0 -42
  430. package/chunk-6KUUJF3I.js.map +0 -1
  431. package/chunk-6N4WCMTE.js.map +0 -1
  432. package/chunk-73VYAPJR.js.map +0 -1
  433. package/chunk-A34GFF2E.js.map +0 -1
  434. package/chunk-ACE5WNTU.mjs.map +0 -1
  435. package/chunk-ARQYTBBZ.mjs.map +0 -1
  436. package/chunk-AT6DBL5I.mjs.map +0 -1
  437. package/chunk-CE4PBEIL.js.map +0 -1
  438. package/chunk-CPGH6LBC.mjs.map +0 -1
  439. package/chunk-CTYAFVU5.mjs +0 -41
  440. package/chunk-CTYAFVU5.mjs.map +0 -1
  441. package/chunk-DSGXBKNS.js.map +0 -1
  442. package/chunk-DTJ43DCW.mjs.map +0 -1
  443. package/chunk-E4SSD5P4.js.map +0 -1
  444. package/chunk-EJQJ3BCF.mjs.map +0 -1
  445. package/chunk-EZZ2YCUU.js.map +0 -1
  446. package/chunk-F5XCCSBC.mjs.map +0 -1
  447. package/chunk-FHSYSVS6.mjs.map +0 -1
  448. package/chunk-FMYITAWN.mjs.map +0 -1
  449. package/chunk-GI222XFX.js.map +0 -1
  450. package/chunk-I64GW5SA.js.map +0 -1
  451. package/chunk-JHUXWZVG.js.map +0 -1
  452. package/chunk-JWENANTO.mjs.map +0 -1
  453. package/chunk-LE44LDOD.js.map +0 -1
  454. package/chunk-LQETWWSU.js.map +0 -1
  455. package/chunk-LSKO74NV.js.map +0 -1
  456. package/chunk-LXILG667.mjs.map +0 -1
  457. package/chunk-M6C2FCM4.mjs.map +0 -1
  458. package/chunk-MYO4WRNB.js.map +0 -1
  459. package/chunk-NI2SIUXO.js.map +0 -1
  460. package/chunk-NK4XTZ5W.js.map +0 -1
  461. package/chunk-NRHWGE26.mjs.map +0 -1
  462. package/chunk-NTYWTGYX.mjs.map +0 -1
  463. package/chunk-O2ZEUVTY.js.map +0 -1
  464. package/chunk-O7E6RNCD.mjs.map +0 -1
  465. package/chunk-OAAHNESN.mjs.map +0 -1
  466. package/chunk-OXTCSLHP.mjs.map +0 -1
  467. package/chunk-PCR4GC74.js.map +0 -1
  468. package/chunk-QDVJN4S3.mjs.map +0 -1
  469. package/chunk-QGXFFTPH.js.map +0 -1
  470. package/chunk-R4SF7CSA.mjs.map +0 -1
  471. package/chunk-R7L4TN3C.mjs.map +0 -1
  472. package/chunk-REZO5TYB.mjs.map +0 -1
  473. package/chunk-RMDDLEPA.js.map +0 -1
  474. package/chunk-SCM23WSM.js.map +0 -1
  475. package/chunk-TMC4JKD5.mjs.map +0 -1
  476. package/chunk-U3KAN7IM.js.map +0 -1
  477. package/chunk-V4BQYO2M.mjs.map +0 -1
  478. package/chunk-W2N2NIVE.js.map +0 -1
  479. package/chunk-YAPKDLRQ.mjs.map +0 -1
  480. package/chunk-YWILOKX4.mjs.map +0 -1
  481. package/chunk-YWWFTM23.js.map +0 -1
  482. package/chunk-Z3VXGHCE.mjs.map +0 -1
  483. package/chunk-ZJAFK7BR.mjs.map +0 -1
  484. package/chunk-ZVBMRCE7.mjs.map +0 -1
  485. package/lib/date.d.mts +0 -4
  486. package/lib/date.d.ts +0 -4
  487. package/lib/date.js +0 -12
  488. package/lib/date.js.map +0 -1
  489. package/lib/date.mjs +0 -11
  490. package/lib/date.mjs.map +0 -1
  491. package/lib/number.d.mts +0 -7
  492. package/lib/number.d.ts +0 -7
  493. package/lib/number.js +0 -14
  494. package/lib/number.js.map +0 -1
  495. package/lib/number.mjs +0 -13
  496. package/lib/number.mjs.map +0 -1
  497. package/lib/utils.d.mts +0 -5
  498. package/lib/utils.d.ts +0 -5
  499. package/lib/utils.js +0 -10
  500. package/lib/utils.js.map +0 -1
  501. package/lib/utils.mjs +0 -9
  502. package/lib/utils.mjs.map +0 -1
  503. /package/{chunk-DMATER3M.mjs.map → chunk-WX6CB76L.mjs.map} +0 -0
@@ -16,8 +16,8 @@
16
16
 
17
17
 
18
18
 
19
- var _chunkNI2SIUXOjs = require('../../chunk-NI2SIUXO.js');
20
- require('../../chunk-6N4WCMTE.js');
19
+ var _chunkXBXONBSDjs = require('../../chunk-XBXONBSD.js');
20
+ require('../../chunk-7SJRI4U2.js');
21
21
  require('../../chunk-2NMEKWO5.js');
22
22
 
23
23
 
@@ -35,5 +35,5 @@ require('../../chunk-2NMEKWO5.js');
35
35
 
36
36
 
37
37
 
38
- exports.DropdownMenu = _chunkNI2SIUXOjs.DropdownMenu; exports.DropdownMenuCheckboxItem = _chunkNI2SIUXOjs.DropdownMenuCheckboxItem; exports.DropdownMenuContent = _chunkNI2SIUXOjs.DropdownMenuContent; exports.DropdownMenuGroup = _chunkNI2SIUXOjs.DropdownMenuGroup; exports.DropdownMenuItem = _chunkNI2SIUXOjs.DropdownMenuItem; exports.DropdownMenuLabel = _chunkNI2SIUXOjs.DropdownMenuLabel; exports.DropdownMenuPortal = _chunkNI2SIUXOjs.DropdownMenuPortal; exports.DropdownMenuRadioGroup = _chunkNI2SIUXOjs.DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = _chunkNI2SIUXOjs.DropdownMenuRadioItem; exports.DropdownMenuSeparator = _chunkNI2SIUXOjs.DropdownMenuSeparator; exports.DropdownMenuShortcut = _chunkNI2SIUXOjs.DropdownMenuShortcut; exports.DropdownMenuSub = _chunkNI2SIUXOjs.DropdownMenuSub; exports.DropdownMenuSubContent = _chunkNI2SIUXOjs.DropdownMenuSubContent; exports.DropdownMenuSubTrigger = _chunkNI2SIUXOjs.DropdownMenuSubTrigger; exports.DropdownMenuTrigger = _chunkNI2SIUXOjs.DropdownMenuTrigger;
38
+ exports.DropdownMenu = _chunkXBXONBSDjs.DropdownMenu; exports.DropdownMenuCheckboxItem = _chunkXBXONBSDjs.DropdownMenuCheckboxItem; exports.DropdownMenuContent = _chunkXBXONBSDjs.DropdownMenuContent; exports.DropdownMenuGroup = _chunkXBXONBSDjs.DropdownMenuGroup; exports.DropdownMenuItem = _chunkXBXONBSDjs.DropdownMenuItem; exports.DropdownMenuLabel = _chunkXBXONBSDjs.DropdownMenuLabel; exports.DropdownMenuPortal = _chunkXBXONBSDjs.DropdownMenuPortal; exports.DropdownMenuRadioGroup = _chunkXBXONBSDjs.DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = _chunkXBXONBSDjs.DropdownMenuRadioItem; exports.DropdownMenuSeparator = _chunkXBXONBSDjs.DropdownMenuSeparator; exports.DropdownMenuShortcut = _chunkXBXONBSDjs.DropdownMenuShortcut; exports.DropdownMenuSub = _chunkXBXONBSDjs.DropdownMenuSub; exports.DropdownMenuSubContent = _chunkXBXONBSDjs.DropdownMenuSubContent; exports.DropdownMenuSubTrigger = _chunkXBXONBSDjs.DropdownMenuSubTrigger; exports.DropdownMenuTrigger = _chunkXBXONBSDjs.DropdownMenuTrigger;
39
39
  //# sourceMappingURL=dropdown-menu.js.map
@@ -15,8 +15,8 @@ import {
15
15
  DropdownMenuSubContent,
16
16
  DropdownMenuSubTrigger,
17
17
  DropdownMenuTrigger
18
- } from "../../chunk-IAJ2ZBSJ.mjs";
19
- import "../../chunk-F5XCCSBC.mjs";
18
+ } from "../../chunk-ZUHAZXLZ.mjs";
19
+ import "../../chunk-5FGLRP7F.mjs";
20
20
  import "../../chunk-YOSPWY5K.mjs";
21
21
  export {
22
22
  DropdownMenu,
@@ -2,12 +2,12 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkW2N2NIVEjs = require('../../../chunk-W2N2NIVE.js');
5
+ var _chunkYLRHSC44js = require('../../../chunk-YLRHSC44.js');
6
6
 
7
7
 
8
- var _chunkEZZ2YCUUjs = require('../../../chunk-EZZ2YCUU.js');
9
- require('../../../chunk-A34GFF2E.js');
10
- require('../../../chunk-6N4WCMTE.js');
8
+ var _chunkBWGMEQWKjs = require('../../../chunk-BWGMEQWK.js');
9
+ require('../../../chunk-7VXTDRET.js');
10
+ require('../../../chunk-7SJRI4U2.js');
11
11
 
12
12
 
13
13
 
@@ -18,7 +18,7 @@ var _react = require('react');
18
18
  var FileInputAsButton = _react.forwardRef.call(void 0,
19
19
  (_a, ref) => {
20
20
  var _b = _a, { children, id = "file-upload", accept = "*", className, loading } = _b, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["children", "id", "accept", "className", "loading"]);
21
- return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(_chunkW2N2NIVEjs.Input, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, id, type: "file", accept, className: `sr-only ${className != null ? className : ""}` }, rest)), /* @__PURE__ */ React.createElement("label", { htmlFor: id }, /* @__PURE__ */ React.createElement(_chunkEZZ2YCUUjs.Button, { size: "sm", asChild: true, loading }, children)));
21
+ return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(_chunkYLRHSC44js.Input, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, id, type: "file", accept, className: `sr-only ${className != null ? className : ""}` }, rest)), /* @__PURE__ */ React.createElement("label", { htmlFor: id }, /* @__PURE__ */ React.createElement(_chunkBWGMEQWKjs.Button, { size: "sm", asChild: true, loading }, children)));
22
22
  }
23
23
  );
24
24
  FileInputAsButton.displayName = "FileInputAsButton";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  Input
4
- } from "../../../chunk-REZO5TYB.mjs";
4
+ } from "../../../chunk-HOXCVLLZ.mjs";
5
5
  import {
6
6
  Button
7
- } from "../../../chunk-4NMFJSJN.mjs";
8
- import "../../../chunk-NRHWGE26.mjs";
9
- import "../../../chunk-F5XCCSBC.mjs";
7
+ } from "../../../chunk-3MBQAHIV.mjs";
8
+ import "../../../chunk-A2MIZ2VR.mjs";
9
+ import "../../../chunk-5FGLRP7F.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadValues
@@ -2,17 +2,17 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3
3
 
4
4
 
5
- var _chunkRMDDLEPAjs = require('../../../chunk-RMDDLEPA.js');
5
+ var _chunkGS3J3SZ6js = require('../../../chunk-GS3J3SZ6.js');
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunkI64GW5SAjs = require('../../../chunk-I64GW5SA.js');
12
- require('../../../chunk-U3KAN7IM.js');
11
+ var _chunkNIKJHOAIjs = require('../../../chunk-NIKJHOAI.js');
12
+ require('../../../chunk-4WSPRI6W.js');
13
13
 
14
14
 
15
- var _chunk6N4WCMTEjs = require('../../../chunk-6N4WCMTE.js');
15
+ var _chunk7SJRI4U2js = require('../../../chunk-7SJRI4U2.js');
16
16
 
17
17
 
18
18
 
@@ -161,10 +161,10 @@ var MultiSelector = (_a) => {
161
161
  }
162
162
  },
163
163
  /* @__PURE__ */ _react2.default.createElement(
164
- _chunkI64GW5SAjs.Command,
164
+ _chunkNIKJHOAIjs.Command,
165
165
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
166
166
  onKeyDown: handleKeyDown,
167
- className: _chunk6N4WCMTEjs.cn.call(void 0, "overflow-visible bg-transparent flex flex-col space-y-2", className),
167
+ className: _chunk7SJRI4U2js.cn.call(void 0, "overflow-visible bg-transparent flex flex-col space-y-2", className),
168
168
  dir
169
169
  }, props),
170
170
  children
@@ -183,7 +183,7 @@ var MultiSelectorTrigger = _react.forwardRef.call(void 0,
183
183
  "div",
184
184
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
185
185
  ref,
186
- className: _chunk6N4WCMTEjs.cn.call(void 0,
186
+ className: _chunk7SJRI4U2js.cn.call(void 0,
187
187
  "flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm",
188
188
  {
189
189
  "ring-1 focus-within:ring-ring": activeIndex === -1
@@ -192,10 +192,10 @@ var MultiSelectorTrigger = _react.forwardRef.call(void 0,
192
192
  )
193
193
  }, props),
194
194
  value.map((item, index) => /* @__PURE__ */ _react2.default.createElement(
195
- _chunkRMDDLEPAjs.Badge,
195
+ _chunkGS3J3SZ6js.Badge,
196
196
  {
197
197
  key: item.value,
198
- className: _chunk6N4WCMTEjs.cn.call(void 0,
198
+ className: _chunk7SJRI4U2js.cn.call(void 0,
199
199
  "px-1.5 rounded-md flex items-center gap-1",
200
200
  activeIndex === index && "ring-2 ring-muted-foreground "
201
201
  ),
@@ -236,7 +236,7 @@ var MultiSelectorInput = _react.forwardRef.call(void 0, (_a, ref) => {
236
236
  },
237
237
  onFocus: () => setOpen(true),
238
238
  onClick: () => setActiveIndex(-1),
239
- className: _chunk6N4WCMTEjs.cn.call(void 0,
239
+ className: _chunk7SJRI4U2js.cn.call(void 0,
240
240
  "p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm",
241
241
  className,
242
242
  activeIndex !== -1 && "caret-transparent"
@@ -252,16 +252,16 @@ var MultiSelectorContent = _react.forwardRef.call(void 0, ({ children }, ref) =>
252
252
  MultiSelectorContent.displayName = "MultiSelectorContent";
253
253
  var MultiSelectorList = _react.forwardRef.call(void 0, ({ className, children }, ref) => {
254
254
  return /* @__PURE__ */ _react2.default.createElement(
255
- _chunkI64GW5SAjs.CommandList,
255
+ _chunkNIKJHOAIjs.CommandList,
256
256
  {
257
257
  ref,
258
- className: _chunk6N4WCMTEjs.cn.call(void 0,
258
+ className: _chunk7SJRI4U2js.cn.call(void 0,
259
259
  "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",
260
260
  className
261
261
  )
262
262
  },
263
263
  children,
264
- /* @__PURE__ */ _react2.default.createElement(_chunkI64GW5SAjs.CommandEmpty, null, /* @__PURE__ */ _react2.default.createElement("span", { className: "text-muted-foreground" }, "No results found"))
264
+ /* @__PURE__ */ _react2.default.createElement(_chunkNIKJHOAIjs.CommandEmpty, null, /* @__PURE__ */ _react2.default.createElement("span", { className: "text-muted-foreground" }, "No results found"))
265
265
  );
266
266
  });
267
267
  MultiSelectorList.displayName = "MultiSelectorList";
@@ -277,7 +277,7 @@ var MultiSelectorItem = _react.forwardRef.call(void 0, (_a, ref) => {
277
277
  label
278
278
  }) !== -1;
279
279
  return /* @__PURE__ */ _react2.default.createElement(
280
- _chunkI64GW5SAjs.CommandItem,
280
+ _chunkNIKJHOAIjs.CommandItem,
281
281
  _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
282
282
  ref
283
283
  }, props), {
@@ -288,7 +288,7 @@ var MultiSelectorItem = _react.forwardRef.call(void 0, (_a, ref) => {
288
288
  });
289
289
  setInputValue("");
290
290
  },
291
- className: _chunk6N4WCMTEjs.cn.call(void 0,
291
+ className: _chunk7SJRI4U2js.cn.call(void 0,
292
292
  "rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between",
293
293
  className,
294
294
  isIncluded && "opacity-50 cursor-default",
@@ -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":"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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 '../../../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-DAMOXG2O.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-7CZZZXYP.mjs";
11
+ import "../../../chunk-CJWH2Z74.mjs";
12
12
  import {
13
13
  cn
14
- } from "../../../chunk-F5XCCSBC.mjs";
14
+ } from "../../../chunk-5FGLRP7F.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 _chunkGJTP65HNjs = require('../../chunk-GJTP65HN.js');
6
6
 
7
7
 
8
- var _chunk6N4WCMTEjs = require('../../chunk-6N4WCMTE.js');
8
+ var _chunk7SJRI4U2js = require('../../chunk-7SJRI4U2.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: _chunk7SJRI4U2js.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(_chunkGJTP65HNjs.Label, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunk7SJRI4U2js.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: _chunk7SJRI4U2js.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: _chunk7SJRI4U2js.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-NZHD5YZR.mjs";
5
5
  import {
6
6
  cn
7
- } from "../../chunk-F5XCCSBC.mjs";
7
+ } from "../../chunk-5FGLRP7F.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":"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","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 _chunk7SJRI4U2js = require('../../chunk-7SJRI4U2.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: _chunk7SJRI4U2js.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-5FGLRP7F.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":[]}