@customafk/lunas-ui 0.0.80 → 0.0.81

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 (691) hide show
  1. package/dist/{add-new-DfniMrHa.js → add-new-BFJvt2an.js} +2 -2
  2. package/dist/add-new-BFJvt2an.js.map +1 -0
  3. package/dist/add-new-Bt5QaeJs.cjs +2 -0
  4. package/dist/add-new-Bt5QaeJs.cjs.map +1 -0
  5. package/dist/alert-dialog-B-m2RVMu.cjs +2 -0
  6. package/dist/alert-dialog-B-m2RVMu.cjs.map +1 -0
  7. package/dist/{alert-dialog-UwGNuTYk.js → alert-dialog-DcQKEgVC.js} +1 -1
  8. package/dist/alert-dialog-DcQKEgVC.js.map +1 -0
  9. package/dist/avatar-DmMCBvb6.cjs +2 -0
  10. package/dist/avatar-DmMCBvb6.cjs.map +1 -0
  11. package/dist/avatar-iX5Jhj8E.js.map +1 -1
  12. package/dist/badge-AM9m3CFI.cjs +2 -0
  13. package/dist/badge-AM9m3CFI.cjs.map +1 -0
  14. package/dist/badge-tjlLdDGl.js.map +1 -1
  15. package/dist/button-BaLuKPtr.cjs +2 -0
  16. package/dist/button-BaLuKPtr.cjs.map +1 -0
  17. package/dist/{button-DhQJ9Ey8.js → button-CYsnwc1-.js} +2 -2
  18. package/dist/button-CYsnwc1-.js.map +1 -0
  19. package/dist/{button-CGIJb6H5.d.cts → button-D6hzitQh.d.cts} +6 -6
  20. package/dist/{button-BdYhnlA1.d.ts → button-DKcU4dim.d.ts} +6 -6
  21. package/dist/button-variants-DdVxfrSx.cjs +2 -0
  22. package/dist/button-variants-DdVxfrSx.cjs.map +1 -0
  23. package/dist/button-variants-Y1GTBayz.js.map +1 -1
  24. package/dist/calendar-C4zLgISS.cjs +2 -0
  25. package/dist/calendar-C4zLgISS.cjs.map +1 -0
  26. package/dist/{calendar-C2yGJ9AV.js → calendar-Dmq8I1ey.js} +2 -2
  27. package/dist/calendar-Dmq8I1ey.js.map +1 -0
  28. package/dist/card-CkKO-0o0.cjs +2 -0
  29. package/dist/card-CkKO-0o0.cjs.map +1 -0
  30. package/dist/card-DOv2mZU8.js.map +1 -1
  31. package/dist/cards/grid-product-card.cjs +1 -1
  32. package/dist/cards/grid-product-card.cjs.map +1 -1
  33. package/dist/cards/grid-product-card.js +1 -1
  34. package/dist/cards/grid-product-card.js.map +1 -1
  35. package/dist/cards/product-card.cjs +1 -1
  36. package/dist/cards/product-card.cjs.map +1 -1
  37. package/dist/cards/product-card.js +1 -1
  38. package/dist/cards/product-card.js.map +1 -1
  39. package/dist/cards/simple-card.cjs +1 -1
  40. package/dist/cards/simple-card.cjs.map +1 -1
  41. package/dist/cards/simple-card.js.map +1 -1
  42. package/dist/{command-BWvqtwPS.d.cts → command-BCHEIInv.d.cts} +12 -12
  43. package/dist/command-C13pL2M3.cjs +2 -0
  44. package/dist/command-C13pL2M3.cjs.map +1 -0
  45. package/dist/{command-B23xCgK_.d.ts → command-KnD1dAzj.d.ts} +12 -12
  46. package/dist/{command-DhSE6UaR.js → command-UXLmHGja.js} +2 -2
  47. package/dist/command-UXLmHGja.js.map +1 -0
  48. package/dist/data-display/country.cjs +1 -1
  49. package/dist/data-display/country.cjs.map +1 -1
  50. package/dist/data-display/country.d.ts +1 -1
  51. package/dist/data-display/country.js.map +1 -1
  52. package/dist/data-display/data-list.cjs +1 -1
  53. package/dist/data-display/data-list.cjs.map +1 -1
  54. package/dist/data-display/data-list.js.map +1 -1
  55. package/dist/data-display/date-tooltip.cjs +1 -1
  56. package/dist/data-display/date-tooltip.cjs.map +1 -1
  57. package/dist/data-display/date-tooltip.js +1 -1
  58. package/dist/data-display/date-tooltip.js.map +1 -1
  59. package/dist/data-display/date.cjs +1 -1
  60. package/dist/data-display/date.js +1 -1
  61. package/dist/data-display/empty.cjs +1 -1
  62. package/dist/data-display/empty.cjs.map +1 -1
  63. package/dist/data-display/empty.d.cts +2 -2
  64. package/dist/data-display/empty.js.map +1 -1
  65. package/dist/data-display/name.cjs +1 -1
  66. package/dist/data-display/name.cjs.map +1 -1
  67. package/dist/data-display/name.js.map +1 -1
  68. package/dist/data-display/phone-number.cjs +1 -1
  69. package/dist/data-display/phone-number.cjs.map +1 -1
  70. package/dist/data-display/phone-number.js.map +1 -1
  71. package/dist/data-display/role-badge.cjs +1 -1
  72. package/dist/data-display/role-badge.cjs.map +1 -1
  73. package/dist/data-display/role-badge.d.ts +1 -1
  74. package/dist/data-display/role-badge.js.map +1 -1
  75. package/dist/data-display/statistic.cjs +1 -1
  76. package/dist/data-display/statistic.cjs.map +1 -1
  77. package/dist/data-display/statistic.d.ts +2 -2
  78. package/dist/data-display/statistic.js +1 -1
  79. package/dist/data-display/statistic.js.map +1 -1
  80. package/dist/data-display/user.cjs +1 -1
  81. package/dist/data-display/user.cjs.map +1 -1
  82. package/dist/data-display/user.js.map +1 -1
  83. package/dist/date-BEyT-xKi.cjs +2 -0
  84. package/dist/date-BEyT-xKi.cjs.map +1 -0
  85. package/dist/{date-BuPl--Fc.js → date-CgzMwDPN.js} +2 -2
  86. package/dist/date-CgzMwDPN.js.map +1 -0
  87. package/dist/{dialog-B2LS2JLb.js → dialog-BAlJ18xi.js} +1 -1
  88. package/dist/dialog-BAlJ18xi.js.map +1 -0
  89. package/dist/dialog-BBODhbxh.cjs +2 -0
  90. package/dist/dialog-BBODhbxh.cjs.map +1 -0
  91. package/dist/{dialog-Dn2Q-QRw.d.ts → dialog-MCM90IpD.d.cts} +12 -12
  92. package/dist/{dialog-BFtz_6mv.d.cts → dialog-lKVaxcfs.d.ts} +12 -12
  93. package/dist/dialogs/confirm-dialog.cjs +1 -1
  94. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  95. package/dist/dialogs/confirm-dialog.js +1 -1
  96. package/dist/dialogs/confirm-dialog.js.map +1 -1
  97. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  98. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +30 -30
  99. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +30 -30
  100. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  101. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  102. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  103. package/dist/dialogs/detail-dialog/index.js +1 -1
  104. package/dist/dialogs/detail-dialog/index.js.map +1 -1
  105. package/dist/dialogs/error-dialog.cjs +1 -1
  106. package/dist/dialogs/error-dialog.js +1 -1
  107. package/dist/dialogs/form-dialog.cjs +1 -1
  108. package/dist/dialogs/form-dialog.cjs.map +1 -1
  109. package/dist/dialogs/form-dialog.d.cts +2 -2
  110. package/dist/dialogs/form-dialog.d.ts +2 -2
  111. package/dist/dialogs/form-dialog.js +1 -1
  112. package/dist/dialogs/form-dialog.js.map +1 -1
  113. package/dist/dialogs/loading-dialog.cjs +1 -1
  114. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  115. package/dist/dialogs/loading-dialog.js +1 -1
  116. package/dist/dialogs/loading-dialog.js.map +1 -1
  117. package/dist/{dist-CkzytVha.js → dist-BgkALM7U.js} +2 -2
  118. package/dist/{dist-CkzytVha.js.map → dist-BgkALM7U.js.map} +1 -1
  119. package/dist/dist-CAevLI5t.cjs +2 -0
  120. package/dist/{dist-D0uO1qIz.cjs.map → dist-CAevLI5t.cjs.map} +1 -1
  121. package/dist/drawer-70cz3SPB.cjs +2 -0
  122. package/dist/drawer-70cz3SPB.cjs.map +1 -0
  123. package/dist/{drawer-COD1n5aA.js → drawer-DRC3X2-U.js} +1 -1
  124. package/dist/drawer-DRC3X2-U.js.map +1 -0
  125. package/dist/dropdown-menu-Bb68Wd6J.cjs +2 -0
  126. package/dist/dropdown-menu-Bb68Wd6J.cjs.map +1 -0
  127. package/dist/{dropdown-menu-Brlye320.js → dropdown-menu-DtEPAmMV.js} +1 -1
  128. package/dist/dropdown-menu-DtEPAmMV.js.map +1 -0
  129. package/dist/{error-dialog-BF1VNZXk.js → error-dialog-BeYJOtSH.js} +2 -2
  130. package/dist/error-dialog-BeYJOtSH.js.map +1 -0
  131. package/dist/error-dialog-bra3vccX.cjs +2 -0
  132. package/dist/error-dialog-bra3vccX.cjs.map +1 -0
  133. package/dist/field-A43YZ5Wj.cjs +2 -0
  134. package/dist/field-A43YZ5Wj.cjs.map +1 -0
  135. package/dist/field-CGacT8J3.js +2 -0
  136. package/dist/field-CGacT8J3.js.map +1 -0
  137. package/dist/flex-B4klVEz9.cjs +2 -0
  138. package/dist/flex-B4klVEz9.cjs.map +1 -0
  139. package/dist/flex-D6XrXRQW.js.map +1 -1
  140. package/dist/form-B_tL9lO4.js +2 -0
  141. package/dist/form-B_tL9lO4.js.map +1 -0
  142. package/dist/form-DV9tQbiO.cjs +2 -0
  143. package/dist/form-DV9tQbiO.cjs.map +1 -0
  144. package/dist/form-wrapper-BKTvSrZY.js +2 -0
  145. package/dist/form-wrapper-BKTvSrZY.js.map +1 -0
  146. package/dist/form-wrapper-vue82rfg.cjs +2 -0
  147. package/dist/form-wrapper-vue82rfg.cjs.map +1 -0
  148. package/dist/forms/combobox-field.cjs +1 -1
  149. package/dist/forms/combobox-field.cjs.map +1 -1
  150. package/dist/forms/combobox-field.d.cts +2 -2
  151. package/dist/forms/combobox-field.d.ts +2 -2
  152. package/dist/forms/combobox-field.js +1 -1
  153. package/dist/forms/combobox-field.js.map +1 -1
  154. package/dist/forms/date-field.cjs +1 -1
  155. package/dist/forms/date-field.cjs.map +1 -1
  156. package/dist/forms/date-field.d.cts +2 -2
  157. package/dist/forms/date-field.d.ts +2 -2
  158. package/dist/forms/date-field.js +1 -1
  159. package/dist/forms/date-field.js.map +1 -1
  160. package/dist/forms/form-wrapper.cjs +1 -1
  161. package/dist/forms/form-wrapper.d.cts +6 -2
  162. package/dist/forms/form-wrapper.d.ts +6 -2
  163. package/dist/forms/form-wrapper.js +1 -1
  164. package/dist/forms/multi-select-field.cjs +1 -1
  165. package/dist/forms/multi-select-field.cjs.map +1 -1
  166. package/dist/forms/multi-select-field.d.cts +4 -2
  167. package/dist/forms/multi-select-field.d.ts +4 -2
  168. package/dist/forms/multi-select-field.js +1 -1
  169. package/dist/forms/multi-select-field.js.map +1 -1
  170. package/dist/forms/number-field.cjs +1 -1
  171. package/dist/forms/number-field.cjs.map +1 -1
  172. package/dist/forms/number-field.d.cts +2 -2
  173. package/dist/forms/number-field.d.ts +2 -2
  174. package/dist/forms/number-field.js +1 -1
  175. package/dist/forms/number-field.js.map +1 -1
  176. package/dist/forms/password-field.cjs +1 -1
  177. package/dist/forms/password-field.cjs.map +1 -1
  178. package/dist/forms/password-field.d.cts +2 -2
  179. package/dist/forms/password-field.d.ts +2 -2
  180. package/dist/forms/password-field.js +1 -1
  181. package/dist/forms/password-field.js.map +1 -1
  182. package/dist/forms/select-field.cjs +1 -1
  183. package/dist/forms/select-field.cjs.map +1 -1
  184. package/dist/forms/select-field.d.cts +2 -2
  185. package/dist/forms/select-field.d.ts +2 -2
  186. package/dist/forms/select-field.js +1 -1
  187. package/dist/forms/select-field.js.map +1 -1
  188. package/dist/forms/switch-field.cjs +1 -1
  189. package/dist/forms/switch-field.cjs.map +1 -1
  190. package/dist/forms/switch-field.d.cts +4 -2
  191. package/dist/forms/switch-field.d.ts +4 -2
  192. package/dist/forms/switch-field.js +1 -1
  193. package/dist/forms/switch-field.js.map +1 -1
  194. package/dist/forms/text-field.cjs +1 -1
  195. package/dist/forms/text-field.cjs.map +1 -1
  196. package/dist/forms/text-field.d.cts +2 -2
  197. package/dist/forms/text-field.d.ts +2 -2
  198. package/dist/forms/text-field.js +1 -1
  199. package/dist/forms/text-field.js.map +1 -1
  200. package/dist/forms/textarea-field.cjs +1 -1
  201. package/dist/forms/textarea-field.cjs.map +1 -1
  202. package/dist/forms/textarea-field.d.cts +2 -2
  203. package/dist/forms/textarea-field.d.ts +2 -2
  204. package/dist/forms/textarea-field.js +1 -1
  205. package/dist/forms/textarea-field.js.map +1 -1
  206. package/dist/image-C0mClPAY.cjs +2 -0
  207. package/dist/image-C0mClPAY.cjs.map +1 -0
  208. package/dist/image-CiQhTTyt.js.map +1 -1
  209. package/dist/{input-BtT8HfYE.js → input-BStypTnq.js} +1 -1
  210. package/dist/input-BStypTnq.js.map +1 -0
  211. package/dist/{input-CwuYXUPY.d.ts → input-BbxBfHG5.d.ts} +3 -3
  212. package/dist/input-D_tClptL.cjs +2 -0
  213. package/dist/input-D_tClptL.cjs.map +1 -0
  214. package/dist/{input-Kq2bOgsM.d.cts → input-EieQSty7.d.cts} +3 -3
  215. package/dist/label-Bfd7VFEe.d.cts +11 -0
  216. package/dist/label-CdrxlBJ8.js.map +1 -1
  217. package/dist/label-D6mAvVmw.cjs +2 -0
  218. package/dist/label-D6mAvVmw.cjs.map +1 -0
  219. package/dist/label-DlBHUp00.d.ts +11 -0
  220. package/dist/layouts/app-layout/index.cjs +1 -1
  221. package/dist/layouts/app-layout/index.cjs.map +1 -1
  222. package/dist/layouts/app-layout/index.d.cts +28 -28
  223. package/dist/layouts/app-layout/index.d.ts +28 -28
  224. package/dist/layouts/app-layout/index.js +1 -1
  225. package/dist/layouts/app-layout/index.js.map +1 -1
  226. package/dist/layouts/flex.cjs +1 -1
  227. package/dist/layouts/flex.d.cts +2 -2
  228. package/dist/layouts/grid.cjs +1 -1
  229. package/dist/layouts/grid.cjs.map +1 -1
  230. package/dist/layouts/grid.js.map +1 -1
  231. package/dist/layouts/service-layout/index.cjs +1 -1
  232. package/dist/layouts/service-layout/index.cjs.map +1 -1
  233. package/dist/layouts/service-layout/index.d.cts +15 -15
  234. package/dist/layouts/service-layout/index.d.ts +15 -15
  235. package/dist/layouts/service-layout/index.js +1 -1
  236. package/dist/layouts/service-layout/index.js.map +1 -1
  237. package/dist/multi-select-C66U77ON.js +2 -0
  238. package/dist/multi-select-C66U77ON.js.map +1 -0
  239. package/dist/multi-select-D38JwSYL.cjs +2 -0
  240. package/dist/multi-select-D38JwSYL.cjs.map +1 -0
  241. package/dist/paragraph-B9fp9JaI.js.map +1 -1
  242. package/dist/paragraph-Q7vk3BSp.cjs +2 -0
  243. package/dist/paragraph-Q7vk3BSp.cjs.map +1 -0
  244. package/dist/{popover-BJWOgxQ5.js → popover-BnzoeyDG.js} +1 -1
  245. package/dist/popover-BnzoeyDG.js.map +1 -0
  246. package/dist/popover-D6vyPDKA.cjs +2 -0
  247. package/dist/popover-D6vyPDKA.cjs.map +1 -0
  248. package/dist/progress-BUlcGaLz.cjs +2 -0
  249. package/dist/progress-BUlcGaLz.cjs.map +1 -0
  250. package/dist/{progress-DzBPViJg.js → progress-DwLEMPaO.js} +1 -1
  251. package/dist/progress-DwLEMPaO.js.map +1 -0
  252. package/dist/{refresh-BiOPtbhd.js → refresh-CMQ49ae4.js} +2 -2
  253. package/dist/refresh-CMQ49ae4.js.map +1 -0
  254. package/dist/refresh-CvvD6Ckf.cjs +2 -0
  255. package/dist/refresh-CvvD6Ckf.cjs.map +1 -0
  256. package/dist/scroll-area-C_MkdpKg.cjs +2 -0
  257. package/dist/scroll-area-C_MkdpKg.cjs.map +1 -0
  258. package/dist/{scroll-area-BJYI14s5.js → scroll-area-DFENklE1.js} +1 -1
  259. package/dist/scroll-area-DFENklE1.js.map +1 -0
  260. package/dist/{search-input--FQFzdW3.js → search-input-BI1RjMuQ.js} +2 -2
  261. package/dist/search-input-BI1RjMuQ.js.map +1 -0
  262. package/dist/search-input-ryU0Mvaa.cjs +2 -0
  263. package/dist/search-input-ryU0Mvaa.cjs.map +1 -0
  264. package/dist/{select-Di8fOKVF.js → select-B8sXsuUI.js} +1 -1
  265. package/dist/select-B8sXsuUI.js.map +1 -0
  266. package/dist/select-BD7dul2u.cjs +2 -0
  267. package/dist/select-BD7dul2u.cjs.map +1 -0
  268. package/dist/{separator-mZ8r56s2.d.cts → separator-BBWO-2XW.d.cts} +3 -3
  269. package/dist/{separator-C7HQ2ThL.js → separator-D17HxS2f.js} +1 -1
  270. package/dist/separator-D17HxS2f.js.map +1 -0
  271. package/dist/separator-DMMoR-d2.cjs +2 -0
  272. package/dist/separator-DMMoR-d2.cjs.map +1 -0
  273. package/dist/{separator-C4wU5Rr6.d.ts → separator-LYCmJYd5.d.ts} +3 -3
  274. package/dist/{sheet-E0gvN9Gp.js → sheet-BhyEuJtA.js} +1 -1
  275. package/dist/sheet-BhyEuJtA.js.map +1 -0
  276. package/dist/sheet-Bua5MlcG.cjs +2 -0
  277. package/dist/sheet-Bua5MlcG.cjs.map +1 -0
  278. package/dist/sidebar-BgMpq73J.cjs +2 -0
  279. package/dist/sidebar-BgMpq73J.cjs.map +1 -0
  280. package/dist/{sidebar-CBEPWmnf.js → sidebar-Bs42CUTZ.js} +2 -2
  281. package/dist/sidebar-Bs42CUTZ.js.map +1 -0
  282. package/dist/skeleton-BC2E_ohw.cjs +2 -0
  283. package/dist/skeleton-BC2E_ohw.cjs.map +1 -0
  284. package/dist/skeleton-ByN-MrQO.js.map +1 -1
  285. package/dist/{switch-C7foFKpS.js → switch-DwBg-iL4.js} +1 -1
  286. package/dist/switch-DwBg-iL4.js.map +1 -0
  287. package/dist/switch-o_YbWKw4.cjs +2 -0
  288. package/dist/switch-o_YbWKw4.cjs.map +1 -0
  289. package/dist/systems/google.cjs +1 -1
  290. package/dist/systems/google.cjs.map +1 -1
  291. package/dist/systems/google.js +1 -1
  292. package/dist/systems/google.js.map +1 -1
  293. package/dist/table/index.cjs +1 -1
  294. package/dist/table/index.cjs.map +1 -1
  295. package/dist/table/index.d.cts +2 -2
  296. package/dist/table/index.d.ts +2 -2
  297. package/dist/table/index.js +1 -1
  298. package/dist/table/index.js.map +1 -1
  299. package/dist/{table-CKNAm27W.js → table-Cd75vfQ4.js} +1 -1
  300. package/dist/table-Cd75vfQ4.js.map +1 -0
  301. package/dist/table-fp-VtGFA.cjs +2 -0
  302. package/dist/table-fp-VtGFA.cjs.map +1 -0
  303. package/dist/{tabs-D4uObFGW.js → tabs-BVCzl3vY.js} +1 -1
  304. package/dist/tabs-BVCzl3vY.js.map +1 -0
  305. package/dist/tabs-D7oadnxg.cjs +2 -0
  306. package/dist/tabs-D7oadnxg.cjs.map +1 -0
  307. package/dist/textarea-BHME8i5L.cjs +2 -0
  308. package/dist/textarea-BHME8i5L.cjs.map +1 -0
  309. package/dist/{textarea-n8OO0QsI.js → textarea-TGDtYde1.js} +1 -1
  310. package/dist/textarea-TGDtYde1.js.map +1 -0
  311. package/dist/title-Wrzpw9RM.cjs +2 -0
  312. package/dist/title-Wrzpw9RM.cjs.map +1 -0
  313. package/dist/{title-itXqz0us.js → title-Zqs6skyV.js} +1 -1
  314. package/dist/title-Zqs6skyV.js.map +1 -0
  315. package/dist/{toggle-DuNq0es1.js → toggle-AOoz4VtN.js} +1 -1
  316. package/dist/toggle-AOoz4VtN.js.map +1 -0
  317. package/dist/{toggle-DYeyKWVE.d.cts → toggle-Bhwgx-y_.d.cts} +5 -5
  318. package/dist/toggle-D252Z_vH.cjs +2 -0
  319. package/dist/toggle-D252Z_vH.cjs.map +1 -0
  320. package/dist/{toggle-DPTA8XO2.d.ts → toggle-DaTd0CKm.d.ts} +5 -5
  321. package/dist/{tooltip-DijjzZk1.d.cts → tooltip-B3mrjes6.d.cts} +6 -6
  322. package/dist/tooltip-BTrjCwd8.js.map +1 -1
  323. package/dist/{tooltip-Dt83PTkc.d.ts → tooltip-IMUjBDRr.d.ts} +6 -6
  324. package/dist/tooltip-uaF-pxx8.cjs +2 -0
  325. package/dist/tooltip-uaF-pxx8.cjs.map +1 -0
  326. package/dist/{types-BHVCAwAo.d.ts → types-BcE2RjTJ.d.ts} +1 -1
  327. package/dist/types-BiiGENwa.js.map +1 -1
  328. package/dist/types-D32qXHff.cjs.map +1 -1
  329. package/dist/typography/paragraph.cjs +1 -1
  330. package/dist/typography/paragraph.d.cts +2 -2
  331. package/dist/typography/paragraph.d.ts +2 -2
  332. package/dist/typography/title.cjs +1 -1
  333. package/dist/typography/title.d.cts +2 -2
  334. package/dist/typography/title.d.ts +2 -2
  335. package/dist/typography/title.js +1 -1
  336. package/dist/ui/alert-dialog.cjs +1 -1
  337. package/dist/ui/alert-dialog.d.cts +12 -12
  338. package/dist/ui/alert-dialog.d.ts +12 -12
  339. package/dist/ui/alert-dialog.js +1 -1
  340. package/dist/ui/alert.cjs +1 -1
  341. package/dist/ui/alert.cjs.map +1 -1
  342. package/dist/ui/alert.d.cts +6 -6
  343. package/dist/ui/alert.d.ts +6 -6
  344. package/dist/ui/alert.js.map +1 -1
  345. package/dist/ui/aspect-ratio.cjs +1 -1
  346. package/dist/ui/aspect-ratio.cjs.map +1 -1
  347. package/dist/ui/aspect-ratio.d.cts +2 -2
  348. package/dist/ui/aspect-ratio.d.ts +2 -2
  349. package/dist/ui/aspect-ratio.js.map +1 -1
  350. package/dist/ui/avatar.cjs +1 -1
  351. package/dist/ui/avatar.d.cts +4 -4
  352. package/dist/ui/avatar.d.ts +4 -4
  353. package/dist/ui/badge.cjs +1 -1
  354. package/dist/ui/badge.d.cts +2 -2
  355. package/dist/ui/badge.d.ts +4 -4
  356. package/dist/ui/breadcrumb.cjs +1 -1
  357. package/dist/ui/breadcrumb.cjs.map +1 -1
  358. package/dist/ui/breadcrumb.d.cts +8 -8
  359. package/dist/ui/breadcrumb.d.ts +8 -8
  360. package/dist/ui/breadcrumb.js +1 -1
  361. package/dist/ui/breadcrumb.js.map +1 -1
  362. package/dist/ui/button-group.cjs +2 -0
  363. package/dist/ui/button-group.cjs.map +1 -0
  364. package/dist/ui/button-group.d.cts +29 -0
  365. package/dist/ui/button-group.d.ts +29 -0
  366. package/dist/ui/button-group.js +2 -0
  367. package/dist/ui/button-group.js.map +1 -0
  368. package/dist/ui/button.cjs +1 -1
  369. package/dist/ui/button.d.cts +1 -1
  370. package/dist/ui/button.d.ts +1 -1
  371. package/dist/ui/button.js +1 -1
  372. package/dist/ui/buttons/add-new.cjs +1 -1
  373. package/dist/ui/buttons/add-new.js +1 -1
  374. package/dist/ui/buttons/edit.cjs +1 -1
  375. package/dist/ui/buttons/edit.cjs.map +1 -1
  376. package/dist/ui/buttons/edit.js +1 -1
  377. package/dist/ui/buttons/edit.js.map +1 -1
  378. package/dist/ui/buttons/refresh.cjs +1 -1
  379. package/dist/ui/buttons/refresh.js +1 -1
  380. package/dist/ui/buttons/trash.cjs +1 -1
  381. package/dist/ui/buttons/trash.cjs.map +1 -1
  382. package/dist/ui/buttons/trash.js +1 -1
  383. package/dist/ui/buttons/trash.js.map +1 -1
  384. package/dist/ui/buttons/upload-image.cjs +1 -1
  385. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  386. package/dist/ui/buttons/upload-image.js +1 -1
  387. package/dist/ui/buttons/upload-image.js.map +1 -1
  388. package/dist/ui/calendar.cjs +1 -1
  389. package/dist/ui/calendar.d.cts +4 -4
  390. package/dist/ui/calendar.d.ts +4 -4
  391. package/dist/ui/calendar.js +1 -1
  392. package/dist/ui/card.cjs +1 -1
  393. package/dist/ui/card.d.cts +8 -8
  394. package/dist/ui/card.d.ts +8 -8
  395. package/dist/ui/carousel.cjs +1 -1
  396. package/dist/ui/carousel.cjs.map +1 -1
  397. package/dist/ui/carousel.d.cts +7 -7
  398. package/dist/ui/carousel.d.ts +7 -7
  399. package/dist/ui/carousel.js +1 -1
  400. package/dist/ui/carousel.js.map +1 -1
  401. package/dist/ui/collapsible.cjs +1 -1
  402. package/dist/ui/collapsible.cjs.map +1 -1
  403. package/dist/ui/collapsible.d.cts +4 -4
  404. package/dist/ui/collapsible.d.ts +4 -4
  405. package/dist/ui/collapsible.js.map +1 -1
  406. package/dist/ui/command.cjs +1 -1
  407. package/dist/ui/command.d.cts +2 -2
  408. package/dist/ui/command.d.ts +2 -2
  409. package/dist/ui/command.js +1 -1
  410. package/dist/ui/context-menu.cjs +1 -1
  411. package/dist/ui/context-menu.cjs.map +1 -1
  412. package/dist/ui/context-menu.d.cts +16 -16
  413. package/dist/ui/context-menu.d.ts +16 -16
  414. package/dist/ui/context-menu.js.map +1 -1
  415. package/dist/ui/dialog.cjs +1 -1
  416. package/dist/ui/dialog.d.cts +1 -1
  417. package/dist/ui/dialog.d.ts +1 -1
  418. package/dist/ui/dialog.js +1 -1
  419. package/dist/ui/dropdown-menu.cjs +1 -1
  420. package/dist/ui/dropdown-menu.d.cts +16 -16
  421. package/dist/ui/dropdown-menu.d.ts +16 -16
  422. package/dist/ui/dropdown-menu.js +1 -1
  423. package/dist/ui/empty.cjs +2 -0
  424. package/dist/ui/empty.cjs.map +1 -0
  425. package/dist/ui/empty.d.cts +36 -0
  426. package/dist/ui/empty.d.ts +36 -0
  427. package/dist/ui/empty.js +2 -0
  428. package/dist/ui/empty.js.map +1 -0
  429. package/dist/ui/field.cjs +1 -0
  430. package/dist/ui/field.d.cts +65 -0
  431. package/dist/ui/field.d.ts +65 -0
  432. package/dist/ui/field.js +1 -0
  433. package/dist/ui/file-uploader.cjs +1 -1
  434. package/dist/ui/file-uploader.cjs.map +1 -1
  435. package/dist/ui/file-uploader.d.cts +2 -2
  436. package/dist/ui/file-uploader.d.ts +2 -2
  437. package/dist/ui/file-uploader.js +1 -1
  438. package/dist/ui/file-uploader.js.map +1 -1
  439. package/dist/ui/form.cjs +1 -1
  440. package/dist/ui/form.d.cts +7 -8
  441. package/dist/ui/form.d.ts +7 -8
  442. package/dist/ui/form.js +1 -1
  443. package/dist/ui/hover-card.cjs +1 -1
  444. package/dist/ui/hover-card.cjs.map +1 -1
  445. package/dist/ui/hover-card.d.cts +4 -4
  446. package/dist/ui/hover-card.d.ts +4 -4
  447. package/dist/ui/hover-card.js.map +1 -1
  448. package/dist/ui/image.cjs +1 -1
  449. package/dist/ui/input-otp.cjs +1 -1
  450. package/dist/ui/input-otp.cjs.map +1 -1
  451. package/dist/ui/input-otp.d.cts +5 -5
  452. package/dist/ui/input-otp.d.ts +5 -5
  453. package/dist/ui/input-otp.js +1 -1
  454. package/dist/ui/input-otp.js.map +1 -1
  455. package/dist/ui/input.cjs +1 -1
  456. package/dist/ui/input.d.cts +1 -1
  457. package/dist/ui/input.d.ts +1 -1
  458. package/dist/ui/input.js +1 -1
  459. package/dist/ui/inputs/search-input.cjs +1 -1
  460. package/dist/ui/inputs/search-input.d.cts +3 -3
  461. package/dist/ui/inputs/search-input.d.ts +3 -3
  462. package/dist/ui/inputs/search-input.js +1 -1
  463. package/dist/ui/item.cjs +2 -0
  464. package/dist/ui/item.cjs.map +1 -0
  465. package/dist/ui/item.d.cts +62 -0
  466. package/dist/ui/item.d.ts +62 -0
  467. package/dist/ui/item.js +2 -0
  468. package/dist/ui/item.js.map +1 -0
  469. package/dist/ui/label.cjs +1 -1
  470. package/dist/ui/label.d.cts +2 -11
  471. package/dist/ui/label.d.ts +2 -11
  472. package/dist/ui/menubar.cjs +1 -1
  473. package/dist/ui/menubar.cjs.map +1 -1
  474. package/dist/ui/menubar.d.cts +17 -17
  475. package/dist/ui/menubar.d.ts +17 -17
  476. package/dist/ui/menubar.js.map +1 -1
  477. package/dist/ui/multi-select.cjs +1 -1
  478. package/dist/ui/multi-select.d.cts +2 -2
  479. package/dist/ui/multi-select.d.ts +2 -2
  480. package/dist/ui/multi-select.js +1 -1
  481. package/dist/ui/navigation-menu.cjs +1 -1
  482. package/dist/ui/navigation-menu.cjs.map +1 -1
  483. package/dist/ui/navigation-menu.d.cts +11 -11
  484. package/dist/ui/navigation-menu.d.ts +11 -11
  485. package/dist/ui/navigation-menu.js.map +1 -1
  486. package/dist/ui/pagination.cjs +1 -1
  487. package/dist/ui/pagination.cjs.map +1 -1
  488. package/dist/ui/pagination.d.cts +9 -9
  489. package/dist/ui/pagination.d.ts +9 -9
  490. package/dist/ui/pagination.js +1 -1
  491. package/dist/ui/pagination.js.map +1 -1
  492. package/dist/ui/popover.cjs +1 -1
  493. package/dist/ui/popover.d.cts +5 -5
  494. package/dist/ui/popover.d.ts +5 -5
  495. package/dist/ui/popover.js +1 -1
  496. package/dist/ui/progress.cjs +1 -1
  497. package/dist/ui/progress.d.cts +2 -2
  498. package/dist/ui/progress.d.ts +2 -2
  499. package/dist/ui/progress.js +1 -1
  500. package/dist/ui/radio-group.cjs +1 -1
  501. package/dist/ui/radio-group.cjs.map +1 -1
  502. package/dist/ui/radio-group.d.cts +3 -3
  503. package/dist/ui/radio-group.d.ts +3 -3
  504. package/dist/ui/radio-group.js.map +1 -1
  505. package/dist/ui/resizable.cjs +1 -1
  506. package/dist/ui/resizable.cjs.map +1 -1
  507. package/dist/ui/resizable.d.cts +4 -4
  508. package/dist/ui/resizable.d.ts +4 -4
  509. package/dist/ui/resizable.js.map +1 -1
  510. package/dist/ui/scroll-area.cjs +1 -1
  511. package/dist/ui/scroll-area.d.cts +3 -3
  512. package/dist/ui/scroll-area.d.ts +3 -3
  513. package/dist/ui/scroll-area.js +1 -1
  514. package/dist/ui/select.cjs +1 -1
  515. package/dist/ui/select.d.cts +11 -11
  516. package/dist/ui/select.d.ts +11 -11
  517. package/dist/ui/select.js +1 -1
  518. package/dist/ui/separator.cjs +1 -1
  519. package/dist/ui/separator.d.cts +1 -1
  520. package/dist/ui/separator.d.ts +1 -1
  521. package/dist/ui/separator.js +1 -1
  522. package/dist/ui/sheet.cjs +1 -1
  523. package/dist/ui/sheet.d.cts +9 -9
  524. package/dist/ui/sheet.d.ts +9 -9
  525. package/dist/ui/sheet.js +1 -1
  526. package/dist/ui/sidebar.cjs +1 -1
  527. package/dist/ui/sidebar.cjs.map +1 -1
  528. package/dist/ui/sidebar.d.cts +30 -30
  529. package/dist/ui/sidebar.d.ts +30 -30
  530. package/dist/ui/sidebar.js +1 -1
  531. package/dist/ui/sidebar.js.map +1 -1
  532. package/dist/ui/skeleton.cjs +1 -1
  533. package/dist/ui/skeleton.d.cts +2 -2
  534. package/dist/ui/skeleton.d.ts +2 -2
  535. package/dist/ui/slider.cjs +1 -1
  536. package/dist/ui/slider.cjs.map +1 -1
  537. package/dist/ui/slider.d.cts +2 -2
  538. package/dist/ui/slider.d.ts +2 -2
  539. package/dist/ui/slider.js.map +1 -1
  540. package/dist/ui/sonner.cjs +1 -1
  541. package/dist/ui/sonner.cjs.map +1 -1
  542. package/dist/ui/sonner.d.cts +2 -2
  543. package/dist/ui/sonner.d.ts +2 -2
  544. package/dist/ui/sonner.js.map +1 -1
  545. package/dist/ui/spinner.cjs +2 -0
  546. package/dist/ui/spinner.cjs.map +1 -0
  547. package/dist/ui/spinner.d.cts +10 -0
  548. package/dist/ui/spinner.d.ts +10 -0
  549. package/dist/ui/spinner.js +2 -0
  550. package/dist/ui/spinner.js.map +1 -0
  551. package/dist/ui/switch.cjs +1 -1
  552. package/dist/ui/switch.d.cts +2 -2
  553. package/dist/ui/switch.d.ts +2 -2
  554. package/dist/ui/switch.js +1 -1
  555. package/dist/ui/table.cjs +1 -1
  556. package/dist/ui/table.d.cts +9 -9
  557. package/dist/ui/table.d.ts +9 -9
  558. package/dist/ui/table.js +1 -1
  559. package/dist/ui/tabs.cjs +1 -1
  560. package/dist/ui/tabs.d.cts +5 -5
  561. package/dist/ui/tabs.d.ts +5 -5
  562. package/dist/ui/tabs.js +1 -1
  563. package/dist/ui/textarea.cjs +1 -1
  564. package/dist/ui/textarea.d.cts +2 -2
  565. package/dist/ui/textarea.d.ts +2 -2
  566. package/dist/ui/textarea.js +1 -1
  567. package/dist/ui/toggle-group.cjs +1 -1
  568. package/dist/ui/toggle-group.cjs.map +1 -1
  569. package/dist/ui/toggle-group.d.cts +4 -4
  570. package/dist/ui/toggle-group.d.ts +4 -4
  571. package/dist/ui/toggle-group.js +1 -1
  572. package/dist/ui/toggle-group.js.map +1 -1
  573. package/dist/ui/toggle.cjs +1 -1
  574. package/dist/ui/toggle.d.cts +1 -1
  575. package/dist/ui/toggle.d.ts +1 -1
  576. package/dist/ui/toggle.js +1 -1
  577. package/dist/ui/tooltip.cjs +1 -1
  578. package/dist/ui/tooltip.d.cts +1 -1
  579. package/dist/ui/tooltip.d.ts +1 -1
  580. package/package.json +26 -18
  581. package/dist/add-new-DfniMrHa.js.map +0 -1
  582. package/dist/add-new-dgznne6n.cjs +0 -2
  583. package/dist/add-new-dgznne6n.cjs.map +0 -1
  584. package/dist/alert-dialog-BgEaBYoh.cjs +0 -2
  585. package/dist/alert-dialog-BgEaBYoh.cjs.map +0 -1
  586. package/dist/alert-dialog-UwGNuTYk.js.map +0 -1
  587. package/dist/avatar-B4pklWJt.cjs +0 -2
  588. package/dist/avatar-B4pklWJt.cjs.map +0 -1
  589. package/dist/badge-CsA-JCDX.cjs +0 -2
  590. package/dist/badge-CsA-JCDX.cjs.map +0 -1
  591. package/dist/button-CuV2l4ge.cjs +0 -2
  592. package/dist/button-CuV2l4ge.cjs.map +0 -1
  593. package/dist/button-DhQJ9Ey8.js.map +0 -1
  594. package/dist/button-variants-CCiseNSC.cjs +0 -2
  595. package/dist/button-variants-CCiseNSC.cjs.map +0 -1
  596. package/dist/calendar-C2yGJ9AV.js.map +0 -1
  597. package/dist/calendar-Fjm1d0mU.cjs +0 -2
  598. package/dist/calendar-Fjm1d0mU.cjs.map +0 -1
  599. package/dist/card-Pnxpehsp.cjs +0 -2
  600. package/dist/card-Pnxpehsp.cjs.map +0 -1
  601. package/dist/command-DHGZlBKd.cjs +0 -2
  602. package/dist/command-DHGZlBKd.cjs.map +0 -1
  603. package/dist/command-DhSE6UaR.js.map +0 -1
  604. package/dist/date-2wue8L-1.cjs +0 -2
  605. package/dist/date-2wue8L-1.cjs.map +0 -1
  606. package/dist/date-BuPl--Fc.js.map +0 -1
  607. package/dist/dialog-B2LS2JLb.js.map +0 -1
  608. package/dist/dialog-BSdn3QaW.cjs +0 -2
  609. package/dist/dialog-BSdn3QaW.cjs.map +0 -1
  610. package/dist/dist-D0uO1qIz.cjs +0 -2
  611. package/dist/drawer-COD1n5aA.js.map +0 -1
  612. package/dist/drawer-CsCzBHvx.cjs +0 -2
  613. package/dist/drawer-CsCzBHvx.cjs.map +0 -1
  614. package/dist/dropdown-menu-Brlye320.js.map +0 -1
  615. package/dist/dropdown-menu-DwI8o0uQ.cjs +0 -2
  616. package/dist/dropdown-menu-DwI8o0uQ.cjs.map +0 -1
  617. package/dist/error-dialog-BF1VNZXk.js.map +0 -1
  618. package/dist/error-dialog-C3b4fqAI.cjs +0 -2
  619. package/dist/error-dialog-C3b4fqAI.cjs.map +0 -1
  620. package/dist/flex-DS4mxjtf.cjs +0 -2
  621. package/dist/flex-DS4mxjtf.cjs.map +0 -1
  622. package/dist/form-BT1TbgK6.js +0 -2
  623. package/dist/form-BT1TbgK6.js.map +0 -1
  624. package/dist/form-DyH5iWq7.cjs +0 -2
  625. package/dist/form-DyH5iWq7.cjs.map +0 -1
  626. package/dist/form-wrapper-CI2iMUNJ.cjs +0 -2
  627. package/dist/form-wrapper-CI2iMUNJ.cjs.map +0 -1
  628. package/dist/form-wrapper-DaguHv9W.js +0 -2
  629. package/dist/form-wrapper-DaguHv9W.js.map +0 -1
  630. package/dist/image-j62jo7bK.cjs +0 -2
  631. package/dist/image-j62jo7bK.cjs.map +0 -1
  632. package/dist/input-BtT8HfYE.js.map +0 -1
  633. package/dist/input-DfGojpRF.cjs +0 -2
  634. package/dist/input-DfGojpRF.cjs.map +0 -1
  635. package/dist/label-CHNSlaoz.cjs +0 -2
  636. package/dist/label-CHNSlaoz.cjs.map +0 -1
  637. package/dist/multi-select-C0dFenI-.cjs +0 -2
  638. package/dist/multi-select-C0dFenI-.cjs.map +0 -1
  639. package/dist/multi-select-l0HITJuv.js +0 -2
  640. package/dist/multi-select-l0HITJuv.js.map +0 -1
  641. package/dist/paragraph-BLvW7xdo.cjs +0 -2
  642. package/dist/paragraph-BLvW7xdo.cjs.map +0 -1
  643. package/dist/popover-BJWOgxQ5.js.map +0 -1
  644. package/dist/popover-BrDe5Jb8.cjs +0 -2
  645. package/dist/popover-BrDe5Jb8.cjs.map +0 -1
  646. package/dist/progress-DzBPViJg.js.map +0 -1
  647. package/dist/progress-RnZp4jUA.cjs +0 -2
  648. package/dist/progress-RnZp4jUA.cjs.map +0 -1
  649. package/dist/refresh-BiOPtbhd.js.map +0 -1
  650. package/dist/refresh-DgFpv8mw.cjs +0 -2
  651. package/dist/refresh-DgFpv8mw.cjs.map +0 -1
  652. package/dist/scroll-area-BJYI14s5.js.map +0 -1
  653. package/dist/scroll-area-slD5Jekm.cjs +0 -2
  654. package/dist/scroll-area-slD5Jekm.cjs.map +0 -1
  655. package/dist/search-input--FQFzdW3.js.map +0 -1
  656. package/dist/search-input-DV8zjsMQ.cjs +0 -2
  657. package/dist/search-input-DV8zjsMQ.cjs.map +0 -1
  658. package/dist/select-Ce-YROpe.cjs +0 -2
  659. package/dist/select-Ce-YROpe.cjs.map +0 -1
  660. package/dist/select-Di8fOKVF.js.map +0 -1
  661. package/dist/separator-C7HQ2ThL.js.map +0 -1
  662. package/dist/separator-WF5zTNGS.cjs +0 -2
  663. package/dist/separator-WF5zTNGS.cjs.map +0 -1
  664. package/dist/sheet-E0gvN9Gp.js.map +0 -1
  665. package/dist/sheet-cjXJAfUE.cjs +0 -2
  666. package/dist/sheet-cjXJAfUE.cjs.map +0 -1
  667. package/dist/sidebar-B6s0ZZHA.cjs +0 -2
  668. package/dist/sidebar-B6s0ZZHA.cjs.map +0 -1
  669. package/dist/sidebar-CBEPWmnf.js.map +0 -1
  670. package/dist/skeleton-BA-3d3bn.cjs +0 -2
  671. package/dist/skeleton-BA-3d3bn.cjs.map +0 -1
  672. package/dist/switch-C7foFKpS.js.map +0 -1
  673. package/dist/switch-DOgkZVAD.cjs +0 -2
  674. package/dist/switch-DOgkZVAD.cjs.map +0 -1
  675. package/dist/table-CKNAm27W.js.map +0 -1
  676. package/dist/table-CzMEpN9D.cjs +0 -2
  677. package/dist/table-CzMEpN9D.cjs.map +0 -1
  678. package/dist/tabs-D4uObFGW.js.map +0 -1
  679. package/dist/tabs-MolLf09Q.cjs +0 -2
  680. package/dist/tabs-MolLf09Q.cjs.map +0 -1
  681. package/dist/textarea-Ewj89Eq3.cjs +0 -2
  682. package/dist/textarea-Ewj89Eq3.cjs.map +0 -1
  683. package/dist/textarea-n8OO0QsI.js.map +0 -1
  684. package/dist/title-DONX1fR6.cjs +0 -2
  685. package/dist/title-DONX1fR6.cjs.map +0 -1
  686. package/dist/title-itXqz0us.js.map +0 -1
  687. package/dist/toggle-D0B4Ba4H.cjs +0 -2
  688. package/dist/toggle-D0B4Ba4H.cjs.map +0 -1
  689. package/dist/toggle-DuNq0es1.js.map +0 -1
  690. package/dist/tooltip-DXvcPsvM.cjs +0 -2
  691. package/dist/tooltip-DXvcPsvM.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select-C66U77ON.js","names":["groupOption: GroupOption","value","Command","CommandPrimitive"],"sources":["../packages/components/ui/multi-select.tsx"],"sourcesContent":["'use client';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { PlusIcon, X } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\nimport { Command, CommandGroup, CommandItem, CommandList, CommandSeparator } from '@/components/ui/command';\n\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nexport interface Option {\n value: string;\n label: string;\n disable?: boolean;\n /** fixed option that can&lsquo;t be removed. */\n fixed?: boolean;\n /** Group the options by providing key. */\n [key: string]: string | boolean | undefined;\n}\ninterface GroupOption {\n [key: string]: Option[];\n}\n\ninterface MultipleSelectorProps {\n value?: Option[];\n defaultOptions?: Option[];\n /** manually controlled options */\n options?: Option[];\n placeholder?: string;\n /** Loading component. */\n loadingIndicator?: React.ReactNode;\n /** Empty component. */\n emptyIndicator?: React.ReactNode;\n /** Debounce time for async search. Only work with `onSearch`. */\n delay?: number;\n /**\n * Only work with `onSearch` prop. Trigger search when `onFocus`.\n * For example, when user click on the input, it will trigger the search to get initial options.\n **/\n triggerSearchOnFocus?: boolean;\n /** async search */\n onSearch?: (value: string) => Promise<Option[]>;\n /**\n * sync search. This search will not showing loadingIndicator.\n * The rest props are the same as async search.\n * i.e.: creatable, groupBy, delay.\n **/\n onSearchSync?: (value: string) => Option[];\n onChange?: (options: Option[]) => void;\n /** Limit the maximum number of selected options. */\n maxSelected?: number;\n /** When the number of selected options exceeds the limit, the onMaxSelected will be called. */\n onMaxSelected?: (maxLimit: number) => void;\n /** Hide the placeholder when there are options selected. */\n hidePlaceholderWhenSelected?: boolean;\n disabled?: boolean;\n /** Group the options base on provided key. */\n groupBy?: string;\n className?: string;\n badgeClassName?: string;\n /**\n * First item selected is a default behavior by cmdk. That is why the default is true.\n * This is a workaround solution by add a dummy item.\n *\n * @reference: https://github.com/pacocoursey/cmdk/issues/171\n */\n selectFirstItem?: boolean;\n /** Allow user to create option when there is no option matched. */\n creatable?: boolean;\n /** Props of `Command` */\n commandProps?: React.ComponentPropsWithoutRef<typeof Command>;\n /** Props of `CommandInput` */\n inputProps?: Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'placeholder' | 'disabled'>;\n /** hide the clear all button. */\n hideClearAllButton?: boolean;\n\n /** Add new item event for select with search */\n onAddNewItem?: () => void;\n}\n\nexport interface MultipleSelectorRef {\n selectedValue: Option[];\n input: HTMLInputElement;\n focus: () => void;\n reset: () => void;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nfunction transToGroupOption(options: Option[], groupBy?: string) {\n if (options.length === 0) {\n return {};\n }\n if (!groupBy) {\n return {\n '': options,\n };\n }\n\n const groupOption: GroupOption = {};\n options.forEach(option => {\n const key = (option[groupBy] as string) || '';\n if (!groupOption[key]) {\n groupOption[key] = [];\n }\n groupOption[key].push(option);\n });\n return groupOption;\n}\n\nfunction removePickedOption(groupOption: GroupOption, picked: Option[]) {\n const cloneOption = JSON.parse(JSON.stringify(groupOption)) as GroupOption;\n\n for (const [key, value] of Object.entries(cloneOption)) {\n cloneOption[key] = value.filter(val => !picked.find(p => p.value === val.value));\n }\n return cloneOption;\n}\n\nfunction isOptionsExist(groupOption: GroupOption, targetOption: Option[]) {\n for (const [, value] of Object.entries(groupOption)) {\n if (value.some(option => targetOption.find(p => p.value === option.value))) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The `CommandEmpty` of shadcn/ui will cause the cmdk empty not rendering correctly.\n * So we create one and copy the `Empty` implementation from `cmdk`.\n *\n * @reference: https://github.com/hsuanyi-chou/shadcn-ui-expansions/issues/34#issuecomment-1949561607\n **/\nconst CommandEmpty = forwardRef<HTMLDivElement, React.ComponentProps<typeof CommandPrimitive.Empty>>(({ className, ...props }, forwardedRef) => {\n const render = useCommandState(state => state.filtered.count === 0);\n\n if (!render) return null;\n\n return <div ref={forwardedRef} className={cn('px-2 py-4 text-center text-sm', className)} cmdk-empty=\"\" role=\"presentation\" {...props} />;\n});\n\nCommandEmpty.displayName = 'CommandEmpty';\n\nexport const MultipleSelector = forwardRef<MultipleSelectorRef, MultipleSelectorProps>(\n (\n {\n value,\n onChange,\n placeholder,\n defaultOptions: arrayDefaultOptions = [],\n options: arrayOptions,\n delay,\n onSearch,\n onSearchSync,\n loadingIndicator: LoadingIndicator,\n emptyIndicator,\n maxSelected = Number.MAX_SAFE_INTEGER,\n onMaxSelected,\n hidePlaceholderWhenSelected,\n disabled,\n groupBy,\n className,\n badgeClassName,\n selectFirstItem = true,\n creatable = false,\n triggerSearchOnFocus = false,\n commandProps,\n inputProps,\n hideClearAllButton = false,\n onAddNewItem,\n }: MultipleSelectorProps,\n ref: React.Ref<MultipleSelectorRef>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null); // Added this\n\n const [open, setOpen] = useState(false);\n const [onScrollbar, setOnScrollbar] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const [selected, setSelected] = useState<Option[]>(value || []);\n const [options, setOptions] = useState<GroupOption>(transToGroupOption(arrayDefaultOptions, groupBy));\n const [inputValue, setInputValue] = useState('');\n\n const debouncedSearchTerm = useDebounce(inputValue, delay || 500);\n\n useImperativeHandle(\n ref,\n () => ({\n selectedValue: [...selected],\n input: inputRef.current as HTMLInputElement,\n focus: () => inputRef?.current?.focus(),\n reset: () => setSelected([]),\n }),\n [selected]\n );\n\n const handleClickOutside = useCallback((event: MouseEvent | TouchEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node) && inputRef.current && !inputRef.current.contains(event.target as Node)) {\n setOpen(false);\n inputRef.current.blur();\n }\n }, []);\n\n const handleUnselect = useCallback(\n (option: Option) => {\n const newOptions = selected.filter(s => s.value !== option.value);\n setSelected(newOptions);\n onChange?.(newOptions);\n },\n [onChange, selected]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current;\n if (!input) return;\n\n if (e.key === 'Delete' || e.key === 'Backspace') {\n if (input.value === '' && selected.length > 0) {\n const lastSelectOption = selected[selected.length - 1];\n // If last item is fixed, we should not remove it.\n if (!lastSelectOption.fixed) {\n handleUnselect(selected[selected.length - 1]);\n }\n }\n }\n\n // This is not a default behavior of the <input /> field\n if (e.key === 'Escape') {\n input.blur();\n }\n },\n [handleUnselect, selected]\n );\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n useEffect(() => {\n if (value) {\n setSelected(value);\n }\n }, [value]);\n\n useEffect(() => {\n /** If `onSearch` is provided, do not trigger options updated. */\n if (!arrayOptions || onSearch) {\n return;\n }\n const newOption = transToGroupOption(arrayOptions || [], groupBy);\n if (JSON.stringify(newOption) !== JSON.stringify(options)) {\n setOptions(newOption);\n }\n }, [arrayDefaultOptions, arrayOptions, groupBy, onSearch, options]);\n\n useEffect(() => {\n /** sync search */\n\n const doSearchSync = () => {\n const res = onSearchSync?.(debouncedSearchTerm);\n setOptions(transToGroupOption(res || [], groupBy));\n };\n\n const exec = async () => {\n if (!onSearchSync || !open) return;\n\n if (triggerSearchOnFocus) {\n doSearchSync();\n }\n\n if (debouncedSearchTerm) {\n doSearchSync();\n }\n };\n\n void exec();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedSearchTerm, groupBy, open, triggerSearchOnFocus]);\n\n useEffect(() => {\n /** async search */\n\n const doSearch = async () => {\n setIsLoading(true);\n const res = await onSearch?.(debouncedSearchTerm);\n setOptions(transToGroupOption(res || [], groupBy));\n setIsLoading(false);\n };\n\n const exec = async () => {\n if (!onSearch || !open) return;\n\n if (triggerSearchOnFocus) {\n await doSearch();\n }\n\n if (debouncedSearchTerm) {\n await doSearch();\n }\n };\n\n void exec();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedSearchTerm, groupBy, open, triggerSearchOnFocus]);\n\n const CreatableItem = () => {\n if (!creatable) return undefined;\n if (isOptionsExist(options, [{ value: inputValue, label: inputValue }]) || selected.find(s => s.value === inputValue)) {\n return undefined;\n }\n\n const Item = (\n <CommandItem\n value={inputValue}\n className=\"cursor-pointer\"\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={(value: string) => {\n if (selected.length >= maxSelected) {\n onMaxSelected?.(selected.length);\n return;\n }\n setInputValue('');\n const newOptions = [...selected, { value, label: value }];\n setSelected(newOptions);\n onChange?.(newOptions);\n }}\n >\n {`Create \"${inputValue}\"`}\n </CommandItem>\n );\n\n // For normal creatable\n if (!onSearch && inputValue.length > 0) {\n return Item;\n }\n\n // For async search creatable. avoid showing creatable item before loading at first.\n if (onSearch && debouncedSearchTerm.length > 0 && !isLoading) {\n return Item;\n }\n\n return undefined;\n };\n\n const EmptyItem = useCallback(() => {\n if (!emptyIndicator) return undefined;\n\n // For async search that showing emptyIndicator\n if (onSearch && !creatable && Object.keys(options).length === 0) {\n return (\n <CommandItem value=\"-\" disabled>\n {emptyIndicator}\n </CommandItem>\n );\n }\n\n return <CommandEmpty>{emptyIndicator}</CommandEmpty>;\n }, [creatable, emptyIndicator, onSearch, options]);\n\n const selectables = useMemo<GroupOption>(() => removePickedOption(options, selected), [options, selected]);\n\n /** Avoid Creatable Selector freezing or lagging when paste a long string. */\n const commandFilter = useCallback(() => {\n if (commandProps?.filter) {\n return commandProps.filter;\n }\n\n if (creatable) {\n return (value: string, search: string) => {\n return value.toLowerCase().includes(search.toLowerCase()) ? 1 : -1;\n };\n }\n // Using default filter in `cmdk`. We don&lsquo;t have to provide it.\n return undefined;\n }, [creatable, commandProps?.filter]);\n\n return (\n <Command\n ref={dropdownRef}\n {...commandProps}\n onKeyDown={e => {\n handleKeyDown(e);\n commandProps?.onKeyDown?.(e);\n }}\n className={cn('h-auto overflow-visible bg-transparent', commandProps?.className)}\n shouldFilter={commandProps?.shouldFilter !== undefined ? commandProps.shouldFilter : !onSearch} // When onSearch is provided, we don&lsquo;t want to filter the options. You can still override it.\n filter={commandFilter()}\n >\n <div\n className={cn(\n 'border-border-weak relative rounded-md border text-sm transition-shadow',\n 'focus-within:border-primary',\n 'focus-within:ring-primary-weak',\n 'focus-within:ring-4',\n 'focus-within:outline-hidden',\n 'has-disabled:bg-muted',\n 'has-disabled:text-muted-foreground',\n selected.length !== 0 && 'p-1',\n !disabled && selected.length !== 0 && 'cursor-text',\n !hideClearAllButton && 'pe-9',\n className\n )}\n onClick={() => {\n if (disabled) return;\n inputRef?.current?.focus();\n }}\n >\n <div className=\"flex flex-wrap gap-1\">\n {selected.map(option => {\n return (\n <div\n key={option.value}\n className={cn(\n 'animate-fadeIn',\n 'bg-background',\n 'hover:bg-background',\n 'border-border-weak border border-solid',\n 'text-text-positive-weak relative inline-flex h-7 cursor-default items-center rounded-md ps-2 pe-7 pl-2 text-xs font-medium transition-all',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-fixed:pe-2',\n badgeClassName\n )}\n data-fixed={option.fixed}\n data-disabled={disabled || undefined}\n >\n {option.label}\n <button\n type=\"button\"\n disabled={disabled || option.fixed}\n className={cn(\n 'text-text-positive-muted absolute -inset-y-px -end-px flex size-7 items-center justify-center rounded-e-lg border border-transparent p-0 outline-0 transition-colors',\n 'hover:text-foreground',\n 'focus-visible:outline',\n 'focus-visible:outline-2',\n 'focus-visible:outline-primary-weak',\n 'disabled:hover:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50'\n )}\n onKeyDown={e => {\n if (e.key !== 'Enter') return;\n handleUnselect(option);\n }}\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={() => handleUnselect(option)}\n aria-label=\"Remove\"\n >\n <X size={14} strokeWidth={2} aria-hidden=\"true\" />\n </button>\n </div>\n );\n })}\n {/* Avoid having the \"Search\" Icon */}\n <CommandPrimitive.Input\n {...inputProps}\n ref={inputRef}\n value={inputValue}\n disabled={disabled}\n onValueChange={value => {\n setInputValue(value);\n inputProps?.onValueChange?.(value);\n }}\n onBlur={event => {\n if (!onScrollbar) {\n setOpen(false);\n }\n inputProps?.onBlur?.(event);\n }}\n onFocus={event => {\n setOpen(true);\n if (triggerSearchOnFocus) {\n onSearch?.(debouncedSearchTerm);\n }\n inputProps?.onFocus?.(event);\n }}\n placeholder={hidePlaceholderWhenSelected && selected.length !== 0 ? '' : placeholder}\n className={cn(\n 'placeholder:text-text-positive-muted flex-1 bg-transparent outline-hidden',\n 'disabled:placeholder:text-transparent',\n {\n 'w-full': hidePlaceholderWhenSelected,\n 'px-3 py-2': selected.length === 0,\n 'ml-1': selected.length !== 0,\n },\n inputProps?.className\n )}\n />\n <button\n type=\"button\"\n onClick={() => {\n setSelected(selected.filter(s => s.fixed));\n onChange?.(selected.filter(s => s.fixed));\n }}\n className={cn(\n 'text-muted-foreground/80',\n 'absolute end-0 top-0 flex size-9 items-center justify-center rounded-lg border border-transparent transition-colors',\n 'focus-visible:outline-2',\n 'hover:text-text-positive',\n 'focus-visible:outline-primary-weak',\n (hideClearAllButton || disabled || selected.length < 1 || selected.filter(({ fixed }) => fixed).length === selected.length) && 'hidden'\n )}\n aria-label=\"Clear all\"\n >\n <X size={16} strokeWidth={2} aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n <div className=\"relative\">\n <div\n className={cn(\n 'shadow-dropdown absolute top-2 z-10 w-full overflow-hidden rounded-lg',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[state=open]:zoom-in-95',\n !open && 'hidden'\n )}\n data-state={open ? 'open' : 'closed'}\n >\n {open && (\n <CommandList\n className=\"shadow-lg outline-hidden\"\n onMouseLeave={() => {\n setOnScrollbar(false);\n }}\n onMouseEnter={() => {\n setOnScrollbar(true);\n }}\n onMouseUp={() => {\n inputRef?.current?.focus();\n }}\n >\n {onAddNewItem && (\n <>\n <CommandSeparator />\n <CommandGroup>\n <Button type=\"button\" variant=\"ghost\" className=\"w-full font-normal [&_div]:justify-start\" onClick={onAddNewItem}>\n <PlusIcon size={14} className=\"opacity-60\" aria-hidden=\"true\" />\n Thêm mới\n </Button>\n </CommandGroup>\n </>\n )}\n {isLoading ? (\n LoadingIndicator\n ) : (\n <>\n {EmptyItem()}\n {CreatableItem()}\n {!selectFirstItem && <CommandItem value=\"-\" className=\"hidden\" />}\n {Object.entries(selectables).map(([key, dropdowns]) => (\n <CommandGroup key={key} heading={key} className=\"h-full overflow-auto\">\n {dropdowns.map(option => {\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n disabled={option.disable}\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => {\n if (selected.length >= maxSelected) {\n onMaxSelected?.(selected.length);\n return;\n }\n const newOptions = [...selected, option];\n setInputValue('');\n setSelected(newOptions);\n onChange?.(newOptions);\n }}\n className={cn('cursor-pointer', option.disable && 'cursor-not-allowed opacity-50')}\n >\n {option.label}\n </CommandItem>\n );\n })}\n </CommandGroup>\n ))}\n </>\n )}\n </CommandList>\n )}\n </div>\n </div>\n </Command>\n );\n }\n);\n\nMultipleSelector.displayName = 'MultipleSelector';\n"],"mappings":"sgBAyFA,SAAgB,EAAe,EAAU,EAAmB,CAC1D,GAAM,CAAC,EAAgB,GAAqB,EAAY,EAAM,CAU9D,OARA,MAAgB,CACd,IAAM,EAAQ,eAAiB,EAAkB,EAAM,CAAE,GAAS,IAAI,CAEtE,UAAa,CACX,aAAa,EAAM,GAEpB,CAAC,EAAO,EAAM,CAAC,CAEX,EAGT,SAAS,EAAmB,EAAmB,EAAkB,CAC/D,GAAI,EAAQ,SAAW,EACrB,MAAO,EAAE,CAEX,GAAI,CAAC,EACH,MAAO,CACL,GAAI,EACL,CAGH,IAAMA,EAA2B,EAAE,CAQnC,OAPA,EAAQ,QAAQ,GAAU,CACxB,IAAM,EAAO,EAAO,IAAuB,GACtC,EAAY,KACf,EAAY,GAAO,EAAE,EAEvB,EAAY,GAAK,KAAK,EAAO,EAC7B,CACK,EAGT,SAAS,GAAmB,EAA0B,EAAkB,CACtE,IAAM,EAAc,KAAK,MAAM,KAAK,UAAU,EAAY,CAAC,CAE3D,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,EAAY,CACpD,EAAY,GAAO,EAAM,OAAO,GAAO,CAAC,EAAO,KAAK,GAAK,EAAE,QAAU,EAAI,MAAM,CAAC,CAElF,OAAO,EAGT,SAAS,GAAe,EAA0B,EAAwB,CACxE,IAAK,GAAM,EAAG,KAAU,OAAO,QAAQ,EAAY,CACjD,GAAI,EAAM,KAAK,GAAU,EAAa,KAAK,GAAK,EAAE,QAAU,EAAO,MAAM,CAAC,CACxE,MAAO,GAGX,MAAO,GAST,MAAM,EAAe,GAAiF,CAAE,YAAW,GAAG,GAAS,IAC9G,EAAgB,GAAS,EAAM,SAAS,QAAU,EAAE,CAI5D,EAAC,MAAA,CAAI,IAAK,EAAc,UAAW,EAAG,gCAAiC,EAAU,CAAE,aAAW,GAAG,KAAK,eAAe,GAAI,GAAS,CAFrH,KAGpB,CAEF,EAAa,YAAc,eAE3B,MAAa,EAAmB,GAE5B,CACE,QACA,WACA,cACA,eAAgB,EAAsB,EAAE,CACxC,QAAS,EACT,SACA,WACA,eACA,iBAAkB,GAClB,iBACA,sBACA,gBACA,8BACA,WACA,UACA,aACA,kBACA,mBAAkB,GAClB,YAAY,GACZ,uBAAuB,GACvB,eACA,aACA,qBAAqB,GACrB,gBAEF,KACG,CACH,IAAM,EAAW,EAAyB,KAAK,CACzC,EAAc,EAAuB,KAAK,CAE1C,CAAC,EAAM,GAAW,EAAS,GAAM,CACjC,CAAC,EAAa,GAAkB,EAAS,GAAM,CAC/C,CAAC,EAAW,GAAgB,EAAS,GAAM,CAE3C,CAAC,EAAU,GAAe,EAAmB,GAAS,EAAE,CAAC,CACzD,CAAC,EAAS,GAAc,EAAsB,EAAmB,EAAqB,EAAQ,CAAC,CAC/F,CAAC,EAAY,GAAiB,EAAS,GAAG,CAE1C,EAAsB,EAAY,EAAY,IAAS,IAAI,CAEjE,GACE,QACO,CACL,cAAe,CAAC,GAAG,EAAS,CAC5B,MAAO,EAAS,QAChB,UAAa,GAAU,SAAS,OAAO,CACvC,UAAa,EAAY,EAAE,CAAC,CAC7B,EACD,CAAC,EAAS,CACX,CAED,IAAM,EAAqB,EAAa,GAAmC,CACrE,EAAY,SAAW,CAAC,EAAY,QAAQ,SAAS,EAAM,OAAe,EAAI,EAAS,SAAW,CAAC,EAAS,QAAQ,SAAS,EAAM,OAAe,GACpJ,EAAQ,GAAM,CACd,EAAS,QAAQ,MAAM,GAExB,EAAE,CAAC,CAEA,EAAiB,EACpB,GAAmB,CAClB,IAAM,EAAa,EAAS,OAAO,GAAK,EAAE,QAAU,EAAO,MAAM,CACjE,EAAY,EAAW,CACvB,IAAW,EAAW,EAExB,CAAC,EAAU,EAAS,CACrB,CAEK,GAAgB,EACnB,GAA2C,CAC1C,IAAM,EAAQ,EAAS,QAClB,KAED,EAAE,MAAQ,UAAY,EAAE,MAAQ,cAC9B,EAAM,QAAU,IAAM,EAAS,OAAS,IACjB,EAAS,EAAS,OAAS,GAE9B,OACpB,EAAe,EAAS,EAAS,OAAS,GAAG,EAM/C,EAAE,MAAQ,UACZ,EAAM,MAAM,GAGhB,CAAC,EAAgB,EAAS,CAC3B,CAED,OACM,GACF,SAAS,iBAAiB,YAAa,EAAmB,CAC1D,SAAS,iBAAiB,WAAY,EAAmB,GAEzD,SAAS,oBAAoB,YAAa,EAAmB,CAC7D,SAAS,oBAAoB,WAAY,EAAmB,MAGjD,CACX,SAAS,oBAAoB,YAAa,EAAmB,CAC7D,SAAS,oBAAoB,WAAY,EAAmB,GAG7D,CAAC,EAAK,CAAC,CAEV,MAAgB,CACV,GACF,EAAY,EAAM,EAEnB,CAAC,EAAM,CAAC,CAEX,MAAgB,CAEd,GAAI,CAAC,GAAgB,EACnB,OAEF,IAAM,EAAY,EAAmB,GAAgB,EAAE,CAAE,EAAQ,CAC7D,KAAK,UAAU,EAAU,GAAK,KAAK,UAAU,EAAQ,EACvD,EAAW,EAAU,EAEtB,CAAC,EAAqB,EAAc,EAAS,EAAU,EAAQ,CAAC,CAEnE,MAAgB,CAGd,IAAM,MAAqB,CACzB,IAAM,EAAM,IAAe,EAAoB,CAC/C,EAAW,EAAmB,GAAO,EAAE,CAAE,EAAQ,CAAC,GAGvC,SAAY,CACnB,CAAC,GAAgB,CAAC,IAElB,GACF,GAAc,CAGZ,GACF,GAAc,KAIP,EAEV,CAAC,EAAqB,EAAS,EAAM,EAAqB,CAAC,CAE9D,MAAgB,CAGd,IAAM,EAAW,SAAY,CAC3B,EAAa,GAAK,CAClB,IAAM,EAAM,MAAM,IAAW,EAAoB,CACjD,EAAW,EAAmB,GAAO,EAAE,CAAE,EAAQ,CAAC,CAClD,EAAa,GAAM,GAGR,SAAY,CACnB,CAAC,GAAY,CAAC,IAEd,GACF,MAAM,GAAU,CAGd,GACF,MAAM,GAAU,KAIT,EAEV,CAAC,EAAqB,EAAS,EAAM,EAAqB,CAAC,CAE9D,IAAM,OAAsB,CAE1B,GADI,CAAC,GACD,GAAe,EAAS,CAAC,CAAE,MAAO,EAAY,MAAO,EAAY,CAAC,CAAC,EAAI,EAAS,KAAK,GAAK,EAAE,QAAU,EAAW,CACnH,OAGF,IAAM,EACJ,EAAC,EAAA,CACC,MAAO,EACP,UAAU,iBACV,YAAa,GAAK,CAChB,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,EAErB,SAAW,GAAkB,CAC3B,GAAI,EAAS,QAAU,EAAa,CAClC,IAAgB,EAAS,OAAO,CAChC,OAEF,EAAc,GAAG,CACjB,IAAM,EAAa,CAAC,GAAG,EAAU,CAAE,MAAA,EAAO,MAAOC,EAAO,CAAC,CACzD,EAAY,EAAW,CACvB,IAAW,EAAW,WAGvB,WAAW,EAAW,IACX,CAShB,GALI,CAAC,GAAY,EAAW,OAAS,GAKjC,GAAY,EAAoB,OAAS,GAAK,CAAC,EACjD,OAAO,GAML,GAAY,MAAkB,CAC7B,KAWL,OARI,GAAY,CAAC,GAAa,OAAO,KAAK,EAAQ,CAAC,SAAW,EAE1D,EAAC,EAAA,CAAY,MAAM,IAAI,SAAA,YACpB,GACW,CAIX,EAAC,EAAA,CAAA,SAAc,EAAA,CAA8B,EACnD,CAAC,EAAW,EAAgB,EAAU,EAAQ,CAAC,CAE5C,GAAc,OAA2B,GAAmB,EAAS,EAAS,CAAE,CAAC,EAAS,EAAS,CAAC,CAGpG,GAAgB,MAAkB,CACtC,GAAI,GAAc,OAChB,OAAO,EAAa,OAGtB,GAAI,EACF,OAAQ,EAAe,IACdA,EAAM,aAAa,CAAC,SAAS,EAAO,aAAa,CAAC,CAAG,EAAI,IAKnE,CAAC,EAAW,GAAc,OAAO,CAAC,CAErC,OACE,EAACC,EAAAA,CACC,IAAK,EACL,GAAI,EACJ,UAAW,GAAK,CACd,GAAc,EAAE,CAChB,GAAc,YAAY,EAAE,EAE9B,UAAW,EAAG,yCAA0C,GAAc,UAAU,CAChF,aAAc,GAAc,eAAiB,IAAA,GAAwC,CAAC,EAA7B,EAAa,aACtE,OAAQ,IAAe,WAEvB,EAAC,MAAA,CACC,UAAW,EACT,0EACA,8BACA,iCACA,sBACA,8BACA,wBACA,qCACA,EAAS,SAAW,GAAK,MACzB,CAAC,GAAY,EAAS,SAAW,GAAK,cACtC,CAAC,GAAsB,OACvB,GACD,CACD,YAAe,CACT,GACJ,GAAU,SAAS,OAAO,WAG5B,EAAC,MAAA,CAAI,UAAU,iCACZ,EAAS,IAAI,GAEV,EAAC,MAAA,CAEC,UAAW,EACT,iBACA,gBACA,sBACA,yCACA,4IACA,8BACA,sBACA,kBACA,GACD,CACD,aAAY,EAAO,MACnB,gBAAe,GAAY,IAAA,aAE1B,EAAO,MACR,EAAC,SAAA,CACC,KAAK,SACL,SAAU,GAAY,EAAO,MAC7B,UAAW,EACT,uKACA,wBACA,wBACA,0BACA,qCACA,uFACD,CACD,UAAW,GAAK,CACV,EAAE,MAAQ,SACd,EAAe,EAAO,EAExB,YAAa,GAAK,CAChB,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,EAErB,YAAe,EAAe,EAAO,CACrC,aAAW,kBAEX,EAAC,EAAA,CAAE,KAAM,GAAI,YAAa,EAAG,cAAY,QAAS,EAC3C,CAAA,EAvCJ,EAAO,MAwCR,CAER,CAEF,EAACC,EAAiB,MAAA,CAChB,GAAI,EACJ,IAAK,EACL,MAAO,EACG,WACV,cAAe,GAAS,CACtB,EAAcF,EAAM,CACpB,GAAY,gBAAgBA,EAAM,EAEpC,OAAQ,GAAS,CACV,GACH,EAAQ,GAAM,CAEhB,GAAY,SAAS,EAAM,EAE7B,QAAS,GAAS,CAChB,EAAQ,GAAK,CACT,GACF,IAAW,EAAoB,CAEjC,GAAY,UAAU,EAAM,EAE9B,YAAa,GAA+B,EAAS,SAAW,EAAI,GAAK,EACzE,UAAW,EACT,4EACA,wCACA,CACE,SAAU,EACV,YAAa,EAAS,SAAW,EACjC,OAAQ,EAAS,SAAW,EAC7B,CACD,GAAY,UACb,EACD,CACF,EAAC,SAAA,CACC,KAAK,SACL,YAAe,CACb,EAAY,EAAS,OAAO,GAAK,EAAE,MAAM,CAAC,CAC1C,IAAW,EAAS,OAAO,GAAK,EAAE,MAAM,CAAC,EAE3C,UAAW,EACT,2BACA,sHACA,0BACA,2BACA,sCACC,GAAsB,GAAY,EAAS,OAAS,GAAK,EAAS,QAAQ,CAAE,WAAY,EAAM,CAAC,SAAW,EAAS,SAAW,SAChI,CACD,aAAW,qBAEX,EAAC,EAAA,CAAE,KAAM,GAAI,YAAa,EAAG,cAAY,QAAS,EAC3C,GACL,EACF,CACN,EAAC,MAAA,CAAI,UAAU,oBACb,EAAC,MAAA,CACC,UAAW,EACT,wEACA,+BACA,kCACA,iCACA,8BACA,kCACA,+BACA,CAAC,GAAQ,SACV,CACD,aAAY,EAAO,OAAS,kBAE3B,GACC,EAAC,GAAA,CACC,UAAU,2BACV,iBAAoB,CAClB,EAAe,GAAM,EAEvB,iBAAoB,CAClB,EAAe,GAAK,EAEtB,cAAiB,CACf,GAAU,SAAS,OAAO,YAG3B,GACC,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAA,EAAA,CAAmB,CACpB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAO,KAAK,SAAS,QAAQ,QAAQ,UAAU,2CAA2C,QAAS,YAClG,EAAC,GAAA,CAAS,KAAM,GAAI,UAAU,aAAa,cAAY,QAAS,CAAA,WAAA,EAEzD,CAAA,CACI,CAAA,CAAA,CACd,CAEJ,EACC,GAEA,EAAA,EAAA,CAAA,SAAA,CACG,IAAW,CACX,IAAe,CACf,CAAC,IAAmB,EAAC,EAAA,CAAY,MAAM,IAAI,UAAU,UAAW,CAChE,OAAO,QAAQ,GAAY,CAAC,KAAK,CAAC,EAAK,KACtC,EAAC,EAAA,CAAuB,QAAS,EAAK,UAAU,gCAC7C,EAAU,IAAI,GAEX,EAAC,EAAA,CAEC,MAAO,EAAO,MACd,SAAU,EAAO,QACjB,YAAa,GAAK,CAChB,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,EAErB,aAAgB,CACd,GAAI,EAAS,QAAU,EAAa,CAClC,IAAgB,EAAS,OAAO,CAChC,OAEF,IAAM,EAAa,CAAC,GAAG,EAAU,EAAO,CACxC,EAAc,GAAG,CACjB,EAAY,EAAW,CACvB,IAAW,EAAW,EAExB,UAAW,EAAG,iBAAkB,EAAO,SAAW,gCAAgC,UAEjF,EAAO,OAnBH,EAAO,MAoBA,CAEhB,EA1Be,EA2BJ,CACf,GACD,CAAA,EAEO,EAEZ,EACF,CAAA,EACE,EAGf,CAED,EAAiB,YAAc"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./button-BaLuKPtr.cjs`),n=require(`./command-C13pL2M3.cjs`);let r=require(`lucide-react`);r=e.__toESM(r);let i=require(`@customafk/react-toolkit/utils`);i=e.__toESM(i);let a=require(`react`);a=e.__toESM(a);let o=require(`react/jsx-runtime`);o=e.__toESM(o);let s=require(`cmdk`);s=e.__toESM(s);function c(e,t){let[n,r]=(0,a.useState)(e);return(0,a.useEffect)(()=>{let n=setTimeout(()=>r(e),t||500);return()=>{clearTimeout(n)}},[e,t]),n}function l(e,t){if(e.length===0)return{};if(!t)return{"":e};let n={};return e.forEach(e=>{let r=e[t]||``;n[r]||(n[r]=[]),n[r].push(e)}),n}function u(e,t){let n=JSON.parse(JSON.stringify(e));for(let[e,r]of Object.entries(n))n[e]=r.filter(e=>!t.find(t=>t.value===e.value));return n}function d(e,t){for(let[,n]of Object.entries(e))if(n.some(e=>t.find(t=>t.value===e.value)))return!0;return!1}const f=(0,a.forwardRef)(({className:e,...t},n)=>(0,s.useCommandState)(e=>e.filtered.count===0)?(0,o.jsx)(`div`,{ref:n,className:(0,i.cn)(`px-2 py-4 text-center text-sm`,e),"cmdk-empty":``,role:`presentation`,...t}):null);f.displayName=`CommandEmpty`;const p=(0,a.forwardRef)(({value:e,onChange:p,placeholder:m,defaultOptions:h=[],options:g,delay:_,onSearch:v,onSearchSync:y,loadingIndicator:b,emptyIndicator:x,maxSelected:S=2**53-1,onMaxSelected:C,hidePlaceholderWhenSelected:w,disabled:T,groupBy:E,className:D,badgeClassName:O,selectFirstItem:k=!0,creatable:A=!1,triggerSearchOnFocus:j=!1,commandProps:M,inputProps:N,hideClearAllButton:P=!1,onAddNewItem:F},I)=>{let L=(0,a.useRef)(null),R=(0,a.useRef)(null),[z,B]=(0,a.useState)(!1),[V,H]=(0,a.useState)(!1),[U,W]=(0,a.useState)(!1),[G,K]=(0,a.useState)(e||[]),[q,J]=(0,a.useState)(l(h,E)),[Y,X]=(0,a.useState)(``),Z=c(Y,_||500);(0,a.useImperativeHandle)(I,()=>({selectedValue:[...G],input:L.current,focus:()=>L?.current?.focus(),reset:()=>K([])}),[G]);let Q=(0,a.useCallback)(e=>{R.current&&!R.current.contains(e.target)&&L.current&&!L.current.contains(e.target)&&(B(!1),L.current.blur())},[]),$=(0,a.useCallback)(e=>{let t=G.filter(t=>t.value!==e.value);K(t),p?.(t)},[p,G]),ee=(0,a.useCallback)(e=>{let t=L.current;t&&((e.key===`Delete`||e.key===`Backspace`)&&t.value===``&&G.length>0&&(G[G.length-1].fixed||$(G[G.length-1])),e.key===`Escape`&&t.blur())},[$,G]);(0,a.useEffect)(()=>(z?(document.addEventListener(`mousedown`,Q),document.addEventListener(`touchend`,Q)):(document.removeEventListener(`mousedown`,Q),document.removeEventListener(`touchend`,Q)),()=>{document.removeEventListener(`mousedown`,Q),document.removeEventListener(`touchend`,Q)}),[z]),(0,a.useEffect)(()=>{e&&K(e)},[e]),(0,a.useEffect)(()=>{if(!g||v)return;let e=l(g||[],E);JSON.stringify(e)!==JSON.stringify(q)&&J(e)},[h,g,E,v,q]),(0,a.useEffect)(()=>{let e=()=>{let e=y?.(Z);J(l(e||[],E))};(async()=>{!y||!z||(j&&e(),Z&&e())})()},[Z,E,z,j]),(0,a.useEffect)(()=>{let e=async()=>{W(!0);let e=await v?.(Z);J(l(e||[],E)),W(!1)};(async()=>{!v||!z||(j&&await e(),Z&&await e())})()},[Z,E,z,j]);let te=()=>{if(!A||d(q,[{value:Y,label:Y}])||G.find(e=>e.value===Y))return;let e=(0,o.jsx)(n.CommandItem,{value:Y,className:`cursor-pointer`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:e=>{if(G.length>=S){C?.(G.length);return}X(``);let t=[...G,{value:e,label:e}];K(t),p?.(t)},children:`Create "${Y}"`});if(!v&&Y.length>0||v&&Z.length>0&&!U)return e},ne=(0,a.useCallback)(()=>{if(x)return v&&!A&&Object.keys(q).length===0?(0,o.jsx)(n.CommandItem,{value:`-`,disabled:!0,children:x}):(0,o.jsx)(f,{children:x})},[A,x,v,q]),re=(0,a.useMemo)(()=>u(q,G),[q,G]),ie=(0,a.useCallback)(()=>{if(M?.filter)return M.filter;if(A)return(e,t)=>e.toLowerCase().includes(t.toLowerCase())?1:-1},[A,M?.filter]);return(0,o.jsxs)(n.Command,{ref:R,...M,onKeyDown:e=>{ee(e),M?.onKeyDown?.(e)},className:(0,i.cn)(`h-auto overflow-visible bg-transparent`,M?.className),shouldFilter:M?.shouldFilter===void 0?!v:M.shouldFilter,filter:ie(),children:[(0,o.jsx)(`div`,{className:(0,i.cn)(`border-border-weak relative rounded-md border text-sm transition-shadow`,`focus-within:border-primary`,`focus-within:ring-primary-weak`,`focus-within:ring-4`,`focus-within:outline-hidden`,`has-disabled:bg-muted`,`has-disabled:text-muted-foreground`,G.length!==0&&`p-1`,!T&&G.length!==0&&`cursor-text`,!P&&`pe-9`,D),onClick:()=>{T||L?.current?.focus()},children:(0,o.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[G.map(e=>(0,o.jsxs)(`div`,{className:(0,i.cn)(`animate-fadeIn`,`bg-background`,`hover:bg-background`,`border-border-weak border border-solid`,`text-text-positive-weak relative inline-flex h-7 cursor-default items-center rounded-md ps-2 pe-7 pl-2 text-xs font-medium transition-all`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-fixed:pe-2`,O),"data-fixed":e.fixed,"data-disabled":T||void 0,children:[e.label,(0,o.jsx)(`button`,{type:`button`,disabled:T||e.fixed,className:(0,i.cn)(`text-text-positive-muted absolute -inset-y-px -end-px flex size-7 items-center justify-center rounded-e-lg border border-transparent p-0 outline-0 transition-colors`,`hover:text-foreground`,`focus-visible:outline`,`focus-visible:outline-2`,`focus-visible:outline-primary-weak`,`disabled:hover:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`),onKeyDown:t=>{t.key===`Enter`&&$(e)},onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:()=>$(e),"aria-label":`Remove`,children:(0,o.jsx)(r.X,{size:14,strokeWidth:2,"aria-hidden":`true`})})]},e.value)),(0,o.jsx)(s.Command.Input,{...N,ref:L,value:Y,disabled:T,onValueChange:e=>{X(e),N?.onValueChange?.(e)},onBlur:e=>{V||B(!1),N?.onBlur?.(e)},onFocus:e=>{B(!0),j&&v?.(Z),N?.onFocus?.(e)},placeholder:w&&G.length!==0?``:m,className:(0,i.cn)(`placeholder:text-text-positive-muted flex-1 bg-transparent outline-hidden`,`disabled:placeholder:text-transparent`,{"w-full":w,"px-3 py-2":G.length===0,"ml-1":G.length!==0},N?.className)}),(0,o.jsx)(`button`,{type:`button`,onClick:()=>{K(G.filter(e=>e.fixed)),p?.(G.filter(e=>e.fixed))},className:(0,i.cn)(`text-muted-foreground/80`,`absolute end-0 top-0 flex size-9 items-center justify-center rounded-lg border border-transparent transition-colors`,`focus-visible:outline-2`,`hover:text-text-positive`,`focus-visible:outline-primary-weak`,(P||T||G.length<1||G.filter(({fixed:e})=>e).length===G.length)&&`hidden`),"aria-label":`Clear all`,children:(0,o.jsx)(r.X,{size:16,strokeWidth:2,"aria-hidden":`true`})})]})}),(0,o.jsx)(`div`,{className:`relative`,children:(0,o.jsx)(`div`,{className:(0,i.cn)(`shadow-dropdown absolute top-2 z-10 w-full overflow-hidden rounded-lg`,`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`,!z&&`hidden`),"data-state":z?`open`:`closed`,children:z&&(0,o.jsxs)(n.CommandList,{className:`shadow-lg outline-hidden`,onMouseLeave:()=>{H(!1)},onMouseEnter:()=>{H(!0)},onMouseUp:()=>{L?.current?.focus()},children:[F&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.CommandSeparator,{}),(0,o.jsx)(n.CommandGroup,{children:(0,o.jsxs)(t.Button,{type:`button`,variant:`ghost`,className:`w-full font-normal [&_div]:justify-start`,onClick:F,children:[(0,o.jsx)(r.PlusIcon,{size:14,className:`opacity-60`,"aria-hidden":`true`}),`Thêm mới`]})})]}),U?b:(0,o.jsxs)(o.Fragment,{children:[ne(),te(),!k&&(0,o.jsx)(n.CommandItem,{value:`-`,className:`hidden`}),Object.entries(re).map(([e,t])=>(0,o.jsx)(n.CommandGroup,{heading:e,className:`h-full overflow-auto`,children:t.map(e=>(0,o.jsx)(n.CommandItem,{value:e.value,disabled:e.disable,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:()=>{if(G.length>=S){C?.(G.length);return}let t=[...G,e];X(``),K(t),p?.(t)},className:(0,i.cn)(`cursor-pointer`,e.disable&&`cursor-not-allowed opacity-50`),children:e.label},e.value))},e))]})]})})})]})});p.displayName=`MultipleSelector`,Object.defineProperty(exports,`MultipleSelector`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`useDebounce`,{enumerable:!0,get:function(){return c}});
2
+ //# sourceMappingURL=multi-select-D38JwSYL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select-D38JwSYL.cjs","names":["groupOption: GroupOption","CommandItem","value","Command","X","CommandPrimitive","CommandList","CommandSeparator","CommandGroup","Button","PlusIcon"],"sources":["../packages/components/ui/multi-select.tsx"],"sourcesContent":["'use client';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { PlusIcon, X } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\nimport { Command, CommandGroup, CommandItem, CommandList, CommandSeparator } from '@/components/ui/command';\n\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nexport interface Option {\n value: string;\n label: string;\n disable?: boolean;\n /** fixed option that can&lsquo;t be removed. */\n fixed?: boolean;\n /** Group the options by providing key. */\n [key: string]: string | boolean | undefined;\n}\ninterface GroupOption {\n [key: string]: Option[];\n}\n\ninterface MultipleSelectorProps {\n value?: Option[];\n defaultOptions?: Option[];\n /** manually controlled options */\n options?: Option[];\n placeholder?: string;\n /** Loading component. */\n loadingIndicator?: React.ReactNode;\n /** Empty component. */\n emptyIndicator?: React.ReactNode;\n /** Debounce time for async search. Only work with `onSearch`. */\n delay?: number;\n /**\n * Only work with `onSearch` prop. Trigger search when `onFocus`.\n * For example, when user click on the input, it will trigger the search to get initial options.\n **/\n triggerSearchOnFocus?: boolean;\n /** async search */\n onSearch?: (value: string) => Promise<Option[]>;\n /**\n * sync search. This search will not showing loadingIndicator.\n * The rest props are the same as async search.\n * i.e.: creatable, groupBy, delay.\n **/\n onSearchSync?: (value: string) => Option[];\n onChange?: (options: Option[]) => void;\n /** Limit the maximum number of selected options. */\n maxSelected?: number;\n /** When the number of selected options exceeds the limit, the onMaxSelected will be called. */\n onMaxSelected?: (maxLimit: number) => void;\n /** Hide the placeholder when there are options selected. */\n hidePlaceholderWhenSelected?: boolean;\n disabled?: boolean;\n /** Group the options base on provided key. */\n groupBy?: string;\n className?: string;\n badgeClassName?: string;\n /**\n * First item selected is a default behavior by cmdk. That is why the default is true.\n * This is a workaround solution by add a dummy item.\n *\n * @reference: https://github.com/pacocoursey/cmdk/issues/171\n */\n selectFirstItem?: boolean;\n /** Allow user to create option when there is no option matched. */\n creatable?: boolean;\n /** Props of `Command` */\n commandProps?: React.ComponentPropsWithoutRef<typeof Command>;\n /** Props of `CommandInput` */\n inputProps?: Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'placeholder' | 'disabled'>;\n /** hide the clear all button. */\n hideClearAllButton?: boolean;\n\n /** Add new item event for select with search */\n onAddNewItem?: () => void;\n}\n\nexport interface MultipleSelectorRef {\n selectedValue: Option[];\n input: HTMLInputElement;\n focus: () => void;\n reset: () => void;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport function useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nfunction transToGroupOption(options: Option[], groupBy?: string) {\n if (options.length === 0) {\n return {};\n }\n if (!groupBy) {\n return {\n '': options,\n };\n }\n\n const groupOption: GroupOption = {};\n options.forEach(option => {\n const key = (option[groupBy] as string) || '';\n if (!groupOption[key]) {\n groupOption[key] = [];\n }\n groupOption[key].push(option);\n });\n return groupOption;\n}\n\nfunction removePickedOption(groupOption: GroupOption, picked: Option[]) {\n const cloneOption = JSON.parse(JSON.stringify(groupOption)) as GroupOption;\n\n for (const [key, value] of Object.entries(cloneOption)) {\n cloneOption[key] = value.filter(val => !picked.find(p => p.value === val.value));\n }\n return cloneOption;\n}\n\nfunction isOptionsExist(groupOption: GroupOption, targetOption: Option[]) {\n for (const [, value] of Object.entries(groupOption)) {\n if (value.some(option => targetOption.find(p => p.value === option.value))) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The `CommandEmpty` of shadcn/ui will cause the cmdk empty not rendering correctly.\n * So we create one and copy the `Empty` implementation from `cmdk`.\n *\n * @reference: https://github.com/hsuanyi-chou/shadcn-ui-expansions/issues/34#issuecomment-1949561607\n **/\nconst CommandEmpty = forwardRef<HTMLDivElement, React.ComponentProps<typeof CommandPrimitive.Empty>>(({ className, ...props }, forwardedRef) => {\n const render = useCommandState(state => state.filtered.count === 0);\n\n if (!render) return null;\n\n return <div ref={forwardedRef} className={cn('px-2 py-4 text-center text-sm', className)} cmdk-empty=\"\" role=\"presentation\" {...props} />;\n});\n\nCommandEmpty.displayName = 'CommandEmpty';\n\nexport const MultipleSelector = forwardRef<MultipleSelectorRef, MultipleSelectorProps>(\n (\n {\n value,\n onChange,\n placeholder,\n defaultOptions: arrayDefaultOptions = [],\n options: arrayOptions,\n delay,\n onSearch,\n onSearchSync,\n loadingIndicator: LoadingIndicator,\n emptyIndicator,\n maxSelected = Number.MAX_SAFE_INTEGER,\n onMaxSelected,\n hidePlaceholderWhenSelected,\n disabled,\n groupBy,\n className,\n badgeClassName,\n selectFirstItem = true,\n creatable = false,\n triggerSearchOnFocus = false,\n commandProps,\n inputProps,\n hideClearAllButton = false,\n onAddNewItem,\n }: MultipleSelectorProps,\n ref: React.Ref<MultipleSelectorRef>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null); // Added this\n\n const [open, setOpen] = useState(false);\n const [onScrollbar, setOnScrollbar] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const [selected, setSelected] = useState<Option[]>(value || []);\n const [options, setOptions] = useState<GroupOption>(transToGroupOption(arrayDefaultOptions, groupBy));\n const [inputValue, setInputValue] = useState('');\n\n const debouncedSearchTerm = useDebounce(inputValue, delay || 500);\n\n useImperativeHandle(\n ref,\n () => ({\n selectedValue: [...selected],\n input: inputRef.current as HTMLInputElement,\n focus: () => inputRef?.current?.focus(),\n reset: () => setSelected([]),\n }),\n [selected]\n );\n\n const handleClickOutside = useCallback((event: MouseEvent | TouchEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node) && inputRef.current && !inputRef.current.contains(event.target as Node)) {\n setOpen(false);\n inputRef.current.blur();\n }\n }, []);\n\n const handleUnselect = useCallback(\n (option: Option) => {\n const newOptions = selected.filter(s => s.value !== option.value);\n setSelected(newOptions);\n onChange?.(newOptions);\n },\n [onChange, selected]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current;\n if (!input) return;\n\n if (e.key === 'Delete' || e.key === 'Backspace') {\n if (input.value === '' && selected.length > 0) {\n const lastSelectOption = selected[selected.length - 1];\n // If last item is fixed, we should not remove it.\n if (!lastSelectOption.fixed) {\n handleUnselect(selected[selected.length - 1]);\n }\n }\n }\n\n // This is not a default behavior of the <input /> field\n if (e.key === 'Escape') {\n input.blur();\n }\n },\n [handleUnselect, selected]\n );\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n useEffect(() => {\n if (value) {\n setSelected(value);\n }\n }, [value]);\n\n useEffect(() => {\n /** If `onSearch` is provided, do not trigger options updated. */\n if (!arrayOptions || onSearch) {\n return;\n }\n const newOption = transToGroupOption(arrayOptions || [], groupBy);\n if (JSON.stringify(newOption) !== JSON.stringify(options)) {\n setOptions(newOption);\n }\n }, [arrayDefaultOptions, arrayOptions, groupBy, onSearch, options]);\n\n useEffect(() => {\n /** sync search */\n\n const doSearchSync = () => {\n const res = onSearchSync?.(debouncedSearchTerm);\n setOptions(transToGroupOption(res || [], groupBy));\n };\n\n const exec = async () => {\n if (!onSearchSync || !open) return;\n\n if (triggerSearchOnFocus) {\n doSearchSync();\n }\n\n if (debouncedSearchTerm) {\n doSearchSync();\n }\n };\n\n void exec();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedSearchTerm, groupBy, open, triggerSearchOnFocus]);\n\n useEffect(() => {\n /** async search */\n\n const doSearch = async () => {\n setIsLoading(true);\n const res = await onSearch?.(debouncedSearchTerm);\n setOptions(transToGroupOption(res || [], groupBy));\n setIsLoading(false);\n };\n\n const exec = async () => {\n if (!onSearch || !open) return;\n\n if (triggerSearchOnFocus) {\n await doSearch();\n }\n\n if (debouncedSearchTerm) {\n await doSearch();\n }\n };\n\n void exec();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedSearchTerm, groupBy, open, triggerSearchOnFocus]);\n\n const CreatableItem = () => {\n if (!creatable) return undefined;\n if (isOptionsExist(options, [{ value: inputValue, label: inputValue }]) || selected.find(s => s.value === inputValue)) {\n return undefined;\n }\n\n const Item = (\n <CommandItem\n value={inputValue}\n className=\"cursor-pointer\"\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={(value: string) => {\n if (selected.length >= maxSelected) {\n onMaxSelected?.(selected.length);\n return;\n }\n setInputValue('');\n const newOptions = [...selected, { value, label: value }];\n setSelected(newOptions);\n onChange?.(newOptions);\n }}\n >\n {`Create \"${inputValue}\"`}\n </CommandItem>\n );\n\n // For normal creatable\n if (!onSearch && inputValue.length > 0) {\n return Item;\n }\n\n // For async search creatable. avoid showing creatable item before loading at first.\n if (onSearch && debouncedSearchTerm.length > 0 && !isLoading) {\n return Item;\n }\n\n return undefined;\n };\n\n const EmptyItem = useCallback(() => {\n if (!emptyIndicator) return undefined;\n\n // For async search that showing emptyIndicator\n if (onSearch && !creatable && Object.keys(options).length === 0) {\n return (\n <CommandItem value=\"-\" disabled>\n {emptyIndicator}\n </CommandItem>\n );\n }\n\n return <CommandEmpty>{emptyIndicator}</CommandEmpty>;\n }, [creatable, emptyIndicator, onSearch, options]);\n\n const selectables = useMemo<GroupOption>(() => removePickedOption(options, selected), [options, selected]);\n\n /** Avoid Creatable Selector freezing or lagging when paste a long string. */\n const commandFilter = useCallback(() => {\n if (commandProps?.filter) {\n return commandProps.filter;\n }\n\n if (creatable) {\n return (value: string, search: string) => {\n return value.toLowerCase().includes(search.toLowerCase()) ? 1 : -1;\n };\n }\n // Using default filter in `cmdk`. We don&lsquo;t have to provide it.\n return undefined;\n }, [creatable, commandProps?.filter]);\n\n return (\n <Command\n ref={dropdownRef}\n {...commandProps}\n onKeyDown={e => {\n handleKeyDown(e);\n commandProps?.onKeyDown?.(e);\n }}\n className={cn('h-auto overflow-visible bg-transparent', commandProps?.className)}\n shouldFilter={commandProps?.shouldFilter !== undefined ? commandProps.shouldFilter : !onSearch} // When onSearch is provided, we don&lsquo;t want to filter the options. You can still override it.\n filter={commandFilter()}\n >\n <div\n className={cn(\n 'border-border-weak relative rounded-md border text-sm transition-shadow',\n 'focus-within:border-primary',\n 'focus-within:ring-primary-weak',\n 'focus-within:ring-4',\n 'focus-within:outline-hidden',\n 'has-disabled:bg-muted',\n 'has-disabled:text-muted-foreground',\n selected.length !== 0 && 'p-1',\n !disabled && selected.length !== 0 && 'cursor-text',\n !hideClearAllButton && 'pe-9',\n className\n )}\n onClick={() => {\n if (disabled) return;\n inputRef?.current?.focus();\n }}\n >\n <div className=\"flex flex-wrap gap-1\">\n {selected.map(option => {\n return (\n <div\n key={option.value}\n className={cn(\n 'animate-fadeIn',\n 'bg-background',\n 'hover:bg-background',\n 'border-border-weak border border-solid',\n 'text-text-positive-weak relative inline-flex h-7 cursor-default items-center rounded-md ps-2 pe-7 pl-2 text-xs font-medium transition-all',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-fixed:pe-2',\n badgeClassName\n )}\n data-fixed={option.fixed}\n data-disabled={disabled || undefined}\n >\n {option.label}\n <button\n type=\"button\"\n disabled={disabled || option.fixed}\n className={cn(\n 'text-text-positive-muted absolute -inset-y-px -end-px flex size-7 items-center justify-center rounded-e-lg border border-transparent p-0 outline-0 transition-colors',\n 'hover:text-foreground',\n 'focus-visible:outline',\n 'focus-visible:outline-2',\n 'focus-visible:outline-primary-weak',\n 'disabled:hover:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50'\n )}\n onKeyDown={e => {\n if (e.key !== 'Enter') return;\n handleUnselect(option);\n }}\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={() => handleUnselect(option)}\n aria-label=\"Remove\"\n >\n <X size={14} strokeWidth={2} aria-hidden=\"true\" />\n </button>\n </div>\n );\n })}\n {/* Avoid having the \"Search\" Icon */}\n <CommandPrimitive.Input\n {...inputProps}\n ref={inputRef}\n value={inputValue}\n disabled={disabled}\n onValueChange={value => {\n setInputValue(value);\n inputProps?.onValueChange?.(value);\n }}\n onBlur={event => {\n if (!onScrollbar) {\n setOpen(false);\n }\n inputProps?.onBlur?.(event);\n }}\n onFocus={event => {\n setOpen(true);\n if (triggerSearchOnFocus) {\n onSearch?.(debouncedSearchTerm);\n }\n inputProps?.onFocus?.(event);\n }}\n placeholder={hidePlaceholderWhenSelected && selected.length !== 0 ? '' : placeholder}\n className={cn(\n 'placeholder:text-text-positive-muted flex-1 bg-transparent outline-hidden',\n 'disabled:placeholder:text-transparent',\n {\n 'w-full': hidePlaceholderWhenSelected,\n 'px-3 py-2': selected.length === 0,\n 'ml-1': selected.length !== 0,\n },\n inputProps?.className\n )}\n />\n <button\n type=\"button\"\n onClick={() => {\n setSelected(selected.filter(s => s.fixed));\n onChange?.(selected.filter(s => s.fixed));\n }}\n className={cn(\n 'text-muted-foreground/80',\n 'absolute end-0 top-0 flex size-9 items-center justify-center rounded-lg border border-transparent transition-colors',\n 'focus-visible:outline-2',\n 'hover:text-text-positive',\n 'focus-visible:outline-primary-weak',\n (hideClearAllButton || disabled || selected.length < 1 || selected.filter(({ fixed }) => fixed).length === selected.length) && 'hidden'\n )}\n aria-label=\"Clear all\"\n >\n <X size={16} strokeWidth={2} aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n <div className=\"relative\">\n <div\n className={cn(\n 'shadow-dropdown absolute top-2 z-10 w-full overflow-hidden rounded-lg',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[state=open]:zoom-in-95',\n !open && 'hidden'\n )}\n data-state={open ? 'open' : 'closed'}\n >\n {open && (\n <CommandList\n className=\"shadow-lg outline-hidden\"\n onMouseLeave={() => {\n setOnScrollbar(false);\n }}\n onMouseEnter={() => {\n setOnScrollbar(true);\n }}\n onMouseUp={() => {\n inputRef?.current?.focus();\n }}\n >\n {onAddNewItem && (\n <>\n <CommandSeparator />\n <CommandGroup>\n <Button type=\"button\" variant=\"ghost\" className=\"w-full font-normal [&_div]:justify-start\" onClick={onAddNewItem}>\n <PlusIcon size={14} className=\"opacity-60\" aria-hidden=\"true\" />\n Thêm mới\n </Button>\n </CommandGroup>\n </>\n )}\n {isLoading ? (\n LoadingIndicator\n ) : (\n <>\n {EmptyItem()}\n {CreatableItem()}\n {!selectFirstItem && <CommandItem value=\"-\" className=\"hidden\" />}\n {Object.entries(selectables).map(([key, dropdowns]) => (\n <CommandGroup key={key} heading={key} className=\"h-full overflow-auto\">\n {dropdowns.map(option => {\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n disabled={option.disable}\n onMouseDown={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => {\n if (selected.length >= maxSelected) {\n onMaxSelected?.(selected.length);\n return;\n }\n const newOptions = [...selected, option];\n setInputValue('');\n setSelected(newOptions);\n onChange?.(newOptions);\n }}\n className={cn('cursor-pointer', option.disable && 'cursor-not-allowed opacity-50')}\n >\n {option.label}\n </CommandItem>\n );\n })}\n </CommandGroup>\n ))}\n </>\n )}\n </CommandList>\n )}\n </div>\n </div>\n </Command>\n );\n }\n);\n\nMultipleSelector.displayName = 'MultipleSelector';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph-B9fp9JaI.js","names":[],"sources":["../packages/components/typography/paragraph.tsx"],"sourcesContent":["'use client'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { cva } from 'class-variance-authority'\n\ntype Props = {\n variant?: 'p' | 'muted' | 'lead' | 'sm' | 'lg'\n className?: string\n children?: React.ReactNode\n}\n\nconst paragraphVariants = cva('', {\n variants: {\n variant: {\n p: 'leading-7 [&:not(:first-child)]:mt-6',\n sm: 'text-sm leading-none font-normal',\n lg: 'text-lg font-semibold',\n lead: 'text-text-positive-strong text-xl',\n muted: 'text-text-positive-muted text-sm',\n },\n default: {\n variant: 'sm',\n },\n },\n})\n\nexport const Paragraph = ({ variant = 'p', className, children }: Props) => {\n return <p className={cn('text-text-positive', paragraphVariants({ variant }), className)}>{children}</p>\n}\n"],"mappings":"2IAWA,MAAM,EAAoB,EAAI,GAAI,CAChC,SAAU,CACR,QAAS,CACP,EAAG,uCACH,GAAI,mCACJ,GAAI,wBACJ,KAAM,oCACN,MAAO,oCAET,QAAS,CACP,QAAS,SAKF,GAAa,CAAE,UAAU,IAAK,YAAW,cAC7C,EAAC,IAAA,CAAE,UAAW,EAAG,qBAAsB,EAAkB,CAAE,YAAY,GAAa"}
1
+ {"version":3,"file":"paragraph-B9fp9JaI.js","names":[],"sources":["../packages/components/typography/paragraph.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva } from 'class-variance-authority';\n\ntype Props = {\n variant?: 'p' | 'muted' | 'lead' | 'sm' | 'lg';\n className?: string;\n children?: React.ReactNode;\n};\n\nconst paragraphVariants = cva('', {\n variants: {\n variant: {\n p: 'leading-7 [&:not(:first-child)]:mt-6',\n sm: 'text-sm leading-none font-normal',\n lg: 'text-lg font-semibold',\n lead: 'text-text-positive-strong text-xl',\n muted: 'text-text-positive-muted text-sm',\n },\n default: {\n variant: 'sm',\n },\n },\n});\n\nexport const Paragraph = ({ variant = 'p', className, children }: Props) => {\n return <p className={cn('text-text-positive', paragraphVariants({ variant }), className)}>{children}</p>;\n};\n"],"mappings":"2IAWA,MAAM,EAAoB,EAAI,GAAI,CAChC,SAAU,CACR,QAAS,CACP,EAAG,uCACH,GAAI,mCACJ,GAAI,wBACJ,KAAM,oCACN,MAAO,mCACR,CACD,QAAS,CACP,QAAS,KACV,CACF,CACF,CAAC,CAEW,GAAa,CAAE,UAAU,IAAK,YAAW,cAC7C,EAAC,IAAA,CAAE,UAAW,EAAG,qBAAsB,EAAkB,CAAE,UAAS,CAAC,CAAE,EAAU,CAAG,YAAa"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`class-variance-authority`);r=e.__toESM(r);const i=(0,r.cva)(``,{variants:{variant:{p:`leading-7 [&:not(:first-child)]:mt-6`,sm:`text-sm leading-none font-normal`,lg:`text-lg font-semibold`,lead:`text-text-positive-strong text-xl`,muted:`text-text-positive-muted text-sm`},default:{variant:`sm`}}}),a=({variant:e=`p`,className:r,children:a})=>(0,n.jsx)(`p`,{className:(0,t.cn)(`text-text-positive`,i({variant:e}),r),children:a});Object.defineProperty(exports,`Paragraph`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=paragraph-Q7vk3BSp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraph-Q7vk3BSp.cjs","names":[],"sources":["../packages/components/typography/paragraph.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva } from 'class-variance-authority';\n\ntype Props = {\n variant?: 'p' | 'muted' | 'lead' | 'sm' | 'lg';\n className?: string;\n children?: React.ReactNode;\n};\n\nconst paragraphVariants = cva('', {\n variants: {\n variant: {\n p: 'leading-7 [&:not(:first-child)]:mt-6',\n sm: 'text-sm leading-none font-normal',\n lg: 'text-lg font-semibold',\n lead: 'text-text-positive-strong text-xl',\n muted: 'text-text-positive-muted text-sm',\n },\n default: {\n variant: 'sm',\n },\n },\n});\n\nexport const Paragraph = ({ variant = 'p', className, children }: Props) => {\n return <p className={cn('text-text-positive', paragraphVariants({ variant }), className)}>{children}</p>;\n};\n"],"mappings":"kNAWA,MAAM,GAAA,EAAA,EAAA,KAAwB,GAAI,CAChC,SAAU,CACR,QAAS,CACP,EAAG,uCACH,GAAI,mCACJ,GAAI,wBACJ,KAAM,oCACN,MAAO,mCACR,CACD,QAAS,CACP,QAAS,KACV,CACF,CACF,CAAC,CAEW,GAAa,CAAE,UAAU,IAAK,YAAW,eAC7C,EAAA,EAAA,KAAC,IAAA,CAAE,WAAA,EAAA,EAAA,IAAc,qBAAsB,EAAkB,CAAE,UAAS,CAAC,CAAE,EAAU,CAAG,YAAa"}
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Popover as n}from"radix-ui";function r({...e}){return t(n.Root,{"data-slot":`popover`,...e})}function i({...e}){return t(n.Trigger,{"data-slot":`popover-trigger`,...e})}function a({className:r,align:i=`start`,sideOffset:a=4,...o}){return t(n.Portal,{children:t(n.Content,{"data-slot":`popover-content`,align:i,sideOffset:a,className:e(`bg-popover`,`text-text-positive`,`z-50 w-72`,`origin-(--radix-popover-content-transform-origin)`,`shadow-dropdown rounded-md p-4 outline-none`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-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`,r),...o})})}function o({...e}){return t(n.Anchor,{"data-slot":`popover-anchor`,...e})}export{r as Popover,o as PopoverAnchor,a as PopoverContent,i as PopoverTrigger};
2
- //# sourceMappingURL=popover-BJWOgxQ5.js.map
2
+ //# sourceMappingURL=popover-BnzoeyDG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-BnzoeyDG.js","names":["Popover","PopoverPrimitive"],"sources":["../packages/components/ui/popover.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({ className, align = 'start', sideOffset = 4, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover',\n 'text-text-positive',\n 'z-50 w-72',\n 'origin-(--radix-popover-content-transform-origin)',\n 'shadow-dropdown rounded-md p-4 outline-none',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n"],"mappings":"+HAKA,SAASA,EAAQ,CAAE,GAAG,GAA6D,CACjF,OAAO,EAACC,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAGjE,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAACA,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAG5E,SAAS,EAAe,CAAE,YAAW,QAAQ,QAAS,aAAa,EAAG,GAAG,GAAgE,CACvI,OACE,EAACA,EAAiB,OAAA,CAAA,SAChB,EAACA,EAAiB,QAAA,CAChB,YAAU,kBACH,QACK,aACZ,UAAW,EACT,aACA,qBACA,YACA,oDACA,8CACA,+BACA,8BACA,+BACA,kCACA,iCACA,kCACA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ,CAAA,CACsB,CAI9B,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAiB,OAAA,CAAO,YAAU,iBAAiB,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`radix-ui`);r=e.__toESM(r);function i({...e}){return(0,n.jsx)(r.Popover.Root,{"data-slot":`popover`,...e})}function a({...e}){return(0,n.jsx)(r.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function o({className:e,align:i=`start`,sideOffset:a=4,...o}){return(0,n.jsx)(r.Popover.Portal,{children:(0,n.jsx)(r.Popover.Content,{"data-slot":`popover-content`,align:i,sideOffset:a,className:(0,t.cn)(`bg-popover`,`text-text-positive`,`z-50 w-72`,`origin-(--radix-popover-content-transform-origin)`,`shadow-dropdown rounded-md p-4 outline-none`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-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`,e),...o})})}function s({...e}){return(0,n.jsx)(r.Popover.Anchor,{"data-slot":`popover-anchor`,...e})}Object.defineProperty(exports,`Popover`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`PopoverAnchor`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`PopoverContent`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`PopoverTrigger`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=popover-D6vyPDKA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-D6vyPDKA.cjs","names":["PopoverPrimitive"],"sources":["../packages/components/ui/popover.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({ className, align = 'start', sideOffset = 4, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover',\n 'text-text-positive',\n 'z-50 w-72',\n 'origin-(--radix-popover-content-transform-origin)',\n 'shadow-dropdown rounded-md p-4 outline-none',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n"],"mappings":"kMAKA,SAAS,EAAQ,CAAE,GAAG,GAA6D,CACjF,OAAO,EAAA,EAAA,KAACA,EAAAA,QAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAGjE,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAAA,EAAA,KAACA,EAAAA,QAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAG5E,SAAS,EAAe,CAAE,YAAW,QAAQ,QAAS,aAAa,EAAG,GAAG,GAAgE,CACvI,OACE,EAAA,EAAA,KAACA,EAAAA,QAAiB,OAAA,CAAA,UAChB,EAAA,EAAA,KAACA,EAAAA,QAAiB,QAAA,CAChB,YAAU,kBACH,QACK,aACZ,WAAA,EAAA,EAAA,IACE,aACA,qBACA,YACA,oDACA,8CACA,+BACA,8BACA,+BACA,kCACA,iCACA,kCACA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ,CAAA,CACsB,CAI9B,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAAA,EAAA,KAACA,EAAAA,QAAiB,OAAA,CAAO,YAAU,iBAAiB,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`radix-ui`);r=e.__toESM(r);function i({className:e,value:i,...a}){return(0,n.jsx)(r.Progress.Root,{"data-slot":`progress`,className:(0,t.cn)(`bg-primary-weak relative h-2 w-full overflow-hidden rounded-full`,e),...a,children:(0,n.jsx)(r.Progress.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary size-full flex-1 transition-all`,style:{transform:`translateX(-${100-(i||0)}%)`}})})}Object.defineProperty(exports,`Progress`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=progress-BUlcGaLz.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-BUlcGaLz.cjs","names":["ProgressPrimitive"],"sources":["../packages/components/ui/progress.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress as ProgressPrimitive } from 'radix-ui';\n\nfunction Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root data-slot=\"progress\" className={cn('bg-primary-weak relative h-2 w-full overflow-hidden rounded-full', className)} {...props}>\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary size-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":"kMAKA,SAAS,EAAS,CAAE,YAAW,QAAO,GAAG,GAA8D,CACrG,OACE,EAAA,EAAA,KAACA,EAAAA,SAAkB,KAAA,CAAK,YAAU,WAAW,WAAA,EAAA,EAAA,IAAc,mEAAoE,EAAU,CAAE,GAAI,YAC7I,EAAA,EAAA,KAACA,EAAAA,SAAkB,UAAA,CACjB,YAAU,qBACV,UAAU,6CACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG,IAAK,EAC3D,EACqB"}
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Progress as n}from"radix-ui";function r({className:r,value:i,...a}){return t(n.Root,{"data-slot":`progress`,className:e(`bg-primary-weak relative h-2 w-full overflow-hidden rounded-full`,r),...a,children:t(n.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary size-full flex-1 transition-all`,style:{transform:`translateX(-${100-(i||0)}%)`}})})}export{r as Progress};
2
- //# sourceMappingURL=progress-DzBPViJg.js.map
2
+ //# sourceMappingURL=progress-DwLEMPaO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-DwLEMPaO.js","names":["Progress","ProgressPrimitive"],"sources":["../packages/components/ui/progress.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress as ProgressPrimitive } from 'radix-ui';\n\nfunction Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root data-slot=\"progress\" className={cn('bg-primary-weak relative h-2 w-full overflow-hidden rounded-full', className)} {...props}>\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary size-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":"gIAKA,SAASA,EAAS,CAAE,YAAW,QAAO,GAAG,GAA8D,CACrG,OACE,EAACC,EAAkB,KAAA,CAAK,YAAU,WAAW,UAAW,EAAG,mEAAoE,EAAU,CAAE,GAAI,WAC7I,EAACA,EAAkB,UAAA,CACjB,YAAU,qBACV,UAAU,6CACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG,IAAK,EAC3D,EACqB"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"./button-DhQJ9Ey8.js";import{Paragraph as t}from"./paragraph-B9fp9JaI.js";import{RefreshCwIcon as n}from"lucide-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({onClick:a=()=>{}})=>i(e,{"aria-label":`Tạo mới`,variant:`outline`,color:`muted`,className:`outline-border-weak max-sm:aspect-square max-sm:size-9 max-sm:p-0`,onClick:a,children:[r(n,{className:`opacity-60 sm:-ms-1`,size:16,"aria-hidden":`true`}),r(t,{variant:`sm`,className:`max-sm:sr-only`,children:`Reset`})]});export{a as RefreshBtn};
2
- //# sourceMappingURL=refresh-BiOPtbhd.js.map
1
+ import{Button as e}from"./button-CYsnwc1-.js";import{Paragraph as t}from"./paragraph-B9fp9JaI.js";import{RefreshCwIcon as n}from"lucide-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({onClick:a=()=>{}})=>i(e,{"aria-label":`Tạo mới`,variant:`outline`,color:`muted`,className:`outline-border-weak max-sm:aspect-square max-sm:size-9 max-sm:p-0`,onClick:a,children:[r(n,{className:`opacity-60 sm:-ms-1`,size:16,"aria-hidden":`true`}),r(t,{variant:`sm`,className:`max-sm:sr-only`,children:`Reset`})]});export{a as RefreshBtn};
2
+ //# sourceMappingURL=refresh-CMQ49ae4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-CMQ49ae4.js","names":["RefreshBtn: React.FC<React.PropsWithChildren<Props>>"],"sources":["../packages/components/ui/buttons/refresh.tsx"],"sourcesContent":["import { RefreshCwIcon } from 'lucide-react';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\nimport { Button } from '../button';\n\ntype Props = {\n onClick?: () => void;\n};\nexport const RefreshBtn: React.FC<React.PropsWithChildren<Props>> = ({ onClick = () => {} }) => {\n return (\n <Button\n aria-label=\"Tạo mới\"\n variant=\"outline\"\n color=\"muted\"\n className=\"outline-border-weak max-sm:aspect-square max-sm:size-9 max-sm:p-0\"\n onClick={onClick}\n >\n <RefreshCwIcon className=\"opacity-60 sm:-ms-1\" size={16} aria-hidden=\"true\" />\n <Paragraph variant=\"sm\" className=\"max-sm:sr-only\">\n Reset\n </Paragraph>\n </Button>\n );\n};\n"],"mappings":"iMASA,MAAaA,GAAwD,CAAE,cAAgB,MAEnF,EAAC,EAAA,CACC,aAAW,UACX,QAAQ,UACR,MAAM,QACN,UAAU,oEACD,oBAET,EAAC,EAAA,CAAc,UAAU,sBAAsB,KAAM,GAAI,cAAY,QAAS,CAC9E,EAAC,EAAA,CAAU,QAAQ,KAAK,UAAU,0BAAiB,SAEvC,CAAA,EACL"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./button-BaLuKPtr.cjs`),n=require(`./paragraph-Q7vk3BSp.cjs`);let r=require(`lucide-react`);r=e.__toESM(r);let i=require(`react/jsx-runtime`);i=e.__toESM(i);const a=({onClick:e=()=>{}})=>(0,i.jsxs)(t.Button,{"aria-label":`Tạo mới`,variant:`outline`,color:`muted`,className:`outline-border-weak max-sm:aspect-square max-sm:size-9 max-sm:p-0`,onClick:e,children:[(0,i.jsx)(r.RefreshCwIcon,{className:`opacity-60 sm:-ms-1`,size:16,"aria-hidden":`true`}),(0,i.jsx)(n.Paragraph,{variant:`sm`,className:`max-sm:sr-only`,children:`Reset`})]});Object.defineProperty(exports,`RefreshBtn`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=refresh-CvvD6Ckf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-CvvD6Ckf.cjs","names":["RefreshBtn: React.FC<React.PropsWithChildren<Props>>","Button","RefreshCwIcon","Paragraph"],"sources":["../packages/components/ui/buttons/refresh.tsx"],"sourcesContent":["import { RefreshCwIcon } from 'lucide-react';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\nimport { Button } from '../button';\n\ntype Props = {\n onClick?: () => void;\n};\nexport const RefreshBtn: React.FC<React.PropsWithChildren<Props>> = ({ onClick = () => {} }) => {\n return (\n <Button\n aria-label=\"Tạo mới\"\n variant=\"outline\"\n color=\"muted\"\n className=\"outline-border-weak max-sm:aspect-square max-sm:size-9 max-sm:p-0\"\n onClick={onClick}\n >\n <RefreshCwIcon className=\"opacity-60 sm:-ms-1\" size={16} aria-hidden=\"true\" />\n <Paragraph variant=\"sm\" className=\"max-sm:sr-only\">\n Reset\n </Paragraph>\n </Button>\n );\n};\n"],"mappings":"gNASA,MAAaA,GAAwD,CAAE,cAAgB,OAEnF,EAAA,EAAA,MAACC,EAAAA,OAAAA,CACC,aAAW,UACX,QAAQ,UACR,MAAM,QACN,UAAU,oEACD,qBAET,EAAA,EAAA,KAACC,EAAAA,cAAAA,CAAc,UAAU,sBAAsB,KAAM,GAAI,cAAY,QAAS,EAC9E,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAU,QAAQ,KAAK,UAAU,0BAAiB,SAEvC,CAAA,EACL"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`radix-ui`);r=e.__toESM(r);function i({className:e,children:i,ref:o,onScroll:s,...c}){return(0,n.jsxs)(r.ScrollArea.Root,{"data-slot":`scroll-area`,className:(0,t.cn)(`relative overflow-hidden`,e),...c,children:[(0,n.jsx)(r.ScrollArea.Viewport,{ref:o,className:`size-full rounded-[inherit]`,onScroll:s,children:i}),(0,n.jsx)(a,{}),(0,n.jsx)(r.ScrollArea.Corner,{})]})}function a({className:e,orientation:i=`vertical`,...a}){return(0,n.jsx)(r.ScrollArea.ScrollAreaScrollbar,{"data-slot":`scroll-area-scrollbar`,orientation:i,className:(0,t.cn)(`border-border-weak flex touch-none p-px transition-colors select-none`,i===`vertical`&&`h-full w-2.5 border-l border-l-transparent`,i===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent`,e),...a,children:(0,n.jsx)(r.ScrollArea.ScrollAreaThumb,{className:`bg-border-weak relative flex-1 rounded-full`})})}Object.defineProperty(exports,`ScrollArea`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`ScrollBar`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=scroll-area-C_MkdpKg.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-C_MkdpKg.cjs","names":["ScrollAreaPrimitive"],"sources":["../packages/components/ui/scroll-area.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nfunction ScrollArea({ className, children, ref, onScroll, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport ref={ref} className=\"size-full rounded-[inherit]\" onScroll={onScroll}>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({ className, orientation = 'vertical', ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'border-border-weak flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border-weak relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":"kMAKA,SAAS,EAAW,CAAE,YAAW,WAAU,MAAK,WAAU,GAAG,GAAgE,CAC3H,OACE,EAAA,EAAA,MAACA,EAAAA,WAAoB,KAAA,CAAK,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,2BAA4B,EAAU,CAAE,GAAI,aAC1G,EAAA,EAAA,KAACA,EAAAA,WAAoB,SAAA,CAAc,MAAK,UAAU,8BAAwC,WACvF,YAC4B,EAC/B,EAAA,EAAA,KAAC,EAAA,EAAA,CAAY,EACb,EAAA,EAAA,KAACA,EAAAA,WAAoB,OAAA,EAAA,CAAS,GACL,CAI/B,SAAS,EAAU,CAAE,YAAW,cAAc,WAAY,GAAG,GAA+E,CAC1I,OACE,EAAA,EAAA,KAACA,EAAAA,WAAoB,oBAAA,CACnB,YAAU,wBACG,cACb,WAAA,EAAA,EAAA,IACE,wEACA,IAAgB,YAAc,6CAC9B,IAAgB,cAAgB,+CAChC,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,WAAoB,gBAAA,CAAgB,UAAU,8CAAA,CAAgD,EACvD"}
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{ScrollArea as r}from"radix-ui";function i({className:i,children:o,ref:s,onScroll:c,...l}){return n(r.Root,{"data-slot":`scroll-area`,className:e(`relative overflow-hidden`,i),...l,children:[t(r.Viewport,{ref:s,className:`size-full rounded-[inherit]`,onScroll:c,children:o}),t(a,{}),t(r.Corner,{})]})}function a({className:n,orientation:i=`vertical`,...a}){return t(r.ScrollAreaScrollbar,{"data-slot":`scroll-area-scrollbar`,orientation:i,className:e(`border-border-weak flex touch-none p-px transition-colors select-none`,i===`vertical`&&`h-full w-2.5 border-l border-l-transparent`,i===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent`,n),...a,children:t(r.ScrollAreaThumb,{className:`bg-border-weak relative flex-1 rounded-full`})})}export{i as ScrollArea,a as ScrollBar};
2
- //# sourceMappingURL=scroll-area-BJYI14s5.js.map
2
+ //# sourceMappingURL=scroll-area-DFENklE1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-DFENklE1.js","names":["ScrollArea","ScrollAreaPrimitive"],"sources":["../packages/components/ui/scroll-area.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nfunction ScrollArea({ className, children, ref, onScroll, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport ref={ref} className=\"size-full rounded-[inherit]\" onScroll={onScroll}>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({ className, orientation = 'vertical', ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'border-border-weak flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border-weak relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":"4IAKA,SAASA,EAAW,CAAE,YAAW,WAAU,MAAK,WAAU,GAAG,GAAgE,CAC3H,OACE,EAACC,EAAoB,KAAA,CAAK,YAAU,cAAc,UAAW,EAAG,2BAA4B,EAAU,CAAE,GAAI,YAC1G,EAACA,EAAoB,SAAA,CAAc,MAAK,UAAU,8BAAwC,WACvF,YAC4B,CAC/B,EAAC,EAAA,EAAA,CAAY,CACb,EAACA,EAAoB,OAAA,EAAA,CAAS,GACL,CAI/B,SAAS,EAAU,CAAE,YAAW,cAAc,WAAY,GAAG,GAA+E,CAC1I,OACE,EAACA,EAAoB,oBAAA,CACnB,YAAU,wBACG,cACb,UAAW,EACT,wEACA,IAAgB,YAAc,6CAC9B,IAAgB,cAAgB,+CAChC,EACD,CACD,GAAI,WAEJ,EAACA,EAAoB,gBAAA,CAAgB,UAAU,8CAAA,CAAgD,EACvD"}
@@ -1,2 +1,2 @@
1
- import{Input as e}from"./input-BtT8HfYE.js";import{ArrowRightIcon as t,SearchIcon as n}from"lucide-react";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=({className:o,...s})=>a(`div`,{className:`relative`,children:[i(e,{...s,type:`search`,className:r(`ps-9 pe-9`,o)}),i(`div`,{className:`text-text-positive-weak pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 peer-disabled:opacity-50`,children:i(n,{size:16})}),i(`button`,{className:`text-text-positive-weak hover:text-text-positive focus-visible:border-primary-strong focus-visible:ring-primary-weak absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus:z-10 focus-visible:border focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:i(t,{size:16,"aria-hidden":`true`})})]});export{o as SearchInput};
2
- //# sourceMappingURL=search-input--FQFzdW3.js.map
1
+ import{Input as e}from"./input-BStypTnq.js";import{ArrowRightIcon as t,SearchIcon as n}from"lucide-react";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=({className:o,...s})=>a(`div`,{className:`relative`,children:[i(e,{...s,type:`search`,className:r(`ps-9 pe-9`,o)}),i(`div`,{className:`text-text-positive-weak pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 peer-disabled:opacity-50`,children:i(n,{size:16})}),i(`button`,{className:`text-text-positive-weak hover:text-text-positive focus-visible:border-primary-strong focus-visible:ring-primary-weak absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus:z-10 focus-visible:border focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:i(t,{size:16,"aria-hidden":`true`})})]});export{o as SearchInput};
2
+ //# sourceMappingURL=search-input-BI1RjMuQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input-BI1RjMuQ.js","names":[],"sources":["../packages/components/ui/inputs/search-input.tsx"],"sourcesContent":["import { cn } from '@customafk/react-toolkit/utils';\n\nimport { ArrowRightIcon, SearchIcon } from 'lucide-react';\n\nimport { Input } from '../input';\n\ntype Props = React.ComponentPropsWithoutRef<typeof Input>;\nexport const SearchInput = ({ className, ...rest }: Props) => {\n return (\n <div className=\"relative\">\n <Input {...rest} type=\"search\" className={cn('ps-9 pe-9', className)} />\n <div className=\"text-text-positive-weak pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 peer-disabled:opacity-50\">\n <SearchIcon size={16} />\n </div>\n <button\n className=\"text-text-positive-weak hover:text-text-positive focus-visible:border-primary-strong focus-visible:ring-primary-weak absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus:z-10 focus-visible:border focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n"],"mappings":"gNAOA,MAAa,GAAe,CAAE,YAAW,GAAG,KAExC,EAAC,MAAA,CAAI,UAAU,qBACb,EAAC,EAAA,CAAM,GAAI,EAAM,KAAK,SAAS,UAAW,EAAG,YAAa,EAAU,EAAI,CACxE,EAAC,MAAA,CAAI,UAAU,iJACb,EAAC,EAAA,CAAW,KAAM,GAAA,CAAM,EACpB,CACN,EAAC,SAAA,CACC,UAAU,0XACV,aAAW,gBACX,KAAK,kBAEL,EAAC,EAAA,CAAe,KAAM,GAAI,cAAY,QAAS,EACxC,GACL"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./input-D_tClptL.cjs`);let n=require(`lucide-react`);n=e.__toESM(n);let r=require(`@customafk/react-toolkit/utils`);r=e.__toESM(r);let i=require(`react/jsx-runtime`);i=e.__toESM(i);const a=({className:e,...a})=>(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(t.Input,{...a,type:`search`,className:(0,r.cn)(`ps-9 pe-9`,e)}),(0,i.jsx)(`div`,{className:`text-text-positive-weak pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 peer-disabled:opacity-50`,children:(0,i.jsx)(n.SearchIcon,{size:16})}),(0,i.jsx)(`button`,{className:`text-text-positive-weak hover:text-text-positive focus-visible:border-primary-strong focus-visible:ring-primary-weak absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus:z-10 focus-visible:border focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:(0,i.jsx)(n.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]});Object.defineProperty(exports,`SearchInput`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=search-input-ryU0Mvaa.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input-ryU0Mvaa.cjs","names":["Input","SearchIcon","ArrowRightIcon"],"sources":["../packages/components/ui/inputs/search-input.tsx"],"sourcesContent":["import { cn } from '@customafk/react-toolkit/utils';\n\nimport { ArrowRightIcon, SearchIcon } from 'lucide-react';\n\nimport { Input } from '../input';\n\ntype Props = React.ComponentPropsWithoutRef<typeof Input>;\nexport const SearchInput = ({ className, ...rest }: Props) => {\n return (\n <div className=\"relative\">\n <Input {...rest} type=\"search\" className={cn('ps-9 pe-9', className)} />\n <div className=\"text-text-positive-weak pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 peer-disabled:opacity-50\">\n <SearchIcon size={16} />\n </div>\n <button\n className=\"text-text-positive-weak hover:text-text-positive focus-visible:border-primary-strong focus-visible:ring-primary-weak absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus:z-10 focus-visible:border focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n"],"mappings":"wOAOA,MAAa,GAAe,CAAE,YAAW,GAAG,MAExC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,sBACb,EAAA,EAAA,KAACA,EAAAA,MAAAA,CAAM,GAAI,EAAM,KAAK,SAAS,WAAA,EAAA,EAAA,IAAc,YAAa,EAAU,EAAI,EACxE,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,kJACb,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,KAAM,GAAA,CAAM,EACpB,EACN,EAAA,EAAA,KAAC,SAAA,CACC,UAAU,0XACV,aAAW,gBACX,KAAK,mBAEL,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,KAAM,GAAI,cAAY,QAAS,EACxC,GACL"}
@@ -1,2 +1,2 @@
1
1
  import{CheckIcon as e,ChevronDownIcon as t,ChevronUpIcon as n}from"lucide-react";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Select as o}from"radix-ui";function s({...e}){return i(o.Root,{"data-slot":`select`,...e})}function c({...e}){return i(o.Group,{"data-slot":`select-group`,...e})}function l({...e}){return i(o.Value,{"data-slot":`select-value`,...e})}function u({className:e,size:n=`default`,children:s,...c}){return a(o.Trigger,{"data-slot":`select-trigger`,"data-size":n,className:r(`border-border-weak shadow-input`,`flex w-fit items-center justify-between`,`gap-2 rounded-md border bg-transparent px-3 py-2 text-sm`,`whitespace-nowrap transition-all outline-none`,`cursor-pointer`,`hover:border-border`,`focus:border-primary-strong`,`focus:ring-primary-weak`,`focus:ring-4`,`aria-invalid:ring-danger-weak`,`aria-invalid:border-danger-strong`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=open]:text-text-positive-muted`,`data-[state=open]:border-primary`,`data-[state=open]:ring-ring`,`data-[state=open]:ring-4`,`data-[placeholder]:text-text-positive-muted`,`data-[size=default]:h-9`,`data-[size=sm]:h-8`,`*:data-[slot=select-value]:line-clamp-1`,`*:data-[slot=select-value]:flex`,`*:data-[slot=select-value]:items-center`,`*:data-[slot=select-value]:gap-2`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...c,children:[s,i(o.Icon,{asChild:!0,children:i(t,{size:16,opacity:50})})]})}function d({className:e,children:t,position:n=`popper`,...s}){return i(o.Portal,{children:a(o.Content,{"data-slot":`select-content`,className:r(`bg-popover`,`relative z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`shadow-dropdown rounded-md`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-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`,`origin-(--radix-select-content-transform-origin)`,n===`popper`&&`data-[side=bottom]:translate-y-1`,n===`popper`&&`data-[side=left]:-translate-x-1`,n===`popper`&&`data-[side=right]:translate-x-1`,n===`popper`&&`data-[side=top]:-translate-y-1`,e),position:n,style:{maxHeight:`var(--radix-select-content-available-height)`},...s,children:[i(h,{}),i(o.Viewport,{className:r(`p-1`,n===`popper`&&`w-full scroll-my-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)]`,n===`popper`&&`min-w-[var(--radix-select-trigger-width)]`),children:t}),i(g,{})]})})}function f({className:e,...t}){return i(o.Label,{"data-slot":`select-label`,className:r(`text-text-positive-weak px-2 py-1.5 text-xs`,e),...t})}function p({className:t,children:n,...s}){return a(o.Item,{"data-slot":`select-item`,className:r(`relative flex items-center select-none`,`gap-2 rounded-md py-2.5 pr-8 pl-2`,`w-full`,`cursor-pointer transition-colors`,`text-text-positive text-sm outline-hidden`,`focus:bg-muted-muted`,`focus:text-text-positive-strong`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,`*:[span]:last:flex`,`*:[span]:last:items-center`,`*:[span]:last:gap-2`,t),...s,children:[i(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:i(o.ItemIndicator,{children:i(e,{size:16})})}),i(o.ItemText,{children:n})]})}function m({className:e,...t}){return i(o.Separator,{"data-slot":`select-separator`,className:r(`bg-border-weak pointer-events-none -mx-1 my-1 h-px`,e),...t})}function h({className:e,...t}){return i(o.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:r(`flex cursor-default items-center justify-center py-1`,e),...t,children:i(n,{size:16})})}function g({className:e,...n}){return i(o.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:r(`flex cursor-default items-center justify-center py-1`,e),...n,children:i(t,{size:16})})}export{s as Select,d as SelectContent,c as SelectGroup,p as SelectItem,f as SelectLabel,g as SelectScrollDownButton,h as SelectScrollUpButton,m as SelectSeparator,u as SelectTrigger,l as SelectValue};
2
- //# sourceMappingURL=select-Di8fOKVF.js.map
2
+ //# sourceMappingURL=select-B8sXsuUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-B8sXsuUI.js","names":["Select","SelectPrimitive"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'border-border-weak shadow-input',\n 'flex w-fit items-center justify-between',\n 'gap-2 rounded-md border bg-transparent px-3 py-2 text-sm',\n 'whitespace-nowrap transition-all outline-none',\n 'cursor-pointer',\n 'hover:border-border',\n 'focus:border-primary-strong',\n 'focus:ring-primary-weak',\n 'focus:ring-4',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:border-danger-strong',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:border-primary',\n 'data-[state=open]:ring-ring',\n 'data-[state=open]:ring-4',\n 'data-[placeholder]:text-text-positive-muted',\n 'data-[size=default]:h-9',\n 'data-[size=sm]:h-8',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover',\n 'relative z-50',\n 'min-w-32',\n 'overflow-x-hidden overflow-y-auto',\n 'shadow-dropdown rounded-md',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'origin-(--radix-select-content-transform-origin)',\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n style={{\n maxHeight: 'var(--radix-select-content-available-height)',\n }}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-[var(--radix-select-trigger-height)]',\n position === 'popper' && 'min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('text-text-positive-weak px-2 py-1.5 text-xs', className)} {...props} />;\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex items-center select-none',\n 'gap-2 rounded-md py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer transition-colors',\n 'text-text-positive text-sm outline-hidden',\n 'focus:bg-muted-muted',\n 'focus:text-text-positive-strong',\n 'data-[disabled]:opacity-50',\n 'data-[disabled]:pointer-events-none',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('bg-border-weak pointer-events-none -mx-1 my-1 h-px', className)} {...props} />;\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon size={16} />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon size={16} />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`lucide-react`);t=e.__toESM(t);let n=require(`@customafk/react-toolkit/utils`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);r=e.__toESM(r);let i=require(`radix-ui`);i=e.__toESM(i);function a({...e}){return(0,r.jsx)(i.Select.Root,{"data-slot":`select`,...e})}function o({...e}){return(0,r.jsx)(i.Select.Group,{"data-slot":`select-group`,...e})}function s({...e}){return(0,r.jsx)(i.Select.Value,{"data-slot":`select-value`,...e})}function c({className:e,size:a=`default`,children:o,...s}){return(0,r.jsxs)(i.Select.Trigger,{"data-slot":`select-trigger`,"data-size":a,className:(0,n.cn)(`border-border-weak shadow-input`,`flex w-fit items-center justify-between`,`gap-2 rounded-md border bg-transparent px-3 py-2 text-sm`,`whitespace-nowrap transition-all outline-none`,`cursor-pointer`,`hover:border-border`,`focus:border-primary-strong`,`focus:ring-primary-weak`,`focus:ring-4`,`aria-invalid:ring-danger-weak`,`aria-invalid:border-danger-strong`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=open]:text-text-positive-muted`,`data-[state=open]:border-primary`,`data-[state=open]:ring-ring`,`data-[state=open]:ring-4`,`data-[placeholder]:text-text-positive-muted`,`data-[size=default]:h-9`,`data-[size=sm]:h-8`,`*:data-[slot=select-value]:line-clamp-1`,`*:data-[slot=select-value]:flex`,`*:data-[slot=select-value]:items-center`,`*:data-[slot=select-value]:gap-2`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...s,children:[o,(0,r.jsx)(i.Select.Icon,{asChild:!0,children:(0,r.jsx)(t.ChevronDownIcon,{size:16,opacity:50})})]})}function l({className:e,children:t,position:a=`popper`,...o}){return(0,r.jsx)(i.Select.Portal,{children:(0,r.jsxs)(i.Select.Content,{"data-slot":`select-content`,className:(0,n.cn)(`bg-popover`,`relative z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`shadow-dropdown rounded-md`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-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`,`origin-(--radix-select-content-transform-origin)`,a===`popper`&&`data-[side=bottom]:translate-y-1`,a===`popper`&&`data-[side=left]:-translate-x-1`,a===`popper`&&`data-[side=right]:translate-x-1`,a===`popper`&&`data-[side=top]:-translate-y-1`,e),position:a,style:{maxHeight:`var(--radix-select-content-available-height)`},...o,children:[(0,r.jsx)(p,{}),(0,r.jsx)(i.Select.Viewport,{className:(0,n.cn)(`p-1`,a===`popper`&&`w-full scroll-my-1`,a===`popper`&&`h-[var(--radix-select-trigger-height)]`,a===`popper`&&`min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,r.jsx)(m,{})]})})}function u({className:e,...t}){return(0,r.jsx)(i.Select.Label,{"data-slot":`select-label`,className:(0,n.cn)(`text-text-positive-weak px-2 py-1.5 text-xs`,e),...t})}function d({className:e,children:a,...o}){return(0,r.jsxs)(i.Select.Item,{"data-slot":`select-item`,className:(0,n.cn)(`relative flex items-center select-none`,`gap-2 rounded-md py-2.5 pr-8 pl-2`,`w-full`,`cursor-pointer transition-colors`,`text-text-positive text-sm outline-hidden`,`focus:bg-muted-muted`,`focus:text-text-positive-strong`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,`*:[span]:last:flex`,`*:[span]:last:items-center`,`*:[span]:last:gap-2`,e),...o,children:[(0,r.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(i.Select.ItemIndicator,{children:(0,r.jsx)(t.CheckIcon,{size:16})})}),(0,r.jsx)(i.Select.ItemText,{children:a})]})}function f({className:e,...t}){return(0,r.jsx)(i.Select.Separator,{"data-slot":`select-separator`,className:(0,n.cn)(`bg-border-weak pointer-events-none -mx-1 my-1 h-px`,e),...t})}function p({className:e,...a}){return(0,r.jsx)(i.Select.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:(0,n.cn)(`flex cursor-default items-center justify-center py-1`,e),...a,children:(0,r.jsx)(t.ChevronUpIcon,{size:16})})}function m({className:e,...a}){return(0,r.jsx)(i.Select.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:(0,n.cn)(`flex cursor-default items-center justify-center py-1`,e),...a,children:(0,r.jsx)(t.ChevronDownIcon,{size:16})})}Object.defineProperty(exports,`Select`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`SelectContent`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`SelectGroup`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`SelectItem`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`SelectLabel`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`SelectScrollDownButton`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`SelectScrollUpButton`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`SelectSeparator`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`SelectTrigger`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`SelectValue`,{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=select-BD7dul2u.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-BD7dul2u.cjs","names":["SelectPrimitive","ChevronDownIcon","CheckIcon","ChevronUpIcon"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'border-border-weak shadow-input',\n 'flex w-fit items-center justify-between',\n 'gap-2 rounded-md border bg-transparent px-3 py-2 text-sm',\n 'whitespace-nowrap transition-all outline-none',\n 'cursor-pointer',\n 'hover:border-border',\n 'focus:border-primary-strong',\n 'focus:ring-primary-weak',\n 'focus:ring-4',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:border-danger-strong',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:border-primary',\n 'data-[state=open]:ring-ring',\n 'data-[state=open]:ring-4',\n 'data-[placeholder]:text-text-positive-muted',\n 'data-[size=default]:h-9',\n 'data-[size=sm]:h-8',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover',\n 'relative z-50',\n 'min-w-32',\n 'overflow-x-hidden overflow-y-auto',\n 'shadow-dropdown rounded-md',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'origin-(--radix-select-content-transform-origin)',\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n style={{\n maxHeight: 'var(--radix-select-content-available-height)',\n }}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-[var(--radix-select-trigger-height)]',\n position === 'popper' && 'min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('text-text-positive-weak px-2 py-1.5 text-xs', className)} {...props} />;\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex items-center select-none',\n 'gap-2 rounded-md py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer transition-colors',\n 'text-text-positive text-sm outline-hidden',\n 'focus:bg-muted-muted',\n 'focus:text-text-positive-strong',\n 'data-[disabled]:opacity-50',\n 'data-[disabled]:pointer-events-none',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('bg-border-weak pointer-events-none -mx-1 my-1 h-px', className)} {...props} />;\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon size={16} />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon size={16} />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime179 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime206 from "react/jsx-runtime";
2
2
  import { Separator } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/separator.d.ts
@@ -7,7 +7,7 @@ declare function Separator$1({
7
7
  orientation,
8
8
  decorative,
9
9
  ...props
10
- }: React.ComponentProps<typeof Separator.Root>): react_jsx_runtime179.JSX.Element;
10
+ }: React.ComponentProps<typeof Separator.Root>): react_jsx_runtime206.JSX.Element;
11
11
  //#endregion
12
12
  export { Separator$1 as Separator };
13
- //# sourceMappingURL=separator-mZ8r56s2.d.cts.map
13
+ //# sourceMappingURL=separator-BBWO-2XW.d.cts.map
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Separator as n}from"radix-ui";function r({className:r,orientation:i=`horizontal`,decorative:a=!0,...o}){return t(n.Root,{"data-slot":`separator`,decorative:a,orientation:i,className:e(`bg-border-weak shrink-0`,`data-[orientation=horizontal]:h-px`,`data-[orientation=horizontal]:w-full`,`data-[orientation=vertical]:h-full`,`data-[orientation=vertical]:w-px`,r),...o})}export{r as Separator};
2
- //# sourceMappingURL=separator-C7HQ2ThL.js.map
2
+ //# sourceMappingURL=separator-D17HxS2f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator-D17HxS2f.js","names":["Separator","SeparatorPrimitive"],"sources":["../packages/components/ui/separator.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\n\nfunction Separator({ className, orientation = 'horizontal', decorative = true, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border-weak shrink-0',\n 'data-[orientation=horizontal]:h-px',\n 'data-[orientation=horizontal]:w-full',\n 'data-[orientation=vertical]:h-full',\n 'data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n"],"mappings":"iIAKA,SAASA,EAAU,CAAE,YAAW,cAAc,aAAc,aAAa,GAAM,GAAG,GAA+D,CAC/I,OACE,EAACC,EAAmB,KAAA,CAClB,YAAU,YACE,aACC,cACb,UAAW,EACT,0BACA,qCACA,uCACA,qCACA,mCACA,EACD,CACD,GAAI,GACJ"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`radix-ui`);r=e.__toESM(r);function i({className:e,orientation:i=`horizontal`,decorative:a=!0,...o}){return(0,n.jsx)(r.Separator.Root,{"data-slot":`separator`,decorative:a,orientation:i,className:(0,t.cn)(`bg-border-weak shrink-0`,`data-[orientation=horizontal]:h-px`,`data-[orientation=horizontal]:w-full`,`data-[orientation=vertical]:h-full`,`data-[orientation=vertical]:w-px`,e),...o})}Object.defineProperty(exports,`Separator`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=separator-DMMoR-d2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator-DMMoR-d2.cjs","names":["SeparatorPrimitive"],"sources":["../packages/components/ui/separator.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\n\nfunction Separator({ className, orientation = 'horizontal', decorative = true, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border-weak shrink-0',\n 'data-[orientation=horizontal]:h-px',\n 'data-[orientation=horizontal]:w-full',\n 'data-[orientation=vertical]:h-full',\n 'data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n"],"mappings":"kMAKA,SAAS,EAAU,CAAE,YAAW,cAAc,aAAc,aAAa,GAAM,GAAG,GAA+D,CAC/I,OACE,EAAA,EAAA,KAACA,EAAAA,UAAmB,KAAA,CAClB,YAAU,YACE,aACC,cACb,WAAA,EAAA,EAAA,IACE,0BACA,qCACA,uCACA,qCACA,mCACA,EACD,CACD,GAAI,GACJ"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime181 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime188 from "react/jsx-runtime";
2
2
  import { Separator } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/separator.d.ts
@@ -7,7 +7,7 @@ declare function Separator$1({
7
7
  orientation,
8
8
  decorative,
9
9
  ...props
10
- }: React.ComponentProps<typeof Separator.Root>): react_jsx_runtime181.JSX.Element;
10
+ }: React.ComponentProps<typeof Separator.Root>): react_jsx_runtime188.JSX.Element;
11
11
  //#endregion
12
12
  export { Separator$1 as Separator };
13
- //# sourceMappingURL=separator-C4wU5Rr6.d.ts.map
13
+ //# sourceMappingURL=separator-LYCmJYd5.d.ts.map
@@ -1,2 +1,2 @@
1
1
  import{XIcon as e}from"lucide-react";import{cn as t}from"@customafk/react-toolkit/utils";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{Dialog as i}from"radix-ui";function a({...e}){return n(i.Root,{"data-slot":`sheet`,...e})}function o({...e}){return n(i.Trigger,{"data-slot":`sheet-trigger`,...e})}function s({...e}){return n(i.Close,{"data-slot":`sheet-close`,...e})}function c({...e}){return n(i.Portal,{"data-slot":`sheet-portal`,...e})}function l({className:e,...r}){return n(i.Overlay,{"data-slot":`sheet-overlay`,className:t(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,e),...r})}function u({className:a,children:o,side:s=`right`,...u}){return r(c,{children:[n(l,{}),r(i.Content,{"data-slot":`sheet-content`,className:t(`bg-background`,`shadow-dropdown border-border-weak fixed z-50 flex flex-col gap-4 transition ease-in-out`,`data-[state=open]:animate-in`,`data-[state=open]:duration-500`,`data-[state=closed]:animate-out`,`data-[state=closed]:duration-300`,s===`right`&&`inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,s===`right`&&`data-[state=closed]:slide-out-to-right`,s===`right`&&`data-[state=open]:slide-in-from-right`,s===`left`&&`inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,s===`left`&&`data-[state=closed]:slide-out-to-left`,s===`left`&&`data-[state=open]:slide-in-from-left`,s===`top`&&`inset-x-0 top-0 h-auto border-b`,s===`top`&&`data-[state=closed]:slide-out-to-top`,s===`top`&&`data-[state=open]:slide-in-from-top`,s===`bottom`&&`inset-x-0 bottom-0 h-auto border-t`,s===`bottom`&&`data-[state=closed]:slide-out-to-bottom`,s===`bottom`&&`data-[state=open]:slide-in-from-bottom`,a),...u,children:[o,r(i.Close,{className:t(`ring-offset-background cursor-pointer p-2`,`absolute top-2 right-2 rounded-full opacity-70 transition-opacity`,`data-[state=open]:bg-secondary`,`disabled:pointer-events-none`,`hover:opacity-100`,`hover:bg-border-muted`,`focus:ring-border-weak`,`focus:ring-4`,`focus:outline-hidden`),children:[n(e,{className:`size-5`}),n(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function d({className:e,...r}){return n(`div`,{"data-slot":`sheet-header`,className:t(`flex flex-0 flex-col gap-1.5 p-4`,e),...r})}function f({className:e,...r}){return n(`div`,{"data-slot":`sheet-footer`,className:t(`mt-auto flex flex-0 flex-col gap-2 p-4`,e),...r})}function p({className:e,...r}){return n(i.Title,{"data-slot":`sheet-title`,className:t(`text-text-positive-strong font-semibold`,e),...r})}function m({className:e,...r}){return n(i.Description,{"data-slot":`sheet-description`,className:t(`text-text-positive-weak text-sm`,e),...r})}export{a as Sheet,s as SheetClose,u as SheetContent,m as SheetDescription,f as SheetFooter,d as SheetHeader,p as SheetTitle,o as SheetTrigger};
2
- //# sourceMappingURL=sheet-E0gvN9Gp.js.map
2
+ //# sourceMappingURL=sheet-BhyEuJtA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-BhyEuJtA.js","names":["SheetPrimitive"],"sources":["../packages/components/ui/sheet.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { XIcon } from 'lucide-react';\n\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background',\n 'shadow-dropdown border-border-weak fixed z-50 flex flex-col gap-4 transition ease-in-out',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:duration-500',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:duration-300',\n\n side === 'right' && 'inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'right' && 'data-[state=closed]:slide-out-to-right',\n side === 'right' && 'data-[state=open]:slide-in-from-right',\n\n side === 'left' && 'inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'left' && 'data-[state=closed]:slide-out-to-left',\n side === 'left' && 'data-[state=open]:slide-in-from-left',\n\n side === 'top' && 'inset-x-0 top-0 h-auto border-b',\n side === 'top' && 'data-[state=closed]:slide-out-to-top',\n side === 'top' && 'data-[state=open]:slide-in-from-top',\n\n side === 'bottom' && 'inset-x-0 bottom-0 h-auto border-t',\n side === 'bottom' && 'data-[state=closed]:slide-out-to-bottom',\n side === 'bottom' && 'data-[state=open]:slide-in-from-bottom',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className={cn(\n 'ring-offset-background cursor-pointer p-2',\n 'absolute top-2 right-2 rounded-full opacity-70 transition-opacity',\n 'data-[state=open]:bg-secondary',\n 'disabled:pointer-events-none',\n 'hover:opacity-100',\n 'hover:bg-border-muted',\n 'focus:ring-border-weak',\n 'focus:ring-4',\n 'focus:outline-hidden'\n )}\n >\n <XIcon className=\"size-5\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sheet-header\" className={cn('flex flex-0 flex-col gap-1.5 p-4', className)} {...props} />;\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sheet-footer\" className={cn('mt-auto flex flex-0 flex-col gap-2 p-4', className)} {...props} />;\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return <SheetPrimitive.Title data-slot=\"sheet-title\" className={cn('text-text-positive-strong font-semibold', className)} {...props} />;\n}\n\nfunction SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return <SheetPrimitive.Description data-slot=\"sheet-description\" className={cn('text-text-positive-weak text-sm', className)} {...props} />;\n}\n\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };\n"],"mappings":"6KAOA,SAAS,EAAM,CAAE,GAAG,GAA2D,CAC7E,OAAO,EAACA,EAAe,KAAA,CAAK,YAAU,QAAQ,GAAI,GAAS,CAG7D,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAACA,EAAe,QAAA,CAAQ,YAAU,gBAAgB,GAAI,GAAS,CAGxE,SAAS,EAAW,CAAE,GAAG,GAA4D,CACnF,OAAO,EAACA,EAAe,MAAA,CAAM,YAAU,cAAc,GAAI,GAAS,CAGpE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAe,OAAA,CAAO,YAAU,eAAe,GAAI,GAAS,CAGtE,SAAS,EAAa,CAAE,YAAW,GAAG,GAA8D,CAClG,OACE,EAACA,EAAe,QAAA,CACd,YAAU,gBACV,UAAW,EACT,iCACA,+BACA,kCACA,iCACA,8BACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,EAAa,CACpB,YACA,WACA,OAAO,QACP,GAAG,GAGF,CACD,OACE,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,EAAA,CAAe,CAChB,EAACA,EAAe,QAAA,CACd,YAAU,gBACV,UAAW,EACT,gBACA,2FAEA,+BACA,iCACA,kCACA,mCAEA,IAAS,SAAW,sDACpB,IAAS,SAAW,yCACpB,IAAS,SAAW,wCAEpB,IAAS,QAAU,qDACnB,IAAS,QAAU,wCACnB,IAAS,QAAU,uCAEnB,IAAS,OAAS,kCAClB,IAAS,OAAS,uCAClB,IAAS,OAAS,sCAElB,IAAS,UAAY,qCACrB,IAAS,UAAY,0CACrB,IAAS,UAAY,yCACrB,EACD,CACD,GAAI,YAEH,EACD,EAACA,EAAe,MAAA,CACd,UAAW,EACT,4CACA,oEACA,iCACA,+BACA,oBACA,wBACA,yBACA,eACA,uBACD,WAED,EAAC,EAAA,CAAM,UAAU,SAAA,CAAW,CAC5B,EAAC,OAAA,CAAK,UAAU,mBAAU,SAAY,CAAA,EACjB,CAAA,EACA,CAAA,CAAA,CACb,CAIlB,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAC,MAAA,CAAI,YAAU,eAAe,UAAW,EAAG,mCAAoC,EAAU,CAAE,GAAI,GAAS,CAGlH,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAC,MAAA,CAAI,YAAU,eAAe,UAAW,EAAG,yCAA0C,EAAU,CAAE,GAAI,GAAS,CAGxH,SAAS,EAAW,CAAE,YAAW,GAAG,GAA4D,CAC9F,OAAO,EAACA,EAAe,MAAA,CAAM,YAAU,cAAc,UAAW,EAAG,0CAA2C,EAAU,CAAE,GAAI,GAAS,CAGzI,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAkE,CAC1G,OAAO,EAACA,EAAe,YAAA,CAAY,YAAU,oBAAoB,UAAW,EAAG,kCAAmC,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`lucide-react`);t=e.__toESM(t);let n=require(`@customafk/react-toolkit/utils`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);r=e.__toESM(r);let i=require(`radix-ui`);i=e.__toESM(i);function a({...e}){return(0,r.jsx)(i.Dialog.Root,{"data-slot":`sheet`,...e})}function o({...e}){return(0,r.jsx)(i.Dialog.Trigger,{"data-slot":`sheet-trigger`,...e})}function s({...e}){return(0,r.jsx)(i.Dialog.Close,{"data-slot":`sheet-close`,...e})}function c({...e}){return(0,r.jsx)(i.Dialog.Portal,{"data-slot":`sheet-portal`,...e})}function l({className:e,...t}){return(0,r.jsx)(i.Dialog.Overlay,{"data-slot":`sheet-overlay`,className:(0,n.cn)(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,e),...t})}function u({className:e,children:a,side:o=`right`,...s}){return(0,r.jsxs)(c,{children:[(0,r.jsx)(l,{}),(0,r.jsxs)(i.Dialog.Content,{"data-slot":`sheet-content`,className:(0,n.cn)(`bg-background`,`shadow-dropdown border-border-weak fixed z-50 flex flex-col gap-4 transition ease-in-out`,`data-[state=open]:animate-in`,`data-[state=open]:duration-500`,`data-[state=closed]:animate-out`,`data-[state=closed]:duration-300`,o===`right`&&`inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,o===`right`&&`data-[state=closed]:slide-out-to-right`,o===`right`&&`data-[state=open]:slide-in-from-right`,o===`left`&&`inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,o===`left`&&`data-[state=closed]:slide-out-to-left`,o===`left`&&`data-[state=open]:slide-in-from-left`,o===`top`&&`inset-x-0 top-0 h-auto border-b`,o===`top`&&`data-[state=closed]:slide-out-to-top`,o===`top`&&`data-[state=open]:slide-in-from-top`,o===`bottom`&&`inset-x-0 bottom-0 h-auto border-t`,o===`bottom`&&`data-[state=closed]:slide-out-to-bottom`,o===`bottom`&&`data-[state=open]:slide-in-from-bottom`,e),...s,children:[a,(0,r.jsxs)(i.Dialog.Close,{className:(0,n.cn)(`ring-offset-background cursor-pointer p-2`,`absolute top-2 right-2 rounded-full opacity-70 transition-opacity`,`data-[state=open]:bg-secondary`,`disabled:pointer-events-none`,`hover:opacity-100`,`hover:bg-border-muted`,`focus:ring-border-weak`,`focus:ring-4`,`focus:outline-hidden`),children:[(0,r.jsx)(t.XIcon,{className:`size-5`}),(0,r.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function d({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`sheet-header`,className:(0,n.cn)(`flex flex-0 flex-col gap-1.5 p-4`,e),...t})}function f({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`sheet-footer`,className:(0,n.cn)(`mt-auto flex flex-0 flex-col gap-2 p-4`,e),...t})}function p({className:e,...t}){return(0,r.jsx)(i.Dialog.Title,{"data-slot":`sheet-title`,className:(0,n.cn)(`text-text-positive-strong font-semibold`,e),...t})}function m({className:e,...t}){return(0,r.jsx)(i.Dialog.Description,{"data-slot":`sheet-description`,className:(0,n.cn)(`text-text-positive-weak text-sm`,e),...t})}Object.defineProperty(exports,`Sheet`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`SheetClose`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`SheetContent`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`SheetDescription`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`SheetFooter`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`SheetHeader`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`SheetTitle`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`SheetTrigger`,{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=sheet-Bua5MlcG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-Bua5MlcG.cjs","names":["SheetPrimitive","XIcon"],"sources":["../packages/components/ui/sheet.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { XIcon } from 'lucide-react';\n\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background',\n 'shadow-dropdown border-border-weak fixed z-50 flex flex-col gap-4 transition ease-in-out',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:duration-500',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:duration-300',\n\n side === 'right' && 'inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'right' && 'data-[state=closed]:slide-out-to-right',\n side === 'right' && 'data-[state=open]:slide-in-from-right',\n\n side === 'left' && 'inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'left' && 'data-[state=closed]:slide-out-to-left',\n side === 'left' && 'data-[state=open]:slide-in-from-left',\n\n side === 'top' && 'inset-x-0 top-0 h-auto border-b',\n side === 'top' && 'data-[state=closed]:slide-out-to-top',\n side === 'top' && 'data-[state=open]:slide-in-from-top',\n\n side === 'bottom' && 'inset-x-0 bottom-0 h-auto border-t',\n side === 'bottom' && 'data-[state=closed]:slide-out-to-bottom',\n side === 'bottom' && 'data-[state=open]:slide-in-from-bottom',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className={cn(\n 'ring-offset-background cursor-pointer p-2',\n 'absolute top-2 right-2 rounded-full opacity-70 transition-opacity',\n 'data-[state=open]:bg-secondary',\n 'disabled:pointer-events-none',\n 'hover:opacity-100',\n 'hover:bg-border-muted',\n 'focus:ring-border-weak',\n 'focus:ring-4',\n 'focus:outline-hidden'\n )}\n >\n <XIcon className=\"size-5\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sheet-header\" className={cn('flex flex-0 flex-col gap-1.5 p-4', className)} {...props} />;\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sheet-footer\" className={cn('mt-auto flex flex-0 flex-col gap-2 p-4', className)} {...props} />;\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return <SheetPrimitive.Title data-slot=\"sheet-title\" className={cn('text-text-positive-strong font-semibold', className)} {...props} />;\n}\n\nfunction SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return <SheetPrimitive.Description data-slot=\"sheet-description\" className={cn('text-text-positive-weak text-sm', className)} {...props} />;\n}\n\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };\n"],"mappings":"+OAOA,SAAS,EAAM,CAAE,GAAG,GAA2D,CAC7E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAe,KAAA,CAAK,YAAU,QAAQ,GAAI,GAAS,CAG7D,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAe,QAAA,CAAQ,YAAU,gBAAgB,GAAI,GAAS,CAGxE,SAAS,EAAW,CAAE,GAAG,GAA4D,CACnF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAe,MAAA,CAAM,YAAU,cAAc,GAAI,GAAS,CAGpE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAe,OAAA,CAAO,YAAU,eAAe,GAAI,GAAS,CAGtE,SAAS,EAAa,CAAE,YAAW,GAAG,GAA8D,CAClG,OACE,EAAA,EAAA,KAACA,EAAAA,OAAe,QAAA,CACd,YAAU,gBACV,WAAA,EAAA,EAAA,IACE,iCACA,+BACA,kCACA,iCACA,8BACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,EAAa,CACpB,YACA,WACA,OAAO,QACP,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAA,CAAe,EAChB,EAAA,EAAA,MAACA,EAAAA,OAAe,QAAA,CACd,YAAU,gBACV,WAAA,EAAA,EAAA,IACE,gBACA,2FAEA,+BACA,iCACA,kCACA,mCAEA,IAAS,SAAW,sDACpB,IAAS,SAAW,yCACpB,IAAS,SAAW,wCAEpB,IAAS,QAAU,qDACnB,IAAS,QAAU,wCACnB,IAAS,QAAU,uCAEnB,IAAS,OAAS,kCAClB,IAAS,OAAS,uCAClB,IAAS,OAAS,sCAElB,IAAS,UAAY,qCACrB,IAAS,UAAY,0CACrB,IAAS,UAAY,yCACrB,EACD,CACD,GAAI,YAEH,GACD,EAAA,EAAA,MAACA,EAAAA,OAAe,MAAA,CACd,WAAA,EAAA,EAAA,IACE,4CACA,oEACA,iCACA,+BACA,oBACA,wBACA,yBACA,eACA,uBACD,YAED,EAAA,EAAA,KAACC,EAAAA,MAAAA,CAAM,UAAU,SAAA,CAAW,EAC5B,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,SAAY,CAAA,EACjB,CAAA,EACA,CAAA,CAAA,CACb,CAIlB,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,mCAAoC,EAAU,CAAE,GAAI,GAAS,CAGlH,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,yCAA0C,EAAU,CAAE,GAAI,GAAS,CAGxH,SAAS,EAAW,CAAE,YAAW,GAAG,GAA4D,CAC9F,OAAO,EAAA,EAAA,KAACD,EAAAA,OAAe,MAAA,CAAM,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,0CAA2C,EAAU,CAAE,GAAI,GAAS,CAGzI,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAkE,CAC1G,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAe,YAAA,CAAY,YAAU,oBAAoB,WAAA,EAAA,EAAA,IAAc,kCAAmC,EAAU,CAAE,GAAI,GAAS"}