@customafk/lunas-ui 0.0.62 → 0.0.64

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 (517) hide show
  1. package/dist/{add-new-LGex5x9J.cjs → add-new-C2dDiCV3.cjs} +1 -1
  2. package/dist/{add-new-LGex5x9J.cjs.map → add-new-C2dDiCV3.cjs.map} +1 -1
  3. package/dist/{add-new-VnpqRAAB.js → add-new-Dw0uZWxo.js} +1 -1
  4. package/dist/{add-new-VnpqRAAB.js.map → add-new-Dw0uZWxo.js.map} +1 -1
  5. package/dist/alert-dialog-BOMy-TmT.js +2 -0
  6. package/dist/alert-dialog-BOMy-TmT.js.map +1 -0
  7. package/dist/alert-dialog-lwTxSl-r.cjs +2 -0
  8. package/dist/alert-dialog-lwTxSl-r.cjs.map +1 -0
  9. package/dist/avatar-BaNIRUku.cjs +2 -0
  10. package/dist/avatar-BaNIRUku.cjs.map +1 -0
  11. package/dist/avatar-DZU7feMQ.js +2 -0
  12. package/dist/avatar-DZU7feMQ.js.map +1 -0
  13. package/dist/badge-6RQPy3Eo.js +2 -0
  14. package/dist/badge-6RQPy3Eo.js.map +1 -0
  15. package/dist/badge-BMXpbMfX.cjs +2 -0
  16. package/dist/badge-BMXpbMfX.cjs.map +1 -0
  17. package/dist/{button-CwL7dO-u.d.ts → button-CS4aajjP.d.ts} +5 -5
  18. package/dist/{button-DmNWC9JF.d.cts → button-De2032Bs.d.cts} +5 -5
  19. package/dist/calendar-BZRNZdsJ.js +2 -0
  20. package/dist/calendar-BZRNZdsJ.js.map +1 -0
  21. package/dist/{calendar-CrtbhiDy.cjs → calendar-CUDdTiC-.cjs} +2 -2
  22. package/dist/calendar-CUDdTiC-.cjs.map +1 -0
  23. package/dist/cards/simple-card.d.ts +2 -2
  24. package/dist/{command-COUM-XfY.cjs → command-B9nlrxXh.cjs} +1 -1
  25. package/dist/{command-COUM-XfY.cjs.map → command-B9nlrxXh.cjs.map} +1 -1
  26. package/dist/{command-BQPzYASM.d.cts → command-D7AHVkgQ.d.ts} +12 -12
  27. package/dist/{command-DNfCX3KZ.js → command-DKD5gHi_.js} +1 -1
  28. package/dist/{command-DNfCX3KZ.js.map → command-DKD5gHi_.js.map} +1 -1
  29. package/dist/{command-USUF3JZz.d.ts → command-Db5JViIx.d.cts} +12 -12
  30. package/dist/data-display/country.cjs +1 -1
  31. package/dist/data-display/country.d.ts +1 -1
  32. package/dist/data-display/country.js +1 -1
  33. package/dist/data-display/data-list.cjs +1 -1
  34. package/dist/data-display/data-list.js +1 -1
  35. package/dist/data-display/date-tooltip.cjs +1 -1
  36. package/dist/data-display/date-tooltip.js +1 -1
  37. package/dist/data-display/empty.cjs +1 -1
  38. package/dist/data-display/empty.js +1 -1
  39. package/dist/data-display/name.cjs +1 -1
  40. package/dist/data-display/name.js +1 -1
  41. package/dist/data-display/phone-number.cjs +1 -1
  42. package/dist/data-display/phone-number.js +1 -1
  43. package/dist/data-display/role-badge.cjs +1 -1
  44. package/dist/data-display/role-badge.d.ts +1 -1
  45. package/dist/data-display/role-badge.js +1 -1
  46. package/dist/data-display/statistic.cjs +1 -1
  47. package/dist/data-display/statistic.d.cts +2 -2
  48. package/dist/data-display/statistic.d.ts +2 -2
  49. package/dist/data-display/statistic.js +1 -1
  50. package/dist/{dialog-Bw_T5aco.d.cts → dialog-CiqPVetj.d.cts} +12 -12
  51. package/dist/{dialog-DRDVtDc5.d.ts → dialog-yE-2SRfz.d.ts} +12 -12
  52. package/dist/dialogs/confirm-dialog.cjs +1 -1
  53. package/dist/dialogs/confirm-dialog.js +1 -1
  54. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  55. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +28 -28
  56. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +30 -30
  57. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  58. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  59. package/dist/dialogs/detail-dialog/index.js +1 -1
  60. package/dist/dialogs/error-dialog.cjs +1 -1
  61. package/dist/dialogs/error-dialog.js +1 -1
  62. package/dist/dialogs/form-dialog.cjs +1 -1
  63. package/dist/dialogs/form-dialog.cjs.map +1 -1
  64. package/dist/dialogs/form-dialog.d.cts +2 -2
  65. package/dist/dialogs/form-dialog.d.ts +2 -2
  66. package/dist/dialogs/form-dialog.js +1 -1
  67. package/dist/dialogs/form-dialog.js.map +1 -1
  68. package/dist/drawer-B7OJzlXZ.js +2 -0
  69. package/dist/drawer-B7OJzlXZ.js.map +1 -0
  70. package/dist/drawer-Dh9uXVnU.cjs +2 -0
  71. package/dist/drawer-Dh9uXVnU.cjs.map +1 -0
  72. package/dist/{dropdown-menu-CfHXIhdy.cjs → dropdown-menu-BtNJk8EZ.cjs} +1 -1
  73. package/dist/{dropdown-menu-CfHXIhdy.cjs.map → dropdown-menu-BtNJk8EZ.cjs.map} +1 -1
  74. package/dist/{dropdown-menu-t-SeMS1_.js → dropdown-menu-Cn96vqMy.js} +1 -1
  75. package/dist/{dropdown-menu-t-SeMS1_.js.map → dropdown-menu-Cn96vqMy.js.map} +1 -1
  76. package/dist/{error-dialog-COyyui94.cjs → error-dialog-BkCaUR7F.cjs} +2 -2
  77. package/dist/{error-dialog-COyyui94.cjs.map → error-dialog-BkCaUR7F.cjs.map} +1 -1
  78. package/dist/{error-dialog-YlSsQqiT.js → error-dialog-D3tnycqF.js} +2 -2
  79. package/dist/{error-dialog-YlSsQqiT.js.map → error-dialog-D3tnycqF.js.map} +1 -1
  80. package/dist/flex-BZHWRUkz.js +2 -0
  81. package/dist/flex-BZHWRUkz.js.map +1 -0
  82. package/dist/flex-DMgD86BT.cjs +2 -0
  83. package/dist/flex-DMgD86BT.cjs.map +1 -0
  84. package/dist/form-CaxhlWxK.cjs +2 -0
  85. package/dist/form-CaxhlWxK.cjs.map +1 -0
  86. package/dist/form-D-gDMD-J.js +2 -0
  87. package/dist/form-D-gDMD-J.js.map +1 -0
  88. package/dist/{form-wrapper-D0-p7R15.cjs → form-wrapper-BUkoh-c7.cjs} +2 -2
  89. package/dist/{form-wrapper-D0-p7R15.cjs.map → form-wrapper-BUkoh-c7.cjs.map} +1 -1
  90. package/dist/{form-wrapper-C4OO_eLu.js → form-wrapper-BbScjpBv.js} +2 -2
  91. package/dist/{form-wrapper-C4OO_eLu.js.map → form-wrapper-BbScjpBv.js.map} +1 -1
  92. package/dist/forms/combobox-field.cjs +1 -1
  93. package/dist/forms/combobox-field.d.cts +2 -2
  94. package/dist/forms/combobox-field.d.ts +2 -2
  95. package/dist/forms/combobox-field.js +1 -1
  96. package/dist/forms/date-field.cjs +1 -1
  97. package/dist/forms/date-field.d.cts +2 -2
  98. package/dist/forms/date-field.d.ts +2 -2
  99. package/dist/forms/date-field.js +1 -1
  100. package/dist/forms/form-wrapper.cjs +1 -1
  101. package/dist/forms/form-wrapper.d.cts +2 -2
  102. package/dist/forms/form-wrapper.d.ts +2 -2
  103. package/dist/forms/form-wrapper.js +1 -1
  104. package/dist/forms/multi-select-field.cjs +1 -1
  105. package/dist/forms/multi-select-field.d.cts +2 -2
  106. package/dist/forms/multi-select-field.d.ts +2 -2
  107. package/dist/forms/multi-select-field.js +1 -1
  108. package/dist/forms/number-field.cjs +1 -1
  109. package/dist/forms/number-field.cjs.map +1 -1
  110. package/dist/forms/number-field.d.cts +2 -2
  111. package/dist/forms/number-field.d.ts +2 -2
  112. package/dist/forms/number-field.js +1 -1
  113. package/dist/forms/number-field.js.map +1 -1
  114. package/dist/forms/password-field.cjs +1 -1
  115. package/dist/forms/password-field.cjs.map +1 -1
  116. package/dist/forms/password-field.d.cts +2 -2
  117. package/dist/forms/password-field.d.ts +2 -2
  118. package/dist/forms/password-field.js +1 -1
  119. package/dist/forms/password-field.js.map +1 -1
  120. package/dist/forms/select-field.cjs +1 -1
  121. package/dist/forms/select-field.d.cts +2 -2
  122. package/dist/forms/select-field.d.ts +2 -2
  123. package/dist/forms/select-field.js +1 -1
  124. package/dist/forms/switch-field.cjs +1 -1
  125. package/dist/forms/switch-field.d.cts +2 -2
  126. package/dist/forms/switch-field.d.ts +2 -2
  127. package/dist/forms/switch-field.js +1 -1
  128. package/dist/forms/text-field.cjs +1 -1
  129. package/dist/forms/text-field.d.cts +2 -2
  130. package/dist/forms/text-field.d.ts +2 -2
  131. package/dist/forms/text-field.js +1 -1
  132. package/dist/forms/textarea-field.cjs +1 -1
  133. package/dist/forms/textarea-field.d.cts +2 -2
  134. package/dist/forms/textarea-field.d.ts +2 -2
  135. package/dist/forms/textarea-field.js +1 -1
  136. package/dist/input-BFZuwsER.js +2 -0
  137. package/dist/input-BFZuwsER.js.map +1 -0
  138. package/dist/{input-vLuNZody.d.ts → input-BayoSfCE.d.cts} +3 -4
  139. package/dist/{input-DRU216h-.d.cts → input-BjiwI6EW.d.ts} +3 -4
  140. package/dist/input-ERPHY3v4.cjs +2 -0
  141. package/dist/input-ERPHY3v4.cjs.map +1 -0
  142. package/dist/label-BBPPT0-L.cjs +2 -0
  143. package/dist/label-BBPPT0-L.cjs.map +1 -0
  144. package/dist/label-DdpIoRiG.js +2 -0
  145. package/dist/label-DdpIoRiG.js.map +1 -0
  146. package/dist/layouts/app-layout/index.cjs +1 -1
  147. package/dist/layouts/app-layout/index.cjs.map +1 -1
  148. package/dist/layouts/app-layout/index.d.cts +26 -27
  149. package/dist/layouts/app-layout/index.d.ts +26 -27
  150. package/dist/layouts/app-layout/index.js +1 -1
  151. package/dist/layouts/app-layout/index.js.map +1 -1
  152. package/dist/layouts/flex.cjs +1 -1
  153. package/dist/layouts/flex.d.cts +4 -5
  154. package/dist/layouts/flex.d.ts +2 -3
  155. package/dist/layouts/flex.js +1 -1
  156. package/dist/layouts/service-layout/index.cjs +2 -0
  157. package/dist/layouts/service-layout/index.cjs.map +1 -0
  158. package/dist/layouts/service-layout/index.d.cts +129 -0
  159. package/dist/layouts/service-layout/index.d.ts +130 -0
  160. package/dist/layouts/service-layout/index.js +2 -0
  161. package/dist/layouts/service-layout/index.js.map +1 -0
  162. package/dist/multi-select-BAXHYtlU.cjs +2 -0
  163. package/dist/multi-select-BAXHYtlU.cjs.map +1 -0
  164. package/dist/multi-select-oXuLHx0A.js +2 -0
  165. package/dist/multi-select-oXuLHx0A.js.map +1 -0
  166. package/dist/{popover-BsF6vWTX.cjs → popover-ByL6Igxn.cjs} +1 -1
  167. package/dist/{popover-BsF6vWTX.cjs.map → popover-ByL6Igxn.cjs.map} +1 -1
  168. package/dist/{popover-CT9ZjjNA.js → popover-DMt7GPSm.js} +1 -1
  169. package/dist/{popover-CT9ZjjNA.js.map → popover-DMt7GPSm.js.map} +1 -1
  170. package/dist/progress-Cet_LGmM.cjs +2 -0
  171. package/dist/progress-Cet_LGmM.cjs.map +1 -0
  172. package/dist/progress-DdINdNdF.js +2 -0
  173. package/dist/progress-DdINdNdF.js.map +1 -0
  174. package/dist/{refresh-B2wYinm5.cjs → refresh-BVSXOk3A.cjs} +1 -1
  175. package/dist/{refresh-B2wYinm5.cjs.map → refresh-BVSXOk3A.cjs.map} +1 -1
  176. package/dist/{refresh-BMR_jPST.js → refresh-CHzDlf3i.js} +1 -1
  177. package/dist/{refresh-BMR_jPST.js.map → refresh-CHzDlf3i.js.map} +1 -1
  178. package/dist/{scroll-area-F3yESo8d.js → scroll-area-C4Mg89Qh.js} +1 -1
  179. package/dist/{scroll-area-F3yESo8d.js.map → scroll-area-C4Mg89Qh.js.map} +1 -1
  180. package/dist/{scroll-area-CbABlDpy.cjs → scroll-area-qPdEy4lg.cjs} +1 -1
  181. package/dist/{scroll-area-CbABlDpy.cjs.map → scroll-area-qPdEy4lg.cjs.map} +1 -1
  182. package/dist/{search-input-tivZy8LE.js → search-input-B_L6kaz-.js} +2 -2
  183. package/dist/{search-input-tivZy8LE.js.map → search-input-B_L6kaz-.js.map} +1 -1
  184. package/dist/{search-input-BsnMUPtZ.cjs → search-input-DWLfcXEU.cjs} +2 -2
  185. package/dist/{search-input-BsnMUPtZ.cjs.map → search-input-DWLfcXEU.cjs.map} +1 -1
  186. package/dist/{select-_oIGH0ax.js → select-CijI0HX0.js} +1 -1
  187. package/dist/{select-_oIGH0ax.js.map → select-CijI0HX0.js.map} +1 -1
  188. package/dist/{select-S75hVYoR.cjs → select-oxr4KoHx.cjs} +1 -1
  189. package/dist/{select-S75hVYoR.cjs.map → select-oxr4KoHx.cjs.map} +1 -1
  190. package/dist/{separator-BJoqBpEK.d.cts → separator-BSmwGEtT.d.cts} +3 -3
  191. package/dist/{separator-CxCq7NYP.js → separator-DW2PaiUK.js} +1 -1
  192. package/dist/{separator-CxCq7NYP.js.map → separator-DW2PaiUK.js.map} +1 -1
  193. package/dist/{separator-hulDSW7B.cjs → separator-JGL-8B0V.cjs} +1 -1
  194. package/dist/{separator-hulDSW7B.cjs.map → separator-JGL-8B0V.cjs.map} +1 -1
  195. package/dist/{separator-0LK1LCy9.d.ts → separator-zD-G3xIG.d.ts} +3 -3
  196. package/dist/{sheet-amjZQ7nX.js → sheet-BumlzKcW.js} +1 -1
  197. package/dist/{sheet-amjZQ7nX.js.map → sheet-BumlzKcW.js.map} +1 -1
  198. package/dist/{sheet-D8iW1o50.cjs → sheet-slcLNlWv.cjs} +1 -1
  199. package/dist/{sheet-D8iW1o50.cjs.map → sheet-slcLNlWv.cjs.map} +1 -1
  200. package/dist/{sidebar-BwIH2lFJ.cjs → sidebar-BxGyCuTJ.cjs} +2 -2
  201. package/dist/{sidebar-BwIH2lFJ.cjs.map → sidebar-BxGyCuTJ.cjs.map} +1 -1
  202. package/dist/{sidebar-Cf5tv_x0.js → sidebar-CMWETVDr.js} +2 -2
  203. package/dist/{sidebar-Cf5tv_x0.js.map → sidebar-CMWETVDr.js.map} +1 -1
  204. package/dist/switch-BPSKvrTw.cjs +2 -0
  205. package/dist/switch-BPSKvrTw.cjs.map +1 -0
  206. package/dist/switch-Crju8DJO.js +2 -0
  207. package/dist/switch-Crju8DJO.js.map +1 -0
  208. package/dist/table/index.cjs +1 -1
  209. package/dist/table/index.cjs.map +1 -1
  210. package/dist/table/index.d.cts +0 -1
  211. package/dist/table/index.d.ts +2 -3
  212. package/dist/table/index.js +1 -1
  213. package/dist/table/index.js.map +1 -1
  214. package/dist/table-CSvLRXlk.cjs +2 -0
  215. package/dist/table-CSvLRXlk.cjs.map +1 -0
  216. package/dist/table-DCmuhHSH.js +2 -0
  217. package/dist/table-DCmuhHSH.js.map +1 -0
  218. package/dist/tabs-BYS9bv-R.cjs +2 -0
  219. package/dist/tabs-BYS9bv-R.cjs.map +1 -0
  220. package/dist/tabs-D4Q78tF2.js +2 -0
  221. package/dist/tabs-D4Q78tF2.js.map +1 -0
  222. package/dist/textarea-BCZiUxv7.js +2 -0
  223. package/dist/textarea-BCZiUxv7.js.map +1 -0
  224. package/dist/textarea-BtACo9UF.cjs +2 -0
  225. package/dist/textarea-BtACo9UF.cjs.map +1 -0
  226. package/dist/{title-DiaFg5B5.js → title-CtD4oOTk.js} +1 -1
  227. package/dist/{title-DiaFg5B5.js.map → title-CtD4oOTk.js.map} +1 -1
  228. package/dist/{title-DMOj1cgG.cjs → title-sD8UJhwY.cjs} +1 -1
  229. package/dist/{title-DMOj1cgG.cjs.map → title-sD8UJhwY.cjs.map} +1 -1
  230. package/dist/{toggle-CYHeyOUa.d.ts → toggle-BtGh6fdx.d.ts} +5 -6
  231. package/dist/{toggle-BLlf4Xgl.d.cts → toggle-CP8phE7Y.d.cts} +5 -6
  232. package/dist/toggle-D8VezYdr.js +2 -0
  233. package/dist/toggle-D8VezYdr.js.map +1 -0
  234. package/dist/toggle-D_5Xh3Rl.cjs +2 -0
  235. package/dist/toggle-D_5Xh3Rl.cjs.map +1 -0
  236. package/dist/tooltip-CQ8hkJ42.cjs +2 -0
  237. package/dist/tooltip-CQ8hkJ42.cjs.map +1 -0
  238. package/dist/tooltip-CTUSyCdh.js +2 -0
  239. package/dist/tooltip-CTUSyCdh.js.map +1 -0
  240. package/dist/{tooltip-Bj9r2ENW.d.ts → tooltip-CamHYf1v.d.ts} +6 -7
  241. package/dist/{tooltip-etVeWcFC.d.cts → tooltip-DLNDOfBF.d.cts} +6 -7
  242. package/dist/{types-CmcNT14g.d.ts → types-BpvTO4OF.d.ts} +1 -1
  243. package/dist/typography/paragraph.d.ts +2 -2
  244. package/dist/typography/title.cjs +1 -1
  245. package/dist/typography/title.d.cts +2 -2
  246. package/dist/typography/title.d.ts +2 -2
  247. package/dist/typography/title.js +1 -1
  248. package/dist/ui/alert-dialog.cjs +1 -1
  249. package/dist/ui/alert-dialog.d.cts +12 -13
  250. package/dist/ui/alert-dialog.d.ts +12 -13
  251. package/dist/ui/alert-dialog.js +1 -1
  252. package/dist/ui/alert.cjs +1 -1
  253. package/dist/ui/alert.cjs.map +1 -1
  254. package/dist/ui/alert.d.cts +6 -7
  255. package/dist/ui/alert.d.ts +6 -7
  256. package/dist/ui/alert.js +1 -1
  257. package/dist/ui/alert.js.map +1 -1
  258. package/dist/ui/aspect-ratio.cjs +1 -1
  259. package/dist/ui/aspect-ratio.cjs.map +1 -1
  260. package/dist/ui/aspect-ratio.d.cts +2 -3
  261. package/dist/ui/aspect-ratio.d.ts +2 -3
  262. package/dist/ui/aspect-ratio.js +1 -1
  263. package/dist/ui/aspect-ratio.js.map +1 -1
  264. package/dist/ui/avatar.cjs +1 -2
  265. package/dist/ui/avatar.d.cts +4 -5
  266. package/dist/ui/avatar.d.ts +4 -5
  267. package/dist/ui/avatar.js +1 -2
  268. package/dist/ui/badge.cjs +1 -1
  269. package/dist/ui/badge.d.cts +4 -5
  270. package/dist/ui/badge.d.ts +4 -5
  271. package/dist/ui/badge.js +1 -1
  272. package/dist/ui/breadcrumb.cjs +1 -1
  273. package/dist/ui/breadcrumb.cjs.map +1 -1
  274. package/dist/ui/breadcrumb.d.cts +8 -9
  275. package/dist/ui/breadcrumb.d.ts +8 -9
  276. package/dist/ui/breadcrumb.js +1 -1
  277. package/dist/ui/breadcrumb.js.map +1 -1
  278. package/dist/ui/button.d.cts +1 -1
  279. package/dist/ui/button.d.ts +1 -1
  280. package/dist/ui/buttons/add-new.cjs +1 -1
  281. package/dist/ui/buttons/add-new.js +1 -1
  282. package/dist/ui/buttons/refresh.cjs +1 -1
  283. package/dist/ui/buttons/refresh.js +1 -1
  284. package/dist/ui/buttons/upload-image.cjs +1 -1
  285. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  286. package/dist/ui/buttons/upload-image.d.cts +1 -1
  287. package/dist/ui/buttons/upload-image.d.ts +1 -1
  288. package/dist/ui/buttons/upload-image.js +1 -1
  289. package/dist/ui/buttons/upload-image.js.map +1 -1
  290. package/dist/ui/calendar.cjs +1 -1
  291. package/dist/ui/calendar.d.cts +4 -5
  292. package/dist/ui/calendar.d.ts +4 -5
  293. package/dist/ui/calendar.js +1 -1
  294. package/dist/ui/card.d.cts +8 -8
  295. package/dist/ui/card.d.ts +8 -8
  296. package/dist/ui/carousel.cjs +1 -1
  297. package/dist/ui/carousel.cjs.map +1 -1
  298. package/dist/ui/carousel.d.cts +7 -8
  299. package/dist/ui/carousel.d.ts +7 -8
  300. package/dist/ui/carousel.js +1 -1
  301. package/dist/ui/carousel.js.map +1 -1
  302. package/dist/ui/collapsible.cjs +1 -1
  303. package/dist/ui/collapsible.cjs.map +1 -1
  304. package/dist/ui/collapsible.d.cts +4 -5
  305. package/dist/ui/collapsible.d.ts +4 -5
  306. package/dist/ui/collapsible.js +1 -1
  307. package/dist/ui/collapsible.js.map +1 -1
  308. package/dist/ui/command.cjs +1 -1
  309. package/dist/ui/command.d.cts +2 -2
  310. package/dist/ui/command.d.ts +2 -2
  311. package/dist/ui/command.js +1 -1
  312. package/dist/ui/context-menu.cjs +1 -1
  313. package/dist/ui/context-menu.cjs.map +1 -1
  314. package/dist/ui/context-menu.d.cts +16 -17
  315. package/dist/ui/context-menu.d.ts +16 -17
  316. package/dist/ui/context-menu.js +1 -1
  317. package/dist/ui/context-menu.js.map +1 -1
  318. package/dist/ui/dialog.d.cts +1 -1
  319. package/dist/ui/dialog.d.ts +1 -1
  320. package/dist/ui/dropdown-menu.cjs +1 -1
  321. package/dist/ui/dropdown-menu.d.cts +16 -16
  322. package/dist/ui/dropdown-menu.d.ts +16 -16
  323. package/dist/ui/dropdown-menu.js +1 -1
  324. package/dist/ui/file-uploader.cjs +1 -1
  325. package/dist/ui/file-uploader.cjs.map +1 -1
  326. package/dist/ui/file-uploader.d.cts +2 -3
  327. package/dist/ui/file-uploader.d.ts +2 -3
  328. package/dist/ui/file-uploader.js +2 -2
  329. package/dist/ui/file-uploader.js.map +1 -1
  330. package/dist/ui/form.cjs +1 -1
  331. package/dist/ui/form.d.cts +7 -8
  332. package/dist/ui/form.d.ts +7 -8
  333. package/dist/ui/form.js +1 -1
  334. package/dist/ui/hover-card.cjs +1 -1
  335. package/dist/ui/hover-card.cjs.map +1 -1
  336. package/dist/ui/hover-card.d.cts +4 -5
  337. package/dist/ui/hover-card.d.ts +4 -5
  338. package/dist/ui/hover-card.js +1 -1
  339. package/dist/ui/hover-card.js.map +1 -1
  340. package/dist/ui/input-otp.cjs +1 -1
  341. package/dist/ui/input-otp.cjs.map +1 -1
  342. package/dist/ui/input-otp.d.cts +5 -6
  343. package/dist/ui/input-otp.d.ts +5 -6
  344. package/dist/ui/input-otp.js +1 -1
  345. package/dist/ui/input-otp.js.map +1 -1
  346. package/dist/ui/input.cjs +1 -1
  347. package/dist/ui/input.d.cts +1 -1
  348. package/dist/ui/input.d.ts +1 -1
  349. package/dist/ui/input.js +1 -1
  350. package/dist/ui/inputs/search-input.cjs +1 -1
  351. package/dist/ui/inputs/search-input.d.cts +3 -3
  352. package/dist/ui/inputs/search-input.d.ts +3 -3
  353. package/dist/ui/inputs/search-input.js +1 -1
  354. package/dist/ui/label.cjs +1 -1
  355. package/dist/ui/label.d.cts +2 -3
  356. package/dist/ui/label.d.ts +2 -3
  357. package/dist/ui/label.js +1 -1
  358. package/dist/ui/menubar.cjs +1 -1
  359. package/dist/ui/menubar.cjs.map +1 -1
  360. package/dist/ui/menubar.d.cts +17 -18
  361. package/dist/ui/menubar.d.ts +17 -18
  362. package/dist/ui/menubar.js +1 -1
  363. package/dist/ui/menubar.js.map +1 -1
  364. package/dist/ui/multi-select.cjs +1 -1
  365. package/dist/ui/multi-select.d.cts +4 -4
  366. package/dist/ui/multi-select.d.ts +4 -4
  367. package/dist/ui/multi-select.js +1 -1
  368. package/dist/ui/navigation-menu.d.cts +11 -11
  369. package/dist/ui/navigation-menu.d.ts +11 -11
  370. package/dist/ui/pagination.cjs +1 -1
  371. package/dist/ui/pagination.cjs.map +1 -1
  372. package/dist/ui/pagination.d.cts +9 -10
  373. package/dist/ui/pagination.d.ts +9 -10
  374. package/dist/ui/pagination.js +1 -1
  375. package/dist/ui/pagination.js.map +1 -1
  376. package/dist/ui/popover.cjs +1 -1
  377. package/dist/ui/popover.d.cts +5 -5
  378. package/dist/ui/popover.d.ts +5 -5
  379. package/dist/ui/popover.js +1 -1
  380. package/dist/ui/progress.cjs +1 -1
  381. package/dist/ui/progress.d.cts +2 -3
  382. package/dist/ui/progress.d.ts +2 -3
  383. package/dist/ui/progress.js +1 -1
  384. package/dist/ui/radio-group.cjs +1 -1
  385. package/dist/ui/radio-group.cjs.map +1 -1
  386. package/dist/ui/radio-group.d.cts +3 -4
  387. package/dist/ui/radio-group.d.ts +3 -4
  388. package/dist/ui/radio-group.js +1 -1
  389. package/dist/ui/radio-group.js.map +1 -1
  390. package/dist/ui/resizable.cjs +1 -1
  391. package/dist/ui/resizable.cjs.map +1 -1
  392. package/dist/ui/resizable.d.cts +4 -5
  393. package/dist/ui/resizable.d.ts +4 -5
  394. package/dist/ui/resizable.js +1 -1
  395. package/dist/ui/resizable.js.map +1 -1
  396. package/dist/ui/scroll-area.cjs +1 -1
  397. package/dist/ui/scroll-area.d.cts +3 -3
  398. package/dist/ui/scroll-area.d.ts +3 -3
  399. package/dist/ui/scroll-area.js +1 -1
  400. package/dist/ui/select.cjs +1 -1
  401. package/dist/ui/select.d.cts +11 -11
  402. package/dist/ui/select.d.ts +11 -11
  403. package/dist/ui/select.js +1 -1
  404. package/dist/ui/separator.cjs +1 -1
  405. package/dist/ui/separator.d.cts +1 -1
  406. package/dist/ui/separator.d.ts +1 -1
  407. package/dist/ui/separator.js +1 -1
  408. package/dist/ui/sheet.cjs +1 -1
  409. package/dist/ui/sheet.d.cts +9 -9
  410. package/dist/ui/sheet.d.ts +9 -9
  411. package/dist/ui/sheet.js +1 -1
  412. package/dist/ui/sidebar.cjs +1 -1
  413. package/dist/ui/sidebar.cjs.map +1 -1
  414. package/dist/ui/sidebar.d.cts +30 -31
  415. package/dist/ui/sidebar.d.ts +30 -31
  416. package/dist/ui/sidebar.js +1 -1
  417. package/dist/ui/sidebar.js.map +1 -1
  418. package/dist/ui/skeleton.d.cts +2 -2
  419. package/dist/ui/skeleton.d.ts +2 -2
  420. package/dist/ui/slider.cjs +1 -1
  421. package/dist/ui/slider.cjs.map +1 -1
  422. package/dist/ui/slider.d.cts +2 -3
  423. package/dist/ui/slider.d.ts +2 -3
  424. package/dist/ui/slider.js +1 -1
  425. package/dist/ui/slider.js.map +1 -1
  426. package/dist/ui/sonner.d.cts +2 -2
  427. package/dist/ui/sonner.d.ts +2 -2
  428. package/dist/ui/switch.cjs +1 -1
  429. package/dist/ui/switch.d.cts +2 -3
  430. package/dist/ui/switch.d.ts +2 -3
  431. package/dist/ui/switch.js +1 -1
  432. package/dist/ui/table.cjs +1 -1
  433. package/dist/ui/table.d.cts +9 -10
  434. package/dist/ui/table.d.ts +9 -10
  435. package/dist/ui/table.js +1 -1
  436. package/dist/ui/tabs.cjs +1 -2
  437. package/dist/ui/tabs.d.cts +5 -5
  438. package/dist/ui/tabs.d.ts +5 -5
  439. package/dist/ui/tabs.js +1 -2
  440. package/dist/ui/textarea.cjs +1 -1
  441. package/dist/ui/textarea.d.cts +2 -3
  442. package/dist/ui/textarea.d.ts +2 -3
  443. package/dist/ui/textarea.js +1 -1
  444. package/dist/ui/toggle-group.cjs +1 -1
  445. package/dist/ui/toggle-group.cjs.map +1 -1
  446. package/dist/ui/toggle-group.d.cts +4 -5
  447. package/dist/ui/toggle-group.d.ts +4 -5
  448. package/dist/ui/toggle-group.js +1 -1
  449. package/dist/ui/toggle-group.js.map +1 -1
  450. package/dist/ui/toggle.cjs +1 -1
  451. package/dist/ui/toggle.d.cts +1 -1
  452. package/dist/ui/toggle.d.ts +1 -1
  453. package/dist/ui/toggle.js +1 -1
  454. package/dist/ui/tooltip.cjs +1 -1
  455. package/dist/ui/tooltip.d.cts +1 -1
  456. package/dist/ui/tooltip.d.ts +1 -1
  457. package/dist/ui/tooltip.js +1 -1
  458. package/package.json +6 -2
  459. package/dist/alert-dialog-7AEaiJxA.cjs +0 -2
  460. package/dist/alert-dialog-7AEaiJxA.cjs.map +0 -1
  461. package/dist/alert-dialog-B8Whrlfq.js +0 -2
  462. package/dist/alert-dialog-B8Whrlfq.js.map +0 -1
  463. package/dist/badge-8wMMxROk.js +0 -2
  464. package/dist/badge-8wMMxROk.js.map +0 -1
  465. package/dist/badge-BnFraaZ1.cjs +0 -2
  466. package/dist/badge-BnFraaZ1.cjs.map +0 -1
  467. package/dist/calendar-BgoGbit6.js +0 -2
  468. package/dist/calendar-BgoGbit6.js.map +0 -1
  469. package/dist/calendar-CrtbhiDy.cjs.map +0 -1
  470. package/dist/flex-BxBmZCWh.js +0 -2
  471. package/dist/flex-BxBmZCWh.js.map +0 -1
  472. package/dist/flex-C-4TxUDe.cjs +0 -2
  473. package/dist/flex-C-4TxUDe.cjs.map +0 -1
  474. package/dist/form-B0fOiANW.js +0 -2
  475. package/dist/form-B0fOiANW.js.map +0 -1
  476. package/dist/form-DAwCSzSe.cjs +0 -2
  477. package/dist/form-DAwCSzSe.cjs.map +0 -1
  478. package/dist/input-Bt7b3-NW.cjs +0 -2
  479. package/dist/input-Bt7b3-NW.cjs.map +0 -1
  480. package/dist/input-i5Nm0R1X.js +0 -2
  481. package/dist/input-i5Nm0R1X.js.map +0 -1
  482. package/dist/label-BbuMrcie.cjs +0 -2
  483. package/dist/label-BbuMrcie.cjs.map +0 -1
  484. package/dist/label-CyaoUND0.js +0 -2
  485. package/dist/label-CyaoUND0.js.map +0 -1
  486. package/dist/multi-select-C8kzA628.cjs +0 -2
  487. package/dist/multi-select-C8kzA628.cjs.map +0 -1
  488. package/dist/multi-select-CaBcDGi6.js +0 -2
  489. package/dist/multi-select-CaBcDGi6.js.map +0 -1
  490. package/dist/progress-BhSNuH1w.cjs +0 -2
  491. package/dist/progress-BhSNuH1w.cjs.map +0 -1
  492. package/dist/progress-PzPWivBh.js +0 -2
  493. package/dist/progress-PzPWivBh.js.map +0 -1
  494. package/dist/switch-BN4ghEjT.cjs +0 -2
  495. package/dist/switch-BN4ghEjT.cjs.map +0 -1
  496. package/dist/switch-BeQqTAw4.js +0 -2
  497. package/dist/switch-BeQqTAw4.js.map +0 -1
  498. package/dist/table-Bz4GB66J.cjs +0 -2
  499. package/dist/table-Bz4GB66J.cjs.map +0 -1
  500. package/dist/table-Fby8ksbK.js +0 -2
  501. package/dist/table-Fby8ksbK.js.map +0 -1
  502. package/dist/textarea-CWLU6cai.cjs +0 -2
  503. package/dist/textarea-CWLU6cai.cjs.map +0 -1
  504. package/dist/textarea-S2APrJU-.js +0 -2
  505. package/dist/textarea-S2APrJU-.js.map +0 -1
  506. package/dist/toggle-BrHo4W70.cjs +0 -2
  507. package/dist/toggle-BrHo4W70.cjs.map +0 -1
  508. package/dist/toggle-DCZ9RTZZ.js +0 -2
  509. package/dist/toggle-DCZ9RTZZ.js.map +0 -1
  510. package/dist/tooltip-CN8vvmWA.js +0 -2
  511. package/dist/tooltip-CN8vvmWA.js.map +0 -1
  512. package/dist/tooltip-meYt4lxB.cjs +0 -2
  513. package/dist/tooltip-meYt4lxB.cjs.map +0 -1
  514. package/dist/ui/avatar.cjs.map +0 -1
  515. package/dist/ui/avatar.js.map +0 -1
  516. package/dist/ui/tabs.cjs.map +0 -1
  517. package/dist/ui/tabs.js.map +0 -1
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`class-variance-authority`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`)),a=(0,n.cva)(`focus:ring-ring rounded-sm inline-flex items-center px-2.5 py-0.5 font-semibold text-white shadow-sm transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-hidden forced-colors:outline`,{variants:{color:{red:`bg-red-500 text-white`,orange:`bg-orange-500 text-white`,amber:`bg-amber-500 text-white`,yellow:`bg-yellow-500 text-white`,lime:`bg-lime-500 text-white`,green:`bg-green-500 text-white`,emerald:`bg-emerald-500 text-white`,teal:`bg-teal-500 text-white`,cyan:`bg-cyan-500 text-white`,sky:`bg-sky-500 text-white`,blue:`bg-blue-500 text-white`,indigo:`bg-indigo-500 text-white`,violet:`bg-violet-500 text-white`,purple:`bg-purple-500 text-white`,fuchsia:`bg-fuchsia-500 text-white`,pink:`bg-pink-500 text-white`,rose:`bg-rose-500 text-white`,zinc:`bg-zinc-500 text-white`},size:{xs:`text-[8px]/3 px-1 py-0.5 gap-1`,sm:`text-[10px]/3 px-1.5 py-1 gap-1`,md:`text-xs px-2 py-1 gap-1`,lg:`text-sm px-2 py-1 gap-1.5`,xl:`text-base px-2.5 py-1 gap-1.5`},pill:{true:`rounded-full`}},defaultVariants:{color:`zinc`,size:`md`,pill:!0}});function o({className:e,color:n,size:i,pill:o,...s}){return(0,r.jsx)(`div`,{className:(0,t.cn)(a({color:n,pill:o,size:i}),e),...s})}Object.defineProperty(exports,`Badge`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`badgeVariants`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=badge-BnFraaZ1.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge-BnFraaZ1.cjs","names":[],"sources":["../packages/components/ui/badge.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst badgeVariants = cva(\n 'focus:ring-ring rounded-sm inline-flex items-center px-2.5 py-0.5 font-semibold text-white shadow-sm transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-hidden forced-colors:outline',\n {\n variants: {\n color: {\n red: 'bg-red-500 text-white',\n orange: 'bg-orange-500 text-white',\n amber: 'bg-amber-500 text-white',\n yellow: 'bg-yellow-500 text-white',\n lime: 'bg-lime-500 text-white',\n green: 'bg-green-500 text-white',\n emerald: 'bg-emerald-500 text-white',\n teal: 'bg-teal-500 text-white',\n cyan: 'bg-cyan-500 text-white',\n sky: 'bg-sky-500 text-white',\n blue: 'bg-blue-500 text-white',\n indigo: 'bg-indigo-500 text-white',\n violet: 'bg-violet-500 text-white',\n purple: 'bg-purple-500 text-white',\n fuchsia: 'bg-fuchsia-500 text-white',\n pink: 'bg-pink-500 text-white',\n rose: 'bg-rose-500 text-white',\n zinc: 'bg-zinc-500 text-white',\n },\n size: {\n xs: 'text-[8px]/3 px-1 py-0.5 gap-1',\n sm: 'text-[10px]/3 px-1.5 py-1 gap-1',\n md: 'text-xs px-2 py-1 gap-1',\n lg: 'text-sm px-2 py-1 gap-1.5',\n xl: 'text-base px-2.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n },\n },\n defaultVariants: {\n color: 'zinc',\n size: 'md',\n pill: true,\n },\n },\n)\n\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'div'>\n\nfunction Badge({ className, color, size, pill, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ color, pill, size }), className)} {...props} />\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants }\n"],"mappings":"wNAMM,GAAA,EAAA,EAAA,KACJ,qMACA,CACE,SAAU,CACR,MAAO,CACL,IAAK,wBACL,OAAQ,2BACR,MAAO,0BACP,OAAQ,2BACR,KAAM,yBACN,MAAO,0BACP,QAAS,4BACT,KAAM,yBACN,KAAM,yBACN,IAAK,wBACL,KAAM,yBACN,OAAQ,2BACR,OAAQ,2BACR,OAAQ,2BACR,QAAS,4BACT,KAAM,yBACN,KAAM,yBACN,KAAM,0BAER,KAAM,CACJ,GAAI,iCACJ,GAAI,kCACJ,GAAI,0BACJ,GAAI,4BACJ,GAAI,iCAEN,KAAM,CACJ,KAAM,iBAGV,gBAAiB,CACf,MAAO,OACP,KAAM,KACN,KAAM,MAOZ,SAAS,EAAM,CAAE,YAAW,QAAO,OAAM,OAAM,GAAG,GAAqB,CACrE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,EAAc,CAAE,QAAO,OAAM,SAAS,GAAY,GAAI"}
@@ -1,2 +0,0 @@
1
- import{Button as e,buttonVariants as t}from"./button-CvQQTSka.js";import{ChevronDownIcon as n,ChevronLeftIcon as r,ChevronRightIcon as i}from"lucide-react";import{cn as a}from"@customafk/react-toolkit/utils";import{jsx as o}from"react/jsx-runtime";import s from"react";import{DayButton as c,DayPicker as l,getDefaultClassNames as u}from"react-day-picker";function d({className:e,classNames:s,showOutsideDays:c=!0,captionLayout:d=`label`,buttonVariant:p=`ghost`,formatters:m,components:h,...g}){let _=u();return o(l,{showOutsideDays:c,className:a(`bg-background group/calendar p-3`,`[--cell-size:--spacing(8)]`,`[[data-slot=card-content]_&]:bg-transparent`,`[[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:d,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...m},classNames:{root:a(`w-fit`,_.root),months:a(`flex gap-4 flex-col md:flex-row relative`,_.months),month:a(`flex flex-col w-full gap-4`,_.month),nav:a(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,_.nav),button_previous:a(t({variant:p}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_previous),button_next:a(t({variant:p}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_next),month_caption:a(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,_.month_caption),dropdowns:a(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,_.dropdowns),dropdown_root:a(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded-md`,_.dropdown_root),dropdown:a(`absolute inset-0 opacity-0`,_.dropdown),caption_label:a(`select-none font-medium`,d===`label`?`text-sm`:`rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,_.caption_label),table:`w-full border-collapse`,weekdays:a(`flex`,_.weekdays),weekday:a(`text-text-positive rounded-md flex-1 font-normal text-[0.8rem] select-none`,_.weekday),week:a(`flex w-full mt-2`,_.week),week_number_header:a(`select-none w-(--cell-size)`,_.week_number_header),week_number:a(`text-[0.8rem] select-none text-text-positive`,_.week_number),day:a(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,_.day),range_start:a(`rounded-l-md bg-muted-muted`,_.range_start),range_middle:a(`rounded-none`,_.range_middle),range_end:a(`rounded-r-md bg-muted-muted`,_.range_end),today:a(`bg-muted-muted text-text-positive rounded-md data-[selected=true]:rounded-none`,_.today),outside:a(`text-text-positive aria-selected:text-text-positive`,_.outside),disabled:a(`text-text-positive opacity-50`,_.disabled),hidden:a(`invisible`,_.hidden),...s},components:{Root:({className:e,rootRef:t,...n})=>o(`div`,{"data-slot":`calendar`,ref:t,className:a(e),...n}),Chevron:({className:e,orientation:t,...s})=>o(t===`left`?r:t===`right`?i:n,{className:a(`size-4`,e),...s}),DayButton:f,WeekNumber:({children:e,...t})=>o(`td`,{...t,children:o(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...h},...g})}function f({className:t,day:n,modifiers:r,...i}){let c=u(),l=s.useRef(null);return s.useEffect(()=>{r.focused&&l.current?.focus()},[r.focused]),o(e,{ref:l,variant:`ghost`,size:`icon`,"data-day":n.date.toLocaleDateString(),"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:a(`flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-text-positive`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:ring-primary-weak`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`group-data-[focused=true]/day:ring-[3px]`,`data-[range-end=true]:rounded-md`,`data-[range-end=true]:rounded-r-md`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded-md`,`data-[range-start=true]:rounded-l-md`,`[&>span]:text-xs [&>span]:opacity-70`,c.day,t),...i,color:`secondary`})}export{d as Calendar,f as CalendarDayButton};
2
- //# sourceMappingURL=calendar-BgoGbit6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar-BgoGbit6.js","names":["props","className"],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react'\n\nimport { Button, buttonVariants } from '@/components/ui/button'\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant']\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3',\n '[--cell-size:--spacing(8)]',\n '[[data-slot=card-content]_&]:bg-transparent',\n '[[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next,\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded-md',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' ? 'text-sm' : 'rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded-md flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none',\n defaultClassNames.day,\n ),\n range_start: cn('rounded-l-md bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r-md bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('text-text-positive aria-selected:text-text-positive', defaultClassNames.outside),\n disabled: cn('text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-text-positive',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:ring-primary-weak',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n color=\"secondary\"\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n"],"mappings":"mWASA,SAAS,EAAS,CAChB,YACA,aACA,kBAAkB,GAClB,gBAAgB,QAChB,gBAAgB,QAChB,aACA,aACA,GAAG,GAGF,CACD,IAAM,EAAoB,IAE1B,OACE,EAAC,EAAA,CACkB,kBACjB,UAAW,EACT,mCACA,6BACA,8CACA,iDACA,OAAO,GAAG,4CACV,OAAO,GAAG,gDACV,GAEa,gBACf,WAAY,CACV,oBAAsB,GAAS,EAAK,eAAe,UAAW,CAAE,MAAO,UACvE,GAAG,GAEL,WAAY,CACV,KAAM,EAAG,QAAS,EAAkB,MACpC,OAAQ,EAAG,2CAA4C,EAAkB,QACzE,MAAO,EAAG,6BAA8B,EAAkB,OAC1D,IAAK,EAAG,0EAA2E,EAAkB,KACrG,gBAAiB,EACf,EAAe,CAAE,QAAS,IAC1B,8DACA,EAAkB,iBAEpB,YAAa,EACX,EAAe,CAAE,QAAS,IAC1B,8DACA,EAAkB,aAEpB,cAAe,EAAG,2EAA4E,EAAkB,eAChH,UAAW,EAAG,sFAAuF,EAAkB,WACvH,cAAe,EACb,2IACA,EAAkB,eAEpB,SAAU,EAAG,6BAA8B,EAAkB,UAC7D,cAAe,EACb,0BACA,IAAkB,QAAU,UAAY,uGACxC,EAAkB,eAEpB,MAAO,yBACP,SAAU,EAAG,OAAQ,EAAkB,UACvC,QAAS,EAAG,6EAA8E,EAAkB,SAC5G,KAAM,EAAG,mBAAoB,EAAkB,MAC/C,mBAAoB,EAAG,8BAA+B,EAAkB,oBACxE,YAAa,EAAG,+CAAgD,EAAkB,aAClF,IAAK,EACH,4LACA,EAAkB,KAEpB,YAAa,EAAG,8BAA+B,EAAkB,aACjE,aAAc,EAAG,eAAgB,EAAkB,cACnD,UAAW,EAAG,8BAA+B,EAAkB,WAC/D,MAAO,EAAG,iFAAkF,EAAkB,OAC9G,QAAS,EAAG,sDAAuD,EAAkB,SACrF,SAAU,EAAG,gCAAiC,EAAkB,UAChE,OAAQ,EAAG,YAAa,EAAkB,QAC1C,GAAG,GAEL,WAAY,CACV,MAAO,CAAE,UAAA,EAAW,UAAS,GAAGA,KACvB,EAAC,MAAA,CAAI,YAAU,WAAW,IAAK,EAAS,UAAW,EAAGC,GAAY,GAAID,IAE/E,SAAU,CAAE,UAAA,EAAW,cAAa,GAAGA,KAE5B,EADL,IAAgB,OACV,EAGN,IAAgB,QACV,EAGF,EAPE,CAAgB,UAAW,EAAG,SAAUC,GAAY,GAAID,IASpE,UAAW,EACX,YAAa,CAAE,WAAU,GAAGA,KAExB,EAAC,KAAA,CAAG,GAAIA,WACN,EAAC,MAAA,CAAI,UAAU,kEAAmE,eAIxF,GAAG,GAEL,GAAI,IAKV,SAAS,EAAkB,CAAE,YAAW,MAAK,YAAW,GAAG,GAAiD,CAC1G,IAAM,EAAoB,IAEpB,EAAM,EAAM,OAA0B,MAK5C,OAJA,EAAM,cAAgB,CAChB,EAAU,SAAS,EAAI,SAAS,SACnC,CAAC,EAAU,UAGZ,EAAC,EAAA,CACM,MACL,QAAQ,QACR,KAAK,OACL,WAAU,EAAI,KAAK,qBACnB,uBAAsB,EAAU,UAAY,CAAC,EAAU,aAAe,CAAC,EAAU,WAAa,CAAC,EAAU,aACzG,mBAAkB,EAAU,YAC5B,iBAAgB,EAAU,UAC1B,oBAAmB,EAAU,aAC7B,UAAW,EACT,kGACA,yCACA,iDACA,0CACA,8CACA,2CACA,oDACA,mCACA,kDACA,sDACA,kDACA,yCACA,qCACA,2CACA,mCACA,qCACA,wCACA,qCACA,uCACA,uCACA,EAAkB,IAClB,GAEF,GAAI,EACJ,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar-CrtbhiDy.cjs","names":["DayPicker","buttonVariants","props","className","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","React","Button"],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react'\n\nimport { Button, buttonVariants } from '@/components/ui/button'\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant']\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3',\n '[--cell-size:--spacing(8)]',\n '[[data-slot=card-content]_&]:bg-transparent',\n '[[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next,\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded-md',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' ? 'text-sm' : 'rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded-md flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none',\n defaultClassNames.day,\n ),\n range_start: cn('rounded-l-md bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r-md bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('text-text-positive aria-selected:text-text-positive', defaultClassNames.outside),\n disabled: cn('text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-text-positive',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:ring-primary-weak',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n color=\"secondary\"\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{jsx as n}from"react/jsx-runtime";import r from"react";const i=t([`relative flex`,`text-sm`],{variants:{vertical:{true:`flex-col`,false:`flex-row`},width:{full:`w-full`,auto:`w-auto`,fit:`w-fit`,screen:`w-screen`,min:`w-min`,max:`w-max`,null:``},wrap:{true:`flex-wrap`,false:`flex-nowrap`},margin:{sm:`m-2`,md:`m-4`,lg:`m-6`,xl:`m-8`,none:`m-0`},padding:{sm:`p-2`,md:`p-4`,lg:`p-6`,xl:`p-8`,none:`p-0`},gap:{xs:`gap-1`,sm:`gap-2`,md:`gap-4`,lg:`gap-6`,xl:`gap-8`,none:`gap-0`},justify:{start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`,stretch:`justify-stretch`},align:{start:`items-start`,center:`items-center`,end:`items-end`,baseline:`items-baseline`,stretch:`items-stretch`}},defaultVariants:{vertical:!1,wrap:!0,width:`fit`,margin:`none`,padding:`sm`,gap:`xs`,justify:`start`,align:`center`}}),a=({vertical:t,wrap:r,width:a,margin:o,padding:s,gap:c,justify:l,align:u,className:d,children:f})=>n(`div`,{className:e(i({vertical:t,width:a,wrap:r,margin:o,padding:s,gap:c,justify:l,align:u,className:d})),children:f});export{a as Flex};
2
- //# sourceMappingURL=flex-BxBmZCWh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-BxBmZCWh.js","names":[],"sources":["../packages/components/layouts/flex.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst flexVariants = cva(['relative flex', 'text-sm'], {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n width: {\n full: 'w-full',\n auto: 'w-auto',\n fit: 'w-fit',\n screen: 'w-screen',\n min: 'w-min',\n max: 'w-max',\n null: '',\n },\n wrap: {\n true: 'flex-wrap',\n false: 'flex-nowrap',\n },\n margin: {\n sm: 'm-2',\n md: 'm-4',\n lg: 'm-6',\n xl: 'm-8',\n none: 'm-0',\n },\n padding: {\n sm: 'p-2',\n md: 'p-4',\n lg: 'p-6',\n xl: 'p-8',\n none: 'p-0',\n },\n gap: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n none: 'gap-0',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n stretch: 'justify-stretch',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n },\n },\n defaultVariants: {\n vertical: false,\n wrap: true,\n width: 'fit',\n margin: 'none',\n padding: 'sm',\n gap: 'xs',\n justify: 'start',\n align: 'center',\n },\n})\n\ntype Props = {\n className?: string\n} & VariantProps<typeof flexVariants>\nexport const Flex = ({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => {\n return (\n <div\n className={cn(\n flexVariants({\n vertical,\n width,\n wrap,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n }),\n )}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"gKAMA,MAAM,EAAe,EAAI,CAAC,gBAAiB,WAAY,CACrD,SAAU,CACR,SAAU,CACR,KAAM,WACN,MAAO,YAET,MAAO,CACL,KAAM,SACN,KAAM,SACN,IAAK,QACL,OAAQ,WACR,IAAK,QACL,IAAK,QACL,KAAM,IAER,KAAM,CACJ,KAAM,YACN,MAAO,eAET,OAAQ,CACN,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,QAAS,CACP,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,IAAK,CACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,KAAM,SAER,QAAS,CACP,MAAO,gBACP,OAAQ,iBACR,IAAK,cACL,QAAS,kBACT,OAAQ,iBACR,OAAQ,iBACR,QAAS,mBAEX,MAAO,CACL,MAAO,cACP,OAAQ,eACR,IAAK,YACL,SAAU,iBACV,QAAS,kBAGb,gBAAiB,CACf,SAAU,GACV,KAAM,GACN,MAAO,MACP,OAAQ,OACR,QAAS,KACT,IAAK,KACL,QAAS,QACT,MAAO,YAOE,GAAQ,CAAE,WAAU,OAAM,QAAO,SAAQ,UAAS,MAAK,UAAS,QAAO,YAAW,cAE3F,EAAC,MAAA,CACC,UAAW,EACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`class-variance-authority`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`)),a=(0,n.cva)([`relative flex`,`text-sm`],{variants:{vertical:{true:`flex-col`,false:`flex-row`},width:{full:`w-full`,auto:`w-auto`,fit:`w-fit`,screen:`w-screen`,min:`w-min`,max:`w-max`,null:``},wrap:{true:`flex-wrap`,false:`flex-nowrap`},margin:{sm:`m-2`,md:`m-4`,lg:`m-6`,xl:`m-8`,none:`m-0`},padding:{sm:`p-2`,md:`p-4`,lg:`p-6`,xl:`p-8`,none:`p-0`},gap:{xs:`gap-1`,sm:`gap-2`,md:`gap-4`,lg:`gap-6`,xl:`gap-8`,none:`gap-0`},justify:{start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`,stretch:`justify-stretch`},align:{start:`items-start`,center:`items-center`,end:`items-end`,baseline:`items-baseline`,stretch:`items-stretch`}},defaultVariants:{vertical:!1,wrap:!0,width:`fit`,margin:`none`,padding:`sm`,gap:`xs`,justify:`start`,align:`center`}}),o=({vertical:e,wrap:n,width:i,margin:o,padding:s,gap:c,justify:l,align:u,className:d,children:f})=>(0,r.jsx)(`div`,{className:(0,t.cn)(a({vertical:e,width:i,wrap:n,margin:o,padding:s,gap:c,justify:l,align:u,className:d})),children:f});Object.defineProperty(exports,`Flex`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=flex-C-4TxUDe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-C-4TxUDe.cjs","names":[],"sources":["../packages/components/layouts/flex.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst flexVariants = cva(['relative flex', 'text-sm'], {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n width: {\n full: 'w-full',\n auto: 'w-auto',\n fit: 'w-fit',\n screen: 'w-screen',\n min: 'w-min',\n max: 'w-max',\n null: '',\n },\n wrap: {\n true: 'flex-wrap',\n false: 'flex-nowrap',\n },\n margin: {\n sm: 'm-2',\n md: 'm-4',\n lg: 'm-6',\n xl: 'm-8',\n none: 'm-0',\n },\n padding: {\n sm: 'p-2',\n md: 'p-4',\n lg: 'p-6',\n xl: 'p-8',\n none: 'p-0',\n },\n gap: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n none: 'gap-0',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n stretch: 'justify-stretch',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n },\n },\n defaultVariants: {\n vertical: false,\n wrap: true,\n width: 'fit',\n margin: 'none',\n padding: 'sm',\n gap: 'xs',\n justify: 'start',\n align: 'center',\n },\n})\n\ntype Props = {\n className?: string\n} & VariantProps<typeof flexVariants>\nexport const Flex = ({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => {\n return (\n <div\n className={cn(\n flexVariants({\n vertical,\n width,\n wrap,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n }),\n )}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"wNAMM,GAAA,EAAA,EAAA,KAAmB,CAAC,gBAAiB,WAAY,CACrD,SAAU,CACR,SAAU,CACR,KAAM,WACN,MAAO,YAET,MAAO,CACL,KAAM,SACN,KAAM,SACN,IAAK,QACL,OAAQ,WACR,IAAK,QACL,IAAK,QACL,KAAM,IAER,KAAM,CACJ,KAAM,YACN,MAAO,eAET,OAAQ,CACN,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,QAAS,CACP,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,IAAK,CACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,KAAM,SAER,QAAS,CACP,MAAO,gBACP,OAAQ,iBACR,IAAK,cACL,QAAS,kBACT,OAAQ,iBACR,OAAQ,iBACR,QAAS,mBAEX,MAAO,CACL,MAAO,cACP,OAAQ,eACR,IAAK,YACL,SAAU,iBACV,QAAS,kBAGb,gBAAiB,CACf,SAAU,GACV,KAAM,GACN,MAAO,MACP,OAAQ,OACR,QAAS,KACT,IAAK,KACL,QAAS,QACT,MAAO,YAOE,GAAQ,CAAE,WAAU,OAAM,QAAO,SAAQ,UAAS,MAAK,UAAS,QAAO,YAAW,eAE3F,EAAA,EAAA,KAAC,MAAA,CACC,WAAA,EAAA,EAAA,IACE,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
@@ -1,2 +0,0 @@
1
- import{Label as e}from"./label-CyaoUND0.js";import{cn as t}from"@customafk/react-toolkit/utils";import{Label as n,Slot as r}from"radix-ui";import{jsx as i}from"react/jsx-runtime";import a from"react";import{Controller as o,FormProvider as s,useFormContext as c,useFormState as l}from"react-hook-form";const u=s,d=a.createContext({}),f=({...e})=>i(d.Provider,{value:{name:e.name},children:i(o,{...e})}),p=()=>{let e=a.useContext(d),t=a.useContext(m),{getFieldState:n,control:r,resetField:i}=c(),o=l({name:e.name}),s=n(e.name,o);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:u}=t;return{id:u,control:r,resetField:i,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...s}},m=a.createContext({});function h({className:e,...n}){let r=a.useId();return i(m.Provider,{value:{id:r},children:i(`div`,{"data-slot":`form-item`,className:t(`grid gap-1`,e),...n})})}function g({className:n,...r}){let{formItemId:a}=p();return i(e,{"data-slot":`form-label`,className:t(`text-xs`,n),htmlFor:a,...r})}function _({...e}){let{error:t,formItemId:n,formDescriptionId:a,formMessageId:o}=p();return i(r.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${a} ${o}`:`${a}`,"aria-invalid":!!t,...e})}function v({className:e,...n}){let{formDescriptionId:r}=p();return i(`p`,{"data-slot":`form-description`,id:r,className:t(`text-text-positive-weak text-sm`,e),...n})}function y({className:e,children:n,...r}){let{error:a,formMessageId:o}=p();return i(`span`,{"data-slot":`form-message`,id:o,className:t(`text-danger text-xs`,e),...r,children:a?String(a?.message??``):n})}export{u as Form,_ as FormControl,v as FormDescription,f as FormField,h as FormItem,g as FormLabel,y as FormMessage,p as useFormField};
2
- //# sourceMappingURL=form-B0fOiANW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-B0fOiANW.js","names":["Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext, useFormState } from 'react-hook-form'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Label } from '@/components/ui/label'\n\nimport { Label as LabelPrimitive, Slot as SlotPrimitive } from 'radix-ui'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, control, resetField } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n control,\n resetField,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn('grid gap-1', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField()\n return <Label data-slot=\"form-label\" className={cn('text-xs', className)} htmlFor={formItemId} {...props} />\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return <p data-slot=\"form-description\" id={formDescriptionId} className={cn('text-text-positive-weak text-sm', className)} {...props} />\n}\n\nfunction FormMessage({ className, children, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n\n return (\n <span data-slot=\"form-message\" id={formMessageId} className={cn('text-danger text-xs', className)} {...props}>\n {error ? String(error?.message ?? '') : children}\n </span>\n )\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField }\n"],"mappings":"6SASA,MAAM,EAAO,EAMP,EAAmB,EAAM,cAAqC,IAE9D,GAA8H,CAClI,GAAG,KAGD,EAAC,EAAiB,SAAA,CAAS,MAAO,CAAE,KAAM,EAAM,eAC9C,EAAC,EAAA,CAAW,GAAI,MAKhB,MAAqB,CACzB,IAAM,EAAe,EAAM,WAAW,GAChC,EAAc,EAAM,WAAW,GAC/B,CAAE,gBAAe,UAAS,cAAe,IACzC,EAAY,EAAa,CAAE,KAAM,EAAa,OAC9C,EAAa,EAAc,EAAa,KAAM,GAEpD,GAAI,CAAC,EACH,MAAU,MAAM,kDAGlB,GAAM,CAAE,MAAO,EAEf,MAAO,CACL,KACA,UACA,aACA,KAAM,EAAa,KACnB,WAAY,GAAG,EAAG,YAClB,kBAAmB,GAAG,EAAG,wBACzB,cAAe,GAAG,EAAG,oBACrB,GAAG,IAQD,EAAkB,EAAM,cAAoC,IAElE,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,IAAM,EAAK,EAAM,QAEjB,OACE,EAAC,EAAgB,SAAA,CAAS,MAAO,CAAE,eACjC,EAAC,MAAA,CAAI,YAAU,YAAY,UAAW,EAAG,aAAc,GAAY,GAAI,MAK7E,SAAS,EAAU,CAAE,YAAW,GAAG,GAA2D,CAC5F,GAAM,CAAE,cAAe,IACvB,OAAO,EAACA,EAAAA,CAAM,YAAU,aAAa,UAAW,EAAG,UAAW,GAAY,QAAS,EAAY,GAAI,IAGrG,SAAS,EAAY,CAAE,GAAG,GAA0D,CAClF,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAAkB,IAEhE,OACE,EAACC,EAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBAAmB,EAAiC,GAAG,EAAkB,GAAG,IAAjD,GAAG,IAC9B,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OAAO,EAAC,IAAA,CAAE,YAAU,mBAAmB,GAAI,EAAmB,UAAW,EAAG,kCAAmC,GAAY,GAAI,IAGjI,SAAS,EAAY,CAAE,YAAW,WAAU,GAAG,GAAoC,CACjF,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAC,OAAA,CAAK,YAAU,eAAe,GAAI,EAAe,UAAW,EAAG,sBAAuB,GAAY,GAAI,WACpG,EAAQ,OAAO,GAAO,SAAW,IAAM"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./label-BbuMrcie.cjs`),n=e.__toESM(require(`@customafk/react-toolkit/utils`)),r=e.__toESM(require(`radix-ui`)),i=e.__toESM(require(`react/jsx-runtime`)),a=e.__toESM(require(`react`)),o=e.__toESM(require(`react-hook-form`)),s=o.FormProvider,c=a.default.createContext({}),l=({...e})=>(0,i.jsx)(c.Provider,{value:{name:e.name},children:(0,i.jsx)(o.Controller,{...e})}),u=()=>{let e=a.default.useContext(c),t=a.default.useContext(d),{getFieldState:n,control:r,resetField:i}=(0,o.useFormContext)(),s=(0,o.useFormState)({name:e.name}),l=n(e.name,s);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:u}=t;return{id:u,control:r,resetField:i,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...l}},d=a.default.createContext({});function f({className:e,...t}){let r=a.default.useId();return(0,i.jsx)(d.Provider,{value:{id:r},children:(0,i.jsx)(`div`,{"data-slot":`form-item`,className:(0,n.cn)(`grid gap-1`,e),...t})})}function p({className:e,...r}){let{formItemId:a}=u();return(0,i.jsx)(t.Label,{"data-slot":`form-label`,className:(0,n.cn)(`text-xs`,e),htmlFor:a,...r})}function m({...e}){let{error:t,formItemId:n,formDescriptionId:a,formMessageId:o}=u();return(0,i.jsx)(r.Slot.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${a} ${o}`:`${a}`,"aria-invalid":!!t,...e})}function h({className:e,...t}){let{formDescriptionId:r}=u();return(0,i.jsx)(`p`,{"data-slot":`form-description`,id:r,className:(0,n.cn)(`text-text-positive-weak text-sm`,e),...t})}function g({className:e,children:t,...r}){let{error:a,formMessageId:o}=u();return(0,i.jsx)(`span`,{"data-slot":`form-message`,id:o,className:(0,n.cn)(`text-danger text-xs`,e),...r,children:a?String(a?.message??``):t})}Object.defineProperty(exports,`Form`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`FormControl`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`FormDescription`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`FormField`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`FormItem`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`FormLabel`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`FormMessage`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`useFormField`,{enumerable:!0,get:function(){return u}});
2
- //# sourceMappingURL=form-DAwCSzSe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-DAwCSzSe.cjs","names":["FormProvider","React","Controller","Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext, useFormState } from 'react-hook-form'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Label } from '@/components/ui/label'\n\nimport { Label as LabelPrimitive, Slot as SlotPrimitive } from 'radix-ui'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, control, resetField } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n control,\n resetField,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn('grid gap-1', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField()\n return <Label data-slot=\"form-label\" className={cn('text-xs', className)} htmlFor={formItemId} {...props} />\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return <p data-slot=\"form-description\" id={formDescriptionId} className={cn('text-text-positive-weak text-sm', className)} {...props} />\n}\n\nfunction FormMessage({ className, children, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n\n return (\n <span data-slot=\"form-message\" id={formMessageId} className={cn('text-danger text-xs', className)} {...props}>\n {error ? String(error?.message ?? '') : children}\n </span>\n )\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField }\n"],"mappings":"kRASM,EAAOA,EAAAA,aAMP,EAAmBC,EAAAA,QAAM,cAAqC,IAE9D,GAA8H,CAClI,GAAG,MAGD,EAAA,EAAA,KAAC,EAAiB,SAAA,CAAS,MAAO,CAAE,KAAM,EAAM,gBAC9C,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,GAAI,MAKhB,MAAqB,CACzB,IAAM,EAAeD,EAAAA,QAAM,WAAW,GAChC,EAAcA,EAAAA,QAAM,WAAW,GAC/B,CAAE,gBAAe,UAAS,eAAA,EAAA,EAAA,kBAC1B,GAAA,EAAA,EAAA,cAAyB,CAAE,KAAM,EAAa,OAC9C,EAAa,EAAc,EAAa,KAAM,GAEpD,GAAI,CAAC,EACH,MAAU,MAAM,kDAGlB,GAAM,CAAE,MAAO,EAEf,MAAO,CACL,KACA,UACA,aACA,KAAM,EAAa,KACnB,WAAY,GAAG,EAAG,YAClB,kBAAmB,GAAG,EAAG,wBACzB,cAAe,GAAG,EAAG,oBACrB,GAAG,IAQD,EAAkBA,EAAAA,QAAM,cAAoC,IAElE,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,IAAM,EAAKA,EAAAA,QAAM,QAEjB,OACE,EAAA,EAAA,KAAC,EAAgB,SAAA,CAAS,MAAO,CAAE,gBACjC,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,YAAY,WAAA,EAAA,EAAA,IAAc,aAAc,GAAY,GAAI,MAK7E,SAAS,EAAU,CAAE,YAAW,GAAG,GAA2D,CAC5F,GAAM,CAAE,cAAe,IACvB,OAAO,EAAA,EAAA,KAACE,EAAAA,MAAAA,CAAM,YAAU,aAAa,WAAA,EAAA,EAAA,IAAc,UAAW,GAAY,QAAS,EAAY,GAAI,IAGrG,SAAS,EAAY,CAAE,GAAG,GAA0D,CAClF,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAAkB,IAEhE,OACE,EAAA,EAAA,KAACC,EAAAA,KAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBAAmB,EAAiC,GAAG,EAAkB,GAAG,IAAjD,GAAG,IAC9B,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OAAO,EAAA,EAAA,KAAC,IAAA,CAAE,YAAU,mBAAmB,GAAI,EAAmB,WAAA,EAAA,EAAA,IAAc,kCAAmC,GAAY,GAAI,IAGjI,SAAS,EAAY,CAAE,YAAW,WAAU,GAAG,GAAoC,CACjF,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAA,EAAA,KAAC,OAAA,CAAK,YAAU,eAAe,GAAI,EAAe,WAAA,EAAA,EAAA,IAAc,sBAAuB,GAAY,GAAI,WACpG,EAAQ,OAAO,GAAO,SAAW,IAAM"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`react/jsx-runtime`)),r=e.__toESM(require(`react`));function i({className:e,onChange:i,onValueChange:a,...o}){let s=r.default.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return(0,n.jsx)(`input`,{"data-slot":`input`,className:(0,t.cn)(`flex h-9 w-full px-3 py-1`,`border-border-weak shadow-input rounded-md border`,`caret-primary bg-transparent text-sm`,`transition-[color,border,box-shadow] outline-none`,`placeholder:text-text-positive-muted`,`hover:border-border`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger`,e),...o,onChange:s})}Object.defineProperty(exports,`Input`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=input-Bt7b3-NW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-Bt7b3-NW.cjs","names":["React"],"sources":["../packages/components/ui/input.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nfunction Input({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'input'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <input\n data-slot=\"input\"\n className={cn(\n 'flex h-9 w-full px-3 py-1',\n 'border-border-weak shadow-input rounded-md border',\n 'caret-primary bg-transparent text-sm',\n 'transition-[color,border,box-shadow] outline-none',\n 'placeholder:text-text-positive-muted',\n 'hover:border-border',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"uKAIA,SAAS,EAAM,CACb,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAeA,EAAAA,QAAM,YACxB,GAA2C,CAC1C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAA,EAAA,KAAC,QAAA,CACC,YAAU,QACV,WAAA,EAAA,EAAA,IACE,4BACA,oDACA,uCACA,oDACA,uCACA,sBACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,6BACA,GAEF,GAAI,EACJ,SAAU"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import n from"react";function r({className:r,onChange:i,onValueChange:a,...o}){let s=n.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return t(`input`,{"data-slot":`input`,className:e(`flex h-9 w-full px-3 py-1`,`border-border-weak shadow-input rounded-md border`,`caret-primary bg-transparent text-sm`,`transition-[color,border,box-shadow] outline-none`,`placeholder:text-text-positive-muted`,`hover:border-border`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger`,r),...o,onChange:s})}export{r as Input};
2
- //# sourceMappingURL=input-i5Nm0R1X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-i5Nm0R1X.js","names":[],"sources":["../packages/components/ui/input.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nfunction Input({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'input'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <input\n data-slot=\"input\"\n className={cn(\n 'flex h-9 w-full px-3 py-1',\n 'border-border-weak shadow-input rounded-md border',\n 'caret-primary bg-transparent text-sm',\n 'transition-[color,border,box-shadow] outline-none',\n 'placeholder:text-text-positive-muted',\n 'hover:border-border',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"iHAIA,SAAS,EAAM,CACb,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAe,EAAM,YACxB,GAA2C,CAC1C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAC,QAAA,CACC,YAAU,QACV,UAAW,EACT,4BACA,oDACA,uCACA,oDACA,uCACA,sBACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,6BACA,GAEF,GAAI,EACJ,SAAU"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`radix-ui`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`));function a({className:e,...i}){return(0,r.jsx)(n.Label.Root,{"data-slot":`label`,className:(0,t.cn)(`text-text-positive`,`flex items-center gap-2`,`text-sm leading-none font-medium select-none`,`group-data-[disabled=true]:pointer-events-none`,`group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed`,`peer-disabled:opacity-50`,e),...i})}Object.defineProperty(exports,`Label`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=label-BbuMrcie.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"label-BbuMrcie.cjs","names":["LabelPrimitive"],"sources":["../packages/components/ui/label.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Label as LabelPrimitive } from 'radix-ui'\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'text-text-positive',\n 'flex items-center gap-2',\n 'text-sm leading-none font-medium select-none',\n 'group-data-[disabled=true]:pointer-events-none',\n 'group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed',\n 'peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"],"mappings":"wMAMA,SAAS,EAAM,CAAE,YAAW,GAAG,GAA2D,CACxF,OACE,EAAA,EAAA,KAACA,EAAAA,MAAe,KAAA,CACd,YAAU,QACV,WAAA,EAAA,EAAA,IACE,qBACA,0BACA,+CACA,iDACA,wCACA,mCACA,2BACA,GAEF,GAAI"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{Label as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import r from"react";function i({className:r,...i}){return n(t.Root,{"data-slot":`label`,className:e(`text-text-positive`,`flex items-center gap-2`,`text-sm leading-none font-medium select-none`,`group-data-[disabled=true]:pointer-events-none`,`group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed`,`peer-disabled:opacity-50`,r),...i})}export{i as Label};
2
- //# sourceMappingURL=label-CyaoUND0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"label-CyaoUND0.js","names":["Label","LabelPrimitive"],"sources":["../packages/components/ui/label.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Label as LabelPrimitive } from 'radix-ui'\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'text-text-positive',\n 'flex items-center gap-2',\n 'text-sm leading-none font-medium select-none',\n 'group-data-[disabled=true]:pointer-events-none',\n 'group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed',\n 'peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"],"mappings":"kJAMA,SAASA,EAAM,CAAE,YAAW,GAAG,GAA2D,CACxF,OACE,EAACC,EAAe,KAAA,CACd,YAAU,QACV,UAAW,EACT,qBACA,0BACA,+CACA,iDACA,wCACA,mCACA,2BACA,GAEF,GAAI"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./button-119IIVCy.cjs`),n=require(`./command-COUM-XfY.cjs`),r=e.__toESM(require(`lucide-react`)),i=e.__toESM(require(`@customafk/react-toolkit/utils`)),a=e.__toESM(require(`react/jsx-runtime`)),o=e.__toESM(require(`react`)),s=e.__toESM(require(`cmdk`));function c(e,t){let[n,r]=o.default.useState(e);return o.default.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=o.default.forwardRef(({className:e,...t},n)=>{let r=(0,s.useCommandState)(e=>e.filtered.count===0);return r?(0,a.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=o.default.forwardRef(({value:e,onChange:p,placeholder:m,defaultOptions:h=[],options:g,delay:_,onSearch:v,onSearchSync:y,loadingIndicator:b,emptyIndicator:x,maxSelected:S=9007199254740991,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=o.default.useRef(null),R=o.default.useRef(null),[z,B]=o.default.useState(!1),[V,H]=o.default.useState(!1),[U,W]=o.default.useState(!1),[G,K]=o.default.useState(e||[]),[q,J]=o.default.useState(l(h,E)),[Y,X]=o.default.useState(``),Z=c(Y,_||500);o.default.useImperativeHandle(I,()=>({selectedValue:[...G],input:L.current,focus:()=>L?.current?.focus(),reset:()=>K([])}),[G]);let Q=o.default.useCallback(e=>{R.current&&!R.current.contains(e.target)&&L.current&&!L.current.contains(e.target)&&(B(!1),L.current.blur())},[]),$=o.default.useCallback(e=>{let t=G.filter(t=>t.value!==e.value);K(t),p?.(t)},[p,G]),ee=o.default.useCallback(e=>{let t=L.current;if(t){if((e.key===`Delete`||e.key===`Backspace`)&&t.value===``&&G.length>0){let e=G[G.length-1];e.fixed||$(G[G.length-1])}e.key===`Escape`&&t.blur()}},[$,G]);o.default.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]),o.default.useEffect(()=>{e&&K(e)},[e]),o.default.useEffect(()=>{if(!g||v)return;let e=l(g||[],E);JSON.stringify(e)!==JSON.stringify(q)&&J(e)},[h,g,E,v,q]),o.default.useEffect(()=>{let e=()=>{let e=y?.(Z);J(l(e||[],E))},t=async()=>{!y||!z||(j&&e(),Z&&e())};t()},[Z,E,z,j]),o.default.useEffect(()=>{let e=async()=>{W(!0);let e=await v?.(Z);J(l(e||[],E)),W(!1)},t=async()=>{!v||!z||(j&&await e(),Z&&await e())};t()},[Z,E,z,j]);let te=()=>{if(!A||d(q,[{value:Y,label:Y}])||G.find(e=>e.value===Y))return;let e=(0,a.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=o.default.useCallback(()=>{if(x)return v&&!A&&Object.keys(q).length===0?(0,a.jsx)(n.CommandItem,{value:`-`,disabled:!0,children:x}):(0,a.jsx)(f,{children:x})},[A,x,v,q]),re=o.default.useMemo(()=>u(q,G),[q,G]),ie=o.default.useCallback(()=>{if(M?.filter)return M.filter;if(A)return(e,t)=>e.toLowerCase().includes(t.toLowerCase())?1:-1},[A,M?.filter]);return(0,a.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,a.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,a.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[G.map(e=>(0,a.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,a.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,a.jsx)(r.X,{size:14,strokeWidth:2,"aria-hidden":`true`})})]},e.value)),(0,a.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,a.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,a.jsx)(r.X,{size:16,strokeWidth:2,"aria-hidden":`true`})})]})}),(0,a.jsx)(`div`,{className:`relative`,children:(0,a.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,a.jsxs)(n.CommandList,{className:`shadow-lg outline-hidden`,onMouseLeave:()=>{H(!1)},onMouseEnter:()=>{H(!0)},onMouseUp:()=>{L?.current?.focus()},children:[F&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.CommandSeparator,{}),(0,a.jsx)(n.CommandGroup,{children:(0,a.jsxs)(t.Button,{type:`button`,variant:`ghost`,className:`w-full font-normal [&_div]:justify-start`,onClick:F,children:[(0,a.jsx)(r.PlusIcon,{size:14,className:`opacity-60`,"aria-hidden":`true`}),`Thêm mới`]})})]}),U?b:(0,a.jsxs)(o.default.Fragment,{children:[ne(),te(),!k&&(0,a.jsx)(n.CommandItem,{value:`-`,className:`hidden`}),Object.entries(re).map(([e,t])=>(0,a.jsx)(n.CommandGroup,{heading:e,className:`h-full overflow-auto`,children:t.map(e=>(0,a.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-C8kzA628.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-select-C8kzA628.cjs","names":["React","groupOption: GroupOption","CommandItem","value","Command","X","CommandPrimitive","CommandList","CommandSeparator","CommandGroup","Button","PlusIcon"],"sources":["../packages/components/ui/multi-select.tsx"],"sourcesContent":["'use client'\nimport React 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] = React.useState<T>(value)\n\n React.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 = React.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 = React.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 = React.useRef<HTMLInputElement>(null)\n const dropdownRef = React.useRef<HTMLDivElement>(null) // Added this\n\n const [open, setOpen] = React.useState(false)\n const [onScrollbar, setOnScrollbar] = React.useState(false)\n const [isLoading, setIsLoading] = React.useState(false)\n\n const [selected, setSelected] = React.useState<Option[]>(value || [])\n const [options, setOptions] = React.useState<GroupOption>(transToGroupOption(arrayDefaultOptions, groupBy))\n const [inputValue, setInputValue] = React.useState('')\n\n const debouncedSearchTerm = useDebounce(inputValue, delay || 500)\n\n React.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 = React.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 = React.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 = React.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 React.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 React.useEffect(() => {\n if (value) {\n setSelected(value)\n }\n }, [value])\n\n React.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 React.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 React.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 = React.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 = React.useMemo<GroupOption>(() => removePickedOption(options, selected), [options, selected])\n\n /** Avoid Creatable Selector freezing or lagging when paste a long string. */\n const commandFilter = React.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 <React.Fragment>\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 </React.Fragment>\n )}\n </CommandList>\n )}\n </div>\n </div>\n </Command>\n )\n },\n)\n\nMultipleSelector.displayName = 'MultipleSelector'\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{Button as e}from"./button-CvQQTSka.js";import{Command as t,CommandGroup as n,CommandItem as r,CommandList as ee,CommandSeparator as te}from"./command-DNfCX3KZ.js";import{PlusIcon as i,X as a}from"lucide-react";import{cn as o}from"@customafk/react-toolkit/utils";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";import u from"react";import{Command as ne,useCommandState as d}from"cmdk";function f(e,t){let[n,r]=u.useState(e);return u.useEffect(()=>{let n=setTimeout(()=>r(e),t||500);return()=>{clearTimeout(n)}},[e,t]),n}function p(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 re(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 ie(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 m=u.forwardRef(({className:e,...t},n)=>{let r=d(e=>e.filtered.count===0);return r?c(`div`,{ref:n,className:o(`px-2 py-4 text-center text-sm`,e),"cmdk-empty":``,role:`presentation`,...t}):null});m.displayName=`CommandEmpty`;const h=u.forwardRef(({value:d,onChange:h,placeholder:ae,defaultOptions:g=[],options:_,delay:oe,onSearch:v,onSearchSync:y,loadingIndicator:b,emptyIndicator:x,maxSelected:S=9007199254740991,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},se)=>{let I=u.useRef(null),L=u.useRef(null),[R,z]=u.useState(!1),[B,V]=u.useState(!1),[H,U]=u.useState(!1),[W,G]=u.useState(d||[]),[K,q]=u.useState(p(g,E)),[J,Y]=u.useState(``),X=f(J,oe||500);u.useImperativeHandle(se,()=>({selectedValue:[...W],input:I.current,focus:()=>I?.current?.focus(),reset:()=>G([])}),[W]);let Z=u.useCallback(e=>{L.current&&!L.current.contains(e.target)&&I.current&&!I.current.contains(e.target)&&(z(!1),I.current.blur())},[]),Q=u.useCallback(e=>{let t=W.filter(t=>t.value!==e.value);G(t),h?.(t)},[h,W]),$=u.useCallback(e=>{let t=I.current;if(t){if((e.key===`Delete`||e.key===`Backspace`)&&t.value===``&&W.length>0){let e=W[W.length-1];e.fixed||Q(W[W.length-1])}e.key===`Escape`&&t.blur()}},[Q,W]);u.useEffect(()=>(R?(document.addEventListener(`mousedown`,Z),document.addEventListener(`touchend`,Z)):(document.removeEventListener(`mousedown`,Z),document.removeEventListener(`touchend`,Z)),()=>{document.removeEventListener(`mousedown`,Z),document.removeEventListener(`touchend`,Z)}),[R]),u.useEffect(()=>{d&&G(d)},[d]),u.useEffect(()=>{if(!_||v)return;let e=p(_||[],E);JSON.stringify(e)!==JSON.stringify(K)&&q(e)},[g,_,E,v,K]),u.useEffect(()=>{let e=()=>{let e=y?.(X);q(p(e||[],E))},t=async()=>{!y||!R||(j&&e(),X&&e())};t()},[X,E,R,j]),u.useEffect(()=>{let e=async()=>{U(!0);let e=await v?.(X);q(p(e||[],E)),U(!1)},t=async()=>{!v||!R||(j&&await e(),X&&await e())};t()},[X,E,R,j]);let ce=()=>{if(!A||ie(K,[{value:J,label:J}])||W.find(e=>e.value===J))return;let e=c(r,{value:J,className:`cursor-pointer`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:e=>{if(W.length>=S){C?.(W.length);return}Y(``);let t=[...W,{value:e,label:e}];G(t),h?.(t)},children:`Create "${J}"`});if(!v&&J.length>0||v&&X.length>0&&!H)return e},le=u.useCallback(()=>{if(x)return v&&!A&&Object.keys(K).length===0?c(r,{value:`-`,disabled:!0,children:x}):c(m,{children:x})},[A,x,v,K]),ue=u.useMemo(()=>re(K,W),[K,W]),de=u.useCallback(()=>{if(M?.filter)return M.filter;if(A)return(e,t)=>e.toLowerCase().includes(t.toLowerCase())?1:-1},[A,M?.filter]);return l(t,{ref:L,...M,onKeyDown:e=>{$(e),M?.onKeyDown?.(e)},className:o(`h-auto overflow-visible bg-transparent`,M?.className),shouldFilter:M?.shouldFilter===void 0?!v:M.shouldFilter,filter:de(),children:[c(`div`,{className:o(`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`,W.length!==0&&`p-1`,!T&&W.length!==0&&`cursor-text`,!P&&`pe-9`,D),onClick:()=>{T||I?.current?.focus()},children:l(`div`,{className:`flex flex-wrap gap-1`,children:[W.map(e=>l(`div`,{className:o(`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,c(`button`,{type:`button`,disabled:T||e.fixed,className:o(`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`&&Q(e)},onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:()=>Q(e),"aria-label":`Remove`,children:c(a,{size:14,strokeWidth:2,"aria-hidden":`true`})})]},e.value)),c(ne.Input,{...N,ref:I,value:J,disabled:T,onValueChange:e=>{Y(e),N?.onValueChange?.(e)},onBlur:e=>{B||z(!1),N?.onBlur?.(e)},onFocus:e=>{z(!0),j&&v?.(X),N?.onFocus?.(e)},placeholder:w&&W.length!==0?``:ae,className:o(`placeholder:text-text-positive-muted flex-1 bg-transparent outline-hidden`,`disabled:placeholder:text-transparent`,{"w-full":w,"px-3 py-2":W.length===0,"ml-1":W.length!==0},N?.className)}),c(`button`,{type:`button`,onClick:()=>{G(W.filter(e=>e.fixed)),h?.(W.filter(e=>e.fixed))},className:o(`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||W.length<1||W.filter(({fixed:e})=>e).length===W.length)&&`hidden`),"aria-label":`Clear all`,children:c(a,{size:16,strokeWidth:2,"aria-hidden":`true`})})]})}),c(`div`,{className:`relative`,children:c(`div`,{className:o(`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`,!R&&`hidden`),"data-state":R?`open`:`closed`,children:R&&l(ee,{className:`shadow-lg outline-hidden`,onMouseLeave:()=>{V(!1)},onMouseEnter:()=>{V(!0)},onMouseUp:()=>{I?.current?.focus()},children:[F&&l(s,{children:[c(te,{}),c(n,{children:l(e,{type:`button`,variant:`ghost`,className:`w-full font-normal [&_div]:justify-start`,onClick:F,children:[c(i,{size:14,className:`opacity-60`,"aria-hidden":`true`}),`Thêm mới`]})})]}),H?b:l(u.Fragment,{children:[le(),ce(),!k&&c(r,{value:`-`,className:`hidden`}),Object.entries(ue).map(([e,t])=>c(n,{heading:e,className:`h-full overflow-auto`,children:t.map(e=>c(r,{value:e.value,disabled:e.disable,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:()=>{if(W.length>=S){C?.(W.length);return}let t=[...W,e];Y(``),G(t),h?.(t)},className:o(`cursor-pointer`,e.disable&&`cursor-not-allowed opacity-50`),children:e.label},e.value))},e))]})]})})})]})});h.displayName=`MultipleSelector`;export{h as MultipleSelector,f as useDebounce};
2
- //# sourceMappingURL=multi-select-CaBcDGi6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-select-CaBcDGi6.js","names":["groupOption: GroupOption","value","Command","CommandPrimitive"],"sources":["../packages/components/ui/multi-select.tsx"],"sourcesContent":["'use client'\nimport React 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] = React.useState<T>(value)\n\n React.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 = React.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 = React.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 = React.useRef<HTMLInputElement>(null)\n const dropdownRef = React.useRef<HTMLDivElement>(null) // Added this\n\n const [open, setOpen] = React.useState(false)\n const [onScrollbar, setOnScrollbar] = React.useState(false)\n const [isLoading, setIsLoading] = React.useState(false)\n\n const [selected, setSelected] = React.useState<Option[]>(value || [])\n const [options, setOptions] = React.useState<GroupOption>(transToGroupOption(arrayDefaultOptions, groupBy))\n const [inputValue, setInputValue] = React.useState('')\n\n const debouncedSearchTerm = useDebounce(inputValue, delay || 500)\n\n React.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 = React.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 = React.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 = React.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 React.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 React.useEffect(() => {\n if (value) {\n setSelected(value)\n }\n }, [value])\n\n React.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 React.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 React.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 = React.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 = React.useMemo<GroupOption>(() => removePickedOption(options, selected), [options, selected])\n\n /** Avoid Creatable Selector freezing or lagging when paste a long string. */\n const commandFilter = React.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 <React.Fragment>\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 </React.Fragment>\n )}\n </CommandList>\n )}\n </div>\n </div>\n </Command>\n )\n },\n)\n\nMultipleSelector.displayName = 'MultipleSelector'\n"],"mappings":"uZAyFA,SAAgB,EAAe,EAAU,EAAmB,CAC1D,GAAM,CAAC,EAAgB,GAAqB,EAAM,SAAY,GAU9D,OARA,EAAM,cAAgB,CACpB,IAAM,EAAQ,eAAiB,EAAkB,GAAQ,GAAS,KAElE,UAAa,CACX,aAAa,KAEd,CAAC,EAAO,IAEJ,EAGT,SAAS,EAAmB,EAAmB,EAAkB,CAC/D,GAAI,EAAQ,SAAW,EACrB,MAAO,GAET,GAAI,CAAC,EACH,MAAO,CACL,GAAI,GAIR,IAAMA,EAA2B,GAQjC,OAPA,EAAQ,QAAS,GAAW,CAC1B,IAAM,EAAO,EAAO,IAAuB,GACtC,EAAY,KACf,EAAY,GAAO,IAErB,EAAY,GAAK,KAAK,KAEjB,EAGT,SAAS,GAAmB,EAA0B,EAAkB,CACtE,IAAM,EAAc,KAAK,MAAM,KAAK,UAAU,IAE9C,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,GACxC,EAAY,GAAO,EAAM,OAAQ,GAAQ,CAAC,EAAO,KAAM,GAAM,EAAE,QAAU,EAAI,QAE/E,OAAO,EAGT,SAAS,GAAe,EAA0B,EAAwB,CACxE,IAAK,GAAM,EAAG,KAAU,OAAO,QAAQ,GACrC,GAAI,EAAM,KAAM,GAAW,EAAa,KAAM,GAAM,EAAE,QAAU,EAAO,QACrE,MAAO,GAGX,MAAO,GAST,MAAM,EAAe,EAAM,YAAiF,CAAE,YAAW,GAAG,GAAS,IAAiB,CACpJ,IAAM,EAAS,EAAiB,GAAU,EAAM,SAAS,QAAU,GAInE,OAFK,EAEE,EAAC,MAAA,CAAI,IAAK,EAAc,UAAW,EAAG,gCAAiC,GAAY,aAAW,GAAG,KAAK,eAAe,GAAI,IAF5G,OAKtB,EAAa,YAAc,eAE3B,MAAa,EAAmB,EAAM,YAElC,CACE,QACA,WACA,eACA,eAAgB,EAAsB,GACtC,QAAS,EACT,SACA,WACA,eACA,iBAAkB,EAClB,iBACA,cAAc,iBACd,gBACA,8BACA,WACA,UACA,YACA,iBACA,kBAAkB,GAClB,YAAY,GACZ,uBAAuB,GACvB,eACA,aACA,qBAAqB,GACrB,gBAEF,KACG,CACH,IAAM,EAAW,EAAM,OAAyB,MAC1C,EAAc,EAAM,OAAuB,MAE3C,CAAC,EAAM,GAAW,EAAM,SAAS,IACjC,CAAC,EAAa,GAAkB,EAAM,SAAS,IAC/C,CAAC,EAAW,GAAgB,EAAM,SAAS,IAE3C,CAAC,EAAU,GAAe,EAAM,SAAmB,GAAS,IAC5D,CAAC,EAAS,GAAc,EAAM,SAAsB,EAAmB,EAAqB,IAC5F,CAAC,EAAY,GAAiB,EAAM,SAAS,IAE7C,EAAsB,EAAY,EAAY,IAAS,KAE7D,EAAM,oBACJ,QACO,CACL,cAAe,CAAC,GAAG,GACnB,MAAO,EAAS,QAChB,UAAa,GAAU,SAAS,QAChC,UAAa,EAAY,MAE3B,CAAC,IAGH,IAAM,EAAqB,EAAM,YAAa,GAAmC,CAC3E,EAAY,SAAW,CAAC,EAAY,QAAQ,SAAS,EAAM,SAAmB,EAAS,SAAW,CAAC,EAAS,QAAQ,SAAS,EAAM,UACrI,EAAQ,IACR,EAAS,QAAQ,SAElB,IAEG,EAAiB,EAAM,YAC1B,GAAmB,CAClB,IAAM,EAAa,EAAS,OAAQ,GAAM,EAAE,QAAU,EAAO,OAC7D,EAAY,GACZ,IAAW,IAEb,CAAC,EAAU,IAGP,EAAgB,EAAM,YACzB,GAA2C,CAC1C,IAAM,EAAQ,EAAS,QAClB,KAEL,KAAI,EAAE,MAAQ,UAAY,EAAE,MAAQ,cAC9B,EAAM,QAAU,IAAM,EAAS,OAAS,EAAG,CAC7C,IAAM,EAAmB,EAAS,EAAS,OAAS,GAE/C,EAAiB,OACpB,EAAe,EAAS,EAAS,OAAS,IAM5C,EAAE,MAAQ,UACZ,EAAM,SAGV,CAAC,EAAgB,IAGnB,EAAM,eACA,GACF,SAAS,iBAAiB,YAAa,GACvC,SAAS,iBAAiB,WAAY,KAEtC,SAAS,oBAAoB,YAAa,GAC1C,SAAS,oBAAoB,WAAY,QAG9B,CACX,SAAS,oBAAoB,YAAa,GAC1C,SAAS,oBAAoB,WAAY,KAG1C,CAAC,IAEJ,EAAM,cAAgB,CAChB,GACF,EAAY,IAEb,CAAC,IAEJ,EAAM,cAAgB,CAEpB,GAAI,CAAC,GAAgB,EACnB,OAEF,IAAM,EAAY,EAAmB,GAAgB,GAAI,GACrD,KAAK,UAAU,KAAe,KAAK,UAAU,IAC/C,EAAW,IAEZ,CAAC,EAAqB,EAAc,EAAS,EAAU,IAE1D,EAAM,cAAgB,CAGpB,IAAM,MAAqB,CACzB,IAAM,EAAM,IAAe,GAC3B,EAAW,EAAmB,GAAO,GAAI,KAGrC,EAAO,SAAY,CACnB,CAAC,GAAgB,CAAC,IAElB,GACF,IAGE,GACF,MAIC,KAEJ,CAAC,EAAqB,EAAS,EAAM,IAExC,EAAM,cAAgB,CAGpB,IAAM,EAAW,SAAY,CAC3B,EAAa,IACb,IAAM,EAAM,MAAM,IAAW,GAC7B,EAAW,EAAmB,GAAO,GAAI,IACzC,EAAa,KAGT,EAAO,SAAY,CACnB,CAAC,GAAY,CAAC,IAEd,GACF,MAAM,IAGJ,GACF,MAAM,MAIL,KAEJ,CAAC,EAAqB,EAAS,EAAM,IAExC,IAAM,OAAsB,CAE1B,GADI,CAAC,GACD,GAAe,EAAS,CAAC,CAAE,MAAO,EAAY,MAAO,MAAkB,EAAS,KAAM,GAAM,EAAE,QAAU,GAC1G,OAGF,IAAM,EACJ,EAAC,EAAA,CACC,MAAO,EACP,UAAU,iBACV,YAAc,GAAM,CAClB,EAAE,iBACF,EAAE,mBAEJ,SAAW,GAAkB,CAC3B,GAAI,EAAS,QAAU,EAAa,CAClC,IAAgB,EAAS,QACzB,OAEF,EAAc,IACd,IAAM,EAAa,CAAC,GAAG,EAAU,CAAE,MAAA,EAAO,MAAOC,IACjD,EAAY,GACZ,IAAW,aAGZ,WAAW,EAAW,KAU3B,GALI,CAAC,GAAY,EAAW,OAAS,GAKjC,GAAY,EAAoB,OAAS,GAAK,CAAC,EACjD,OAAO,GAML,GAAY,EAAM,gBAAkB,CACnC,KAWL,OARI,GAAY,CAAC,GAAa,OAAO,KAAK,GAAS,SAAW,EAE1D,EAAC,EAAA,CAAY,MAAM,IAAI,SAAA,YACpB,IAKA,EAAC,EAAA,CAAA,SAAc,KACrB,CAAC,EAAW,EAAgB,EAAU,IAEnC,GAAc,EAAM,YAA2B,GAAmB,EAAS,GAAW,CAAC,EAAS,IAGhG,GAAgB,EAAM,gBAAkB,CAC5C,GAAI,GAAc,OAChB,OAAO,EAAa,OAGtB,GAAI,EACF,OAAQ,EAAe,IACdA,EAAM,cAAc,SAAS,EAAO,eAAiB,EAAI,IAKnE,CAAC,EAAW,GAAc,SAE7B,OACE,EAACC,EAAAA,CACC,IAAK,EACL,GAAI,EACJ,UAAY,GAAM,CAChB,EAAc,GACd,GAAc,YAAY,IAE5B,UAAW,EAAG,yCAA0C,GAAc,WACtE,aAAc,GAAc,eAAiB,IAAA,GAAwC,CAAC,EAA7B,EAAa,aACtE,OAAQ,eAER,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,GAEF,YAAe,CACT,GACJ,GAAU,SAAS,kBAGrB,EAAC,MAAA,CAAI,UAAU,iCACZ,EAAS,IAAK,GAEX,EAAC,MAAA,CAEC,UAAW,EACT,iBACA,gBACA,sBACA,yCACA,4IACA,8BACA,sBACA,kBACA,GAEF,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,wFAEF,UAAY,GAAM,CACZ,EAAE,MAAQ,SACd,EAAe,IAEjB,YAAc,GAAM,CAClB,EAAE,iBACF,EAAE,mBAEJ,YAAe,EAAe,GAC9B,aAAW,kBAEX,EAAC,EAAA,CAAE,KAAM,GAAI,YAAa,EAAG,cAAY,aAtCtC,EAAO,QA4ClB,EAACC,GAAiB,MAAA,CAChB,GAAI,EACJ,IAAK,EACL,MAAO,EACG,WACV,cAAgB,GAAU,CACxB,EAAcF,GACd,GAAY,gBAAgBA,IAE9B,OAAS,GAAU,CACZ,GACH,EAAQ,IAEV,GAAY,SAAS,IAEvB,QAAU,GAAU,CAClB,EAAQ,IACJ,GACF,IAAW,GAEb,GAAY,UAAU,IAExB,YAAa,GAA+B,EAAS,SAAW,EAAI,GAAK,GACzE,UAAW,EACT,4EACA,wCACA,CACE,SAAU,EACV,YAAa,EAAS,SAAW,EACjC,OAAQ,EAAS,SAAW,GAE9B,GAAY,aAGhB,EAAC,SAAA,CACC,KAAK,SACL,YAAe,CACb,EAAY,EAAS,OAAQ,GAAM,EAAE,QACrC,IAAW,EAAS,OAAQ,GAAM,EAAE,SAEtC,UAAW,EACT,2BACA,sHACA,0BACA,2BACA,sCACC,GAAsB,GAAY,EAAS,OAAS,GAAK,EAAS,QAAQ,CAAE,WAAY,GAAO,SAAW,EAAS,SAAW,UAEjI,aAAW,qBAEX,EAAC,EAAA,CAAE,KAAM,GAAI,YAAa,EAAG,cAAY,gBAI/C,EAAC,MAAA,CAAI,UAAU,oBACb,EAAC,MAAA,CACC,UAAW,EACT,wEACA,+BACA,kCACA,iCACA,8BACA,kCACA,+BACA,CAAC,GAAQ,UAEX,aAAY,EAAO,OAAS,kBAE3B,GACC,EAAC,GAAA,CACC,UAAU,2BACV,iBAAoB,CAClB,EAAe,KAEjB,iBAAoB,CAClB,EAAe,KAEjB,cAAiB,CACf,GAAU,SAAS,mBAGpB,GACC,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,GAAA,IACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAO,KAAK,SAAS,QAAQ,QAAQ,UAAU,2CAA2C,QAAS,YAClG,EAAC,EAAA,CAAS,KAAM,GAAI,UAAU,aAAa,cAAY,SAAS,mBAMvE,EACC,EAEA,EAAC,EAAM,SAAA,CAAA,SAAA,CACJ,KACA,KACA,CAAC,GAAmB,EAAC,EAAA,CAAY,MAAM,IAAI,UAAU,WACrD,OAAO,QAAQ,IAAa,KAAK,CAAC,EAAK,KACtC,EAAC,EAAA,CAAuB,QAAS,EAAK,UAAU,gCAC7C,EAAU,IAAK,GAEZ,EAAC,EAAA,CAEC,MAAO,EAAO,MACd,SAAU,EAAO,QACjB,YAAc,GAAM,CAClB,EAAE,iBACF,EAAE,mBAEJ,aAAgB,CACd,GAAI,EAAS,QAAU,EAAa,CAClC,IAAgB,EAAS,QACzB,OAEF,IAAM,EAAa,CAAC,GAAG,EAAU,GACjC,EAAc,IACd,EAAY,GACZ,IAAW,IAEb,UAAW,EAAG,iBAAkB,EAAO,SAAW,0CAEjD,EAAO,OAnBH,EAAO,SAJD,mBAwCzC,EAAiB,YAAc"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`radix-ui`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`));function a({className:e,value:i,...a}){return(0,r.jsx)(n.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,r.jsx)(n.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 a}});
2
- //# sourceMappingURL=progress-BhSNuH1w.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-BhSNuH1w.cjs","names":["ProgressPrimitive"],"sources":["../packages/components/ui/progress.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\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":"wMAMA,SAAS,EAAS,CAAE,YAAW,QAAO,GAAG,GAA8D,CACrG,OACE,EAAA,EAAA,KAACA,EAAAA,SAAkB,KAAA,CAAK,YAAU,WAAW,WAAA,EAAA,EAAA,IAAc,mEAAoE,GAAY,GAAI,YAC7I,EAAA,EAAA,KAACA,EAAAA,SAAkB,UAAA,CACjB,YAAU,qBACV,UAAU,6CACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{Progress as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import r from"react";function i({className:r,value:i,...a}){return n(t.Root,{"data-slot":`progress`,className:e(`bg-primary-weak relative h-2 w-full overflow-hidden rounded-full`,r),...a,children:n(t.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary size-full flex-1 transition-all`,style:{transform:`translateX(-${100-(i||0)}%)`}})})}export{i as Progress};
2
- //# sourceMappingURL=progress-PzPWivBh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-PzPWivBh.js","names":["Progress","ProgressPrimitive"],"sources":["../packages/components/ui/progress.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\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":"qJAMA,SAASA,EAAS,CAAE,YAAW,QAAO,GAAG,GAA8D,CACrG,OACE,EAACC,EAAkB,KAAA,CAAK,YAAU,WAAW,UAAW,EAAG,mEAAoE,GAAY,GAAI,WAC7I,EAACA,EAAkB,UAAA,CACjB,YAAU,qBACV,UAAU,6CACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`radix-ui`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`));function a({className:e,...i}){return(0,r.jsx)(n.Switch.Root,{"data-slot":`switch`,className:(0,t.cn)(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,e),...i,children:(0,r.jsx)(n.Switch.Thumb,{"data-slot":`switch-thumb`,className:(0,t.cn)(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}Object.defineProperty(exports,`Switch`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=switch-BN4ghEjT.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch-BN4ghEjT.cjs","names":["SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"wMAMA,SAAS,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,SACV,WAAA,EAAA,EAAA,IACE,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CACf,YAAU,eACV,WAAA,EAAA,EAAA,IACE,gBACA,4EACA,oDACA"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{Switch as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import r from"react";function i({className:r,...i}){return n(t.Root,{"data-slot":`switch`,className:e(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,r),...i,children:n(t.Thumb,{"data-slot":`switch-thumb`,className:e(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}export{i as Switch};
2
- //# sourceMappingURL=switch-BeQqTAw4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch-BeQqTAw4.js","names":["Switch","SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"mJAMA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAACC,EAAgB,KAAA,CACf,YAAU,SACV,UAAW,EACT,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,WAEJ,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,UAAW,EACT,gBACA,4EACA,oDACA"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./scroll-area-CbABlDpy.cjs`),n=e.__toESM(require(`@customafk/react-toolkit/utils`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`react`));function a({className:e,...i}){return(0,r.jsxs)(t.ScrollArea,{"data-slot":`table-conatiner`,className:`border-border-weak bg-background relative w-full overflow-x-auto rounded-lg border`,children:[(0,r.jsx)(`table`,{"data-slot":`table`,className:(0,n.cn)(`w-full caption-bottom text-sm`,e),...i}),(0,r.jsx)(t.ScrollBar,{orientation:`vertical`,className:`z-5 w-2`}),(0,r.jsx)(t.ScrollBar,{orientation:`horizontal`,className:`absolute right-0 bottom-0 left-0 h-2`})]})}function o({className:e,...t}){return(0,r.jsx)(`thead`,{"data-slot":`table-header`,className:(0,n.cn)(`bg-muted-muted border-border-weak`,`[&_tr]:border-b`,`[&_tr:not(:last-child)_td]:border-b`,`[&_tr_th:not(:last-child)]:border-r`,`[&_tr_th:not(:last-child)]:border-r-border-weak`,e),...t})}function s({className:e,...t}){return(0,r.jsx)(`tbody`,{"data-slot":`table-body`,className:(0,n.cn)(`[&_tr:last-child]:border-0`,e),...t})}function c({className:e,...t}){return(0,r.jsx)(`tfoot`,{"data-slot":`table-footer`,className:(0,n.cn)(`bg-accent-muted border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function l({className:e,...t}){return(0,r.jsx)(`tr`,{"data-slot":`table-row`,className:(0,n.cn)(`hover:bg-muted-muted/50 active:bg-muted-muted data-[state=selected]:bg-muted border-border-weak border-b transition-colors`,e),...t})}function u({className:e,...t}){return(0,r.jsx)(`th`,{"data-slot":`table-head`,className:(0,n.cn)(`text-text-positive-weak`,`h-10 px-2 text-left align-middle font-medium whitespace-nowrap`,`[&:has([role=checkbox])]:pr-0`,`[&>[role=checkbox]]:translate-y-0.5`,e),...t})}function d({className:e,...t}){return(0,r.jsx)(`td`,{"data-slot":`table-cell`,className:(0,n.cn)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5`,e),...t})}function f({className:e,...t}){return(0,r.jsx)(`caption`,{"data-slot":`table-caption`,className:(0,n.cn)(`text-text-positive-muted mt-4 text-sm`,e),...t})}Object.defineProperty(exports,`Table`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`TableBody`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`TableCaption`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`TableCell`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`TableFooter`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`TableHead`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`TableHeader`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`TableRow`,{enumerable:!0,get:function(){return l}});
2
- //# sourceMappingURL=table-Bz4GB66J.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-Bz4GB66J.cjs","names":["ScrollArea","ScrollBar"],"sources":["../packages/components/ui/table.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { ScrollArea, ScrollBar } from './scroll-area'\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <ScrollArea data-slot=\"table-conatiner\" className=\"border-border-weak bg-background relative w-full overflow-x-auto rounded-lg border\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n <ScrollBar orientation=\"vertical\" className=\"z-5 w-2\" />\n <ScrollBar orientation=\"horizontal\" className=\"absolute right-0 bottom-0 left-0 h-2\" />\n </ScrollArea>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\n 'bg-muted-muted border-border-weak',\n '[&_tr]:border-b',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_tr_th:not(:last-child)]:border-r',\n '[&_tr_th:not(:last-child)]:border-r-border-weak',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return <tfoot data-slot=\"table-footer\" className={cn('bg-accent-muted border-t font-medium [&>tr]:last:border-b-0', className)} {...props} />\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('hover:bg-muted-muted/50 active:bg-muted-muted data-[state=selected]:bg-muted border-border-weak border-b transition-colors', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-text-positive-weak',\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-0.5',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return <caption data-slot=\"table-caption\" className={cn('text-text-positive-muted mt-4 text-sm', className)} {...props} />\n}\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow }\n"],"mappings":"+MAMA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAwC,CACrE,OACE,EAAA,EAAA,MAACA,EAAAA,WAAAA,CAAW,YAAU,kBAAkB,UAAU,gGAChD,EAAA,EAAA,KAAC,QAAA,CAAM,YAAU,QAAQ,WAAA,EAAA,EAAA,IAAc,gCAAiC,GAAY,GAAI,KACxF,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAU,YAAY,WAAW,UAAU,aAC5C,EAAA,EAAA,KAACA,EAAAA,UAAAA,CAAU,YAAY,aAAa,UAAU,4CAKpD,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OACE,EAAA,EAAA,KAAC,QAAA,CACC,YAAU,eACV,WAAA,EAAA,EAAA,IACE,oCACA,kBACA,sCACA,sCACA,kDACA,GAEF,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAwC,CACzE,OAAO,EAAA,EAAA,KAAC,QAAA,CAAM,YAAU,aAAa,WAAA,EAAA,EAAA,IAAc,6BAA8B,GAAY,GAAI,IAGnG,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OAAO,EAAA,EAAA,KAAC,QAAA,CAAM,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,8DAA+D,GAAY,GAAI,IAGtI,SAAS,EAAS,CAAE,YAAW,GAAG,GAAqC,CACrE,OACE,EAAA,EAAA,KAAC,KAAA,CACC,YAAU,YACV,WAAA,EAAA,EAAA,IAAc,6HAA8H,GAC5I,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAA,EAAA,KAAC,KAAA,CACC,YAAU,aACV,WAAA,EAAA,EAAA,IACE,0BACA,iEACA,gCACA,sCACA,GAEF,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAA,EAAA,KAAC,KAAA,CACC,YAAU,aACV,WAAA,EAAA,EAAA,IAAc,uGAAwG,GACtH,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAA0C,CAC9E,OAAO,EAAA,EAAA,KAAC,UAAA,CAAQ,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,wCAAyC,GAAY,GAAI"}
@@ -1,2 +0,0 @@
1
- import{ScrollArea as e,ScrollBar as t}from"./scroll-area-F3yESo8d.js";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";import a from"react";function o({className:a,...o}){return i(e,{"data-slot":`table-conatiner`,className:`border-border-weak bg-background relative w-full overflow-x-auto rounded-lg border`,children:[r(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,a),...o}),r(t,{orientation:`vertical`,className:`z-5 w-2`}),r(t,{orientation:`horizontal`,className:`absolute right-0 bottom-0 left-0 h-2`})]})}function s({className:e,...t}){return r(`thead`,{"data-slot":`table-header`,className:n(`bg-muted-muted border-border-weak`,`[&_tr]:border-b`,`[&_tr:not(:last-child)_td]:border-b`,`[&_tr_th:not(:last-child)]:border-r`,`[&_tr_th:not(:last-child)]:border-r-border-weak`,e),...t})}function c({className:e,...t}){return r(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function l({className:e,...t}){return r(`tfoot`,{"data-slot":`table-footer`,className:n(`bg-accent-muted border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function u({className:e,...t}){return r(`tr`,{"data-slot":`table-row`,className:n(`hover:bg-muted-muted/50 active:bg-muted-muted data-[state=selected]:bg-muted border-border-weak border-b transition-colors`,e),...t})}function d({className:e,...t}){return r(`th`,{"data-slot":`table-head`,className:n(`text-text-positive-weak`,`h-10 px-2 text-left align-middle font-medium whitespace-nowrap`,`[&:has([role=checkbox])]:pr-0`,`[&>[role=checkbox]]:translate-y-0.5`,e),...t})}function f({className:e,...t}){return r(`td`,{"data-slot":`table-cell`,className:n(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5`,e),...t})}function p({className:e,...t}){return r(`caption`,{"data-slot":`table-caption`,className:n(`text-text-positive-muted mt-4 text-sm`,e),...t})}export{o as Table,c as TableBody,p as TableCaption,f as TableCell,l as TableFooter,d as TableHead,s as TableHeader,u as TableRow};
2
- //# sourceMappingURL=table-Fby8ksbK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-Fby8ksbK.js","names":[],"sources":["../packages/components/ui/table.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { ScrollArea, ScrollBar } from './scroll-area'\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <ScrollArea data-slot=\"table-conatiner\" className=\"border-border-weak bg-background relative w-full overflow-x-auto rounded-lg border\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n <ScrollBar orientation=\"vertical\" className=\"z-5 w-2\" />\n <ScrollBar orientation=\"horizontal\" className=\"absolute right-0 bottom-0 left-0 h-2\" />\n </ScrollArea>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\n 'bg-muted-muted border-border-weak',\n '[&_tr]:border-b',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_tr_th:not(:last-child)]:border-r',\n '[&_tr_th:not(:last-child)]:border-r-border-weak',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return <tfoot data-slot=\"table-footer\" className={cn('bg-accent-muted border-t font-medium [&>tr]:last:border-b-0', className)} {...props} />\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('hover:bg-muted-muted/50 active:bg-muted-muted data-[state=selected]:bg-muted border-border-weak border-b transition-colors', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-text-positive-weak',\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-0.5',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return <caption data-slot=\"table-caption\" className={cn('text-text-positive-muted mt-4 text-sm', className)} {...props} />\n}\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow }\n"],"mappings":"iMAMA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAwC,CACrE,OACE,EAAC,EAAA,CAAW,YAAU,kBAAkB,UAAU,+FAChD,EAAC,QAAA,CAAM,YAAU,QAAQ,UAAW,EAAG,gCAAiC,GAAY,GAAI,IACxF,EAAC,EAAA,CAAU,YAAY,WAAW,UAAU,YAC5C,EAAC,EAAA,CAAU,YAAY,aAAa,UAAU,4CAKpD,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OACE,EAAC,QAAA,CACC,YAAU,eACV,UAAW,EACT,oCACA,kBACA,sCACA,sCACA,kDACA,GAEF,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAwC,CACzE,OAAO,EAAC,QAAA,CAAM,YAAU,aAAa,UAAW,EAAG,6BAA8B,GAAY,GAAI,IAGnG,SAAS,EAAY,CAAE,YAAW,GAAG,GAAwC,CAC3E,OAAO,EAAC,QAAA,CAAM,YAAU,eAAe,UAAW,EAAG,8DAA+D,GAAY,GAAI,IAGtI,SAAS,EAAS,CAAE,YAAW,GAAG,GAAqC,CACrE,OACE,EAAC,KAAA,CACC,YAAU,YACV,UAAW,EAAG,6HAA8H,GAC5I,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAC,KAAA,CACC,YAAU,aACV,UAAW,EACT,0BACA,iEACA,gCACA,sCACA,GAEF,GAAI,IAKV,SAAS,EAAU,CAAE,YAAW,GAAG,GAAqC,CACtE,OACE,EAAC,KAAA,CACC,YAAU,aACV,UAAW,EAAG,uGAAwG,GACtH,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAA0C,CAC9E,OAAO,EAAC,UAAA,CAAQ,YAAU,gBAAgB,UAAW,EAAG,wCAAyC,GAAY,GAAI"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`react/jsx-runtime`)),r=e.__toESM(require(`react`));function i({className:e,onChange:i,onValueChange:a,...o}){let s=r.default.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return(0,n.jsx)(`textarea`,{"data-slot":`textarea`,className:(0,t.cn)(`border-border-weak caret-primary`,`flex min-h-16 w-full bg-transparent px-3 py-2`,`field-sizing-content`,`shadow-input rounded-md border`,`text-sm transition-[color,border,box-shadow] outline-none`,`hover:border-border`,`placeholder:text-text-positive-muted`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger-strong`,e),...o,onChange:s})}Object.defineProperty(exports,`Textarea`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=textarea-CWLU6cai.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea-CWLU6cai.cjs","names":["React"],"sources":["../packages/components/ui/textarea.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nfunction Textarea({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'textarea'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-border-weak caret-primary',\n 'flex min-h-16 w-full bg-transparent px-3 py-2',\n 'field-sizing-content',\n 'shadow-input rounded-md border',\n 'text-sm transition-[color,border,box-shadow] outline-none',\n 'hover:border-border',\n 'placeholder:text-text-positive-muted',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger-strong',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"uKAIA,SAAS,EAAS,CAChB,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAeA,EAAAA,QAAM,YACxB,GAA8C,CAC7C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAA,EAAA,KAAC,WAAA,CACC,YAAU,WACV,WAAA,EAAA,EAAA,IACE,mCACA,gDACA,uBACA,iCACA,4DACA,sBACA,uCACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,oCACA,GAEF,GAAI,EACJ,SAAU"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import n from"react";function r({className:r,onChange:i,onValueChange:a,...o}){let s=n.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return t(`textarea`,{"data-slot":`textarea`,className:e(`border-border-weak caret-primary`,`flex min-h-16 w-full bg-transparent px-3 py-2`,`field-sizing-content`,`shadow-input rounded-md border`,`text-sm transition-[color,border,box-shadow] outline-none`,`hover:border-border`,`placeholder:text-text-positive-muted`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger-strong`,r),...o,onChange:s})}export{r as Textarea};
2
- //# sourceMappingURL=textarea-S2APrJU-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea-S2APrJU-.js","names":[],"sources":["../packages/components/ui/textarea.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nfunction Textarea({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'textarea'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-border-weak caret-primary',\n 'flex min-h-16 w-full bg-transparent px-3 py-2',\n 'field-sizing-content',\n 'shadow-input rounded-md border',\n 'text-sm transition-[color,border,box-shadow] outline-none',\n 'hover:border-border',\n 'placeholder:text-text-positive-muted',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger-strong',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"iHAIA,SAAS,EAAS,CAChB,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAe,EAAM,YACxB,GAA8C,CAC7C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAC,WAAA,CACC,YAAU,WACV,UAAW,EACT,mCACA,gDACA,uBACA,iCACA,4DACA,sBACA,uCACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,oCACA,GAEF,GAAI,EACJ,SAAU"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`class-variance-authority`)),r=e.__toESM(require(`radix-ui`)),i=e.__toESM(require(`react/jsx-runtime`)),a=e.__toESM(require(`react`)),o=(0,n.cva)(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 px-2 min-w-9`,sm:`h-8 px-1.5 min-w-8`,lg:`h-10 px-2.5 min-w-10`}},defaultVariants:{variant:`default`,size:`default`}});function s({className:e,variant:n,size:a,...s}){return(0,i.jsx)(r.Toggle.Root,{"data-slot":`toggle`,className:(0,t.cn)(o({variant:n,size:a,className:e})),...s})}Object.defineProperty(exports,`Toggle`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`toggleVariants`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=toggle-BrHo4W70.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toggle-BrHo4W70.cjs","names":["TogglePrimitive"],"sources":["../packages/components/ui/toggle.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Toggle as TogglePrimitive } from 'radix-ui'\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Toggle({ className, variant, size, ...props }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return <TogglePrimitive.Root data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Toggle, toggleVariants }\n"],"mappings":"yPAOM,GAAA,EAAA,EAAA,KACJ,gjBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QAAS,6FAEX,KAAM,CACJ,QAAS,mBACT,GAAI,qBACJ,GAAI,yBAGR,gBAAiB,CACf,QAAS,UACT,KAAM,aAKZ,SAAS,EAAO,CAAE,YAAW,UAAS,OAAM,GAAG,GAAkG,CAC/I,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,WAAA,EAAA,EAAA,IAAc,EAAe,CAAE,UAAS,OAAM,eAAe,GAAI"}
@@ -1,2 +0,0 @@
1
- import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{Toggle as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import i from"react";const a=t(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 px-2 min-w-9`,sm:`h-8 px-1.5 min-w-8`,lg:`h-10 px-2.5 min-w-10`}},defaultVariants:{variant:`default`,size:`default`}});function o({className:t,variant:i,size:o,...s}){return r(n.Root,{"data-slot":`toggle`,className:e(a({variant:i,size:o,className:t})),...s})}export{o as Toggle,a as toggleVariants};
2
- //# sourceMappingURL=toggle-DCZ9RTZZ.js.map