@customafk/lunas-ui 0.2.83 → 0.2.85

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 (262) hide show
  1. package/dist/LoginPage-DGgThT3s.mjs +2 -0
  2. package/dist/LoginPage-DGgThT3s.mjs.map +1 -0
  3. package/dist/LoginPage-DPUdRD0r.cjs +2 -0
  4. package/dist/LoginPage-DPUdRD0r.cjs.map +1 -0
  5. package/dist/action-submit-B2qFdfi6.cjs +2 -0
  6. package/dist/{action-submit-B9vHpLoN.cjs.map → action-submit-B2qFdfi6.cjs.map} +1 -1
  7. package/dist/action-submit-DyNvI-F2.mjs +2 -0
  8. package/dist/{action-submit-BQdkz4mS.mjs.map → action-submit-DyNvI-F2.mjs.map} +1 -1
  9. package/dist/actions-form-CB0lZlE6.mjs +2 -0
  10. package/dist/{actions-form-D4n1W3-X.mjs.map → actions-form-CB0lZlE6.mjs.map} +1 -1
  11. package/dist/actions-form-DnlpVrgF.cjs +2 -0
  12. package/dist/{actions-form-DF2eYxGQ.cjs.map → actions-form-DnlpVrgF.cjs.map} +1 -1
  13. package/dist/checkbox-field-CFPHAcwN.cjs +2 -0
  14. package/dist/{checkbox-field-ldZRSCca.cjs.map → checkbox-field-CFPHAcwN.cjs.map} +1 -1
  15. package/dist/checkbox-field-DodKeFS_.mjs +2 -0
  16. package/dist/{checkbox-field-BRGTLOjq.mjs.map → checkbox-field-DodKeFS_.mjs.map} +1 -1
  17. package/dist/{cms-layout-BGsf1E4E.cjs → cms-layout-DYEmSqzx.cjs} +2 -2
  18. package/dist/{cms-layout-BGsf1E4E.cjs.map → cms-layout-DYEmSqzx.cjs.map} +1 -1
  19. package/dist/combobox-field-D7cZ8fhZ.cjs +2 -0
  20. package/dist/{combobox-field-ZYr7636s.cjs.map → combobox-field-D7cZ8fhZ.cjs.map} +1 -1
  21. package/dist/combobox-field-ebIvbhJn.mjs +2 -0
  22. package/dist/{combobox-field-CvkdZkQE.mjs.map → combobox-field-ebIvbhJn.mjs.map} +1 -1
  23. package/dist/data-display/country.cjs +1 -1
  24. package/dist/date-field-CNkxebta.mjs +2 -0
  25. package/dist/{date-field-DGMTG_hu.mjs.map → date-field-CNkxebta.mjs.map} +1 -1
  26. package/dist/date-field-Dm367ro9.cjs +2 -0
  27. package/dist/{date-field-1Hmcv8Zp.cjs.map → date-field-Dm367ro9.cjs.map} +1 -1
  28. package/dist/dialog-form-D9Bifsx6.cjs +2 -0
  29. package/dist/{dialog-form-C1qpltYx.cjs.map → dialog-form-D9Bifsx6.cjs.map} +1 -1
  30. package/dist/dialog-form-zK6Gk9Gk.mjs +2 -0
  31. package/dist/{dialog-form-BRSZpRTC.mjs.map → dialog-form-zK6Gk9Gk.mjs.map} +1 -1
  32. package/dist/{dist-DzA--RwW.cjs → dist-CIdWHwhj.cjs} +2 -2
  33. package/dist/{dist-DzA--RwW.cjs.map → dist-CIdWHwhj.cjs.map} +1 -1
  34. package/dist/email-field-BVl7u9pR.mjs +2 -0
  35. package/dist/{email-field-C2Lvl_rQ.mjs.map → email-field-BVl7u9pR.mjs.map} +1 -1
  36. package/dist/email-field-CqXXRG3w.cjs +2 -0
  37. package/dist/{email-field-D3nSkHj2.cjs.map → email-field-CqXXRG3w.cjs.map} +1 -1
  38. package/dist/features/tables/index.d.cts +1 -1
  39. package/dist/features/tables/index.d.mts +1 -1
  40. package/dist/features/tanstack-form/index.cjs +1 -1
  41. package/dist/features/tanstack-form/index.d.cts +1 -1
  42. package/dist/features/tanstack-form/index.d.mts +1 -1
  43. package/dist/features/tanstack-form/index.mjs +1 -1
  44. package/dist/features/text-editor/index.cjs +1 -1
  45. package/dist/features/text-editor/index.d.cts +1 -1
  46. package/dist/features/text-editor/index.d.mts +1 -1
  47. package/dist/features/text-editor/index.mjs +1 -1
  48. package/dist/{flex-C63_IqSY.d.cts → flex-D6RCsrv1.d.cts} +2 -2
  49. package/dist/{flex-C63_IqSY.d.mts → flex-D6RCsrv1.d.mts} +2 -2
  50. package/dist/group-field-8nINgAeO.mjs +2 -0
  51. package/dist/{group-field-gejvx_Td.mjs.map → group-field-8nINgAeO.mjs.map} +1 -1
  52. package/dist/group-field-DfGPDLyp.cjs +2 -0
  53. package/dist/{group-field-sVykO2JZ.cjs.map → group-field-DfGPDLyp.cjs.map} +1 -1
  54. package/dist/{index-DvC1inRy.d.cts → index-0HuXxgjQ.d.cts} +13 -10
  55. package/dist/index-6_zytlWu.d.cts +70 -0
  56. package/dist/index-6_zytlWu.d.mts +70 -0
  57. package/dist/{index-CrkOhm--.d.mts → index-BCBEYTyA.d.mts} +5 -5
  58. package/dist/{index--wNkNzCB.d.cts → index-CQPyC0Q2.d.cts} +5 -5
  59. package/dist/{index-DvC1inRy.d.mts → index-CZ_2KVir.d.mts} +13 -10
  60. package/dist/{index-DRAyYm8g.d.mts → index-CvFEJoon.d.cts} +12 -3
  61. package/dist/{index-DRAyYm8g.d.cts → index-CvFEJoon.d.mts} +12 -3
  62. package/dist/index.cjs +1 -1
  63. package/dist/index.d.cts +6 -6
  64. package/dist/index.d.mts +6 -6
  65. package/dist/index.mjs +1 -1
  66. package/dist/layouts/cms-layout/index.cjs +1 -1
  67. package/dist/layouts/flex.d.cts +1 -1
  68. package/dist/layouts/flex.d.mts +1 -1
  69. package/dist/layouts/payment-layout/index.cjs +1 -1
  70. package/dist/number-field-BjGl_IiN.cjs +2 -0
  71. package/dist/{number-field-CWDYA3La.cjs.map → number-field-BjGl_IiN.cjs.map} +1 -1
  72. package/dist/number-field-CVemIwIg.mjs +2 -0
  73. package/dist/{number-field-CR5PLX6H.mjs.map → number-field-CVemIwIg.mjs.map} +1 -1
  74. package/dist/pages/LoginPage/index.cjs +1 -0
  75. package/dist/pages/LoginPage/index.d.cts +2 -0
  76. package/dist/pages/LoginPage/index.d.mts +2 -0
  77. package/dist/pages/LoginPage/index.mjs +1 -0
  78. package/dist/password-field-Be0Ltlxh.cjs +2 -0
  79. package/dist/{password-field-BHRhVyZ0.cjs.map → password-field-Be0Ltlxh.cjs.map} +1 -1
  80. package/dist/password-field-BxYaT8lO.mjs +2 -0
  81. package/dist/{password-field-B2_kzss6.mjs.map → password-field-BxYaT8lO.mjs.map} +1 -1
  82. package/dist/{payment-layout-BZtIcu-3.cjs → payment-layout-C38xIc2X.cjs} +2 -2
  83. package/dist/{payment-layout-BZtIcu-3.cjs.map → payment-layout-C38xIc2X.cjs.map} +1 -1
  84. package/dist/popover-form-Ba_Nw79b.cjs +2 -0
  85. package/dist/{popover-form-Ch_iMMSm.cjs.map → popover-form-Ba_Nw79b.cjs.map} +1 -1
  86. package/dist/popover-form-C9mNInr2.mjs +2 -0
  87. package/dist/{popover-form-CeRVpy1B.mjs.map → popover-form-C9mNInr2.mjs.map} +1 -1
  88. package/dist/radio-group-field-BCJWamjd.cjs +2 -0
  89. package/dist/{radio-group-field-BFhBfzoT.cjs.map → radio-group-field-BCJWamjd.cjs.map} +1 -1
  90. package/dist/radio-group-field-DYqU_6hW.mjs +2 -0
  91. package/dist/{radio-group-field-Iwo2Q2Ig.mjs.map → radio-group-field-DYqU_6hW.mjs.map} +1 -1
  92. package/dist/{resizable-CNqPu4Ck.d.cts → resizable-DTnfCua-.d.cts} +2 -2
  93. package/dist/{resizable-CNqPu4Ck.d.mts → resizable-DTnfCua-.d.mts} +2 -2
  94. package/dist/rolldown-runtime-DWNI8pZO.cjs +1 -0
  95. package/dist/select-field-D7Ny2Qne.mjs +2 -0
  96. package/dist/{select-field-NJgDDCO2.mjs.map → select-field-D7Ny2Qne.mjs.map} +1 -1
  97. package/dist/select-field-UWnBMAzL.cjs +2 -0
  98. package/dist/{select-field-CvDBZQTl.cjs.map → select-field-UWnBMAzL.cjs.map} +1 -1
  99. package/dist/simple-array-field-BSMxRilE.cjs +2 -0
  100. package/dist/{simple-array-field-aGXkDZXD.cjs.map → simple-array-field-BSMxRilE.cjs.map} +1 -1
  101. package/dist/simple-array-field-DJXa_vST.mjs +2 -0
  102. package/dist/{simple-array-field-BwNCeUnn.mjs.map → simple-array-field-DJXa_vST.mjs.map} +1 -1
  103. package/dist/simple-boolean-field-CVNT8NBk.mjs +2 -0
  104. package/dist/{simple-boolean-field-t_XDXqYs.mjs.map → simple-boolean-field-CVNT8NBk.mjs.map} +1 -1
  105. package/dist/simple-boolean-field-CxAyVQ1w.cjs +2 -0
  106. package/dist/{simple-boolean-field-BeVkn3c4.cjs.map → simple-boolean-field-CxAyVQ1w.cjs.map} +1 -1
  107. package/dist/simple-combobox-field-BP4IeDkA.cjs +2 -0
  108. package/dist/{simple-combobox-field-U0ZAl7VQ.cjs.map → simple-combobox-field-BP4IeDkA.cjs.map} +1 -1
  109. package/dist/simple-combobox-field-BnAUDfQU.mjs +2 -0
  110. package/dist/{simple-combobox-field-HCB4A33-.mjs.map → simple-combobox-field-BnAUDfQU.mjs.map} +1 -1
  111. package/dist/simple-date-field-DIa6UBF2.mjs +2 -0
  112. package/dist/{simple-date-field-Dj4bJoji.mjs.map → simple-date-field-DIa6UBF2.mjs.map} +1 -1
  113. package/dist/simple-date-field-NSawlSff.cjs +2 -0
  114. package/dist/{simple-date-field-DtxEpEZj.cjs.map → simple-date-field-NSawlSff.cjs.map} +1 -1
  115. package/dist/simple-email-field-2Abh3qZw.cjs +2 -0
  116. package/dist/{simple-email-field-DK9I_Tc_.cjs.map → simple-email-field-2Abh3qZw.cjs.map} +1 -1
  117. package/dist/simple-email-field-CKDQgzh5.mjs +2 -0
  118. package/dist/{simple-email-field-BDyhkmHV.mjs.map → simple-email-field-CKDQgzh5.mjs.map} +1 -1
  119. package/dist/simple-number-field-BjEYE54F.cjs +2 -0
  120. package/dist/{simple-number-field-BspqWU-3.cjs.map → simple-number-field-BjEYE54F.cjs.map} +1 -1
  121. package/dist/simple-number-field-SDbxL6L7.mjs +2 -0
  122. package/dist/{simple-number-field-hneXMhfJ.mjs.map → simple-number-field-SDbxL6L7.mjs.map} +1 -1
  123. package/dist/simple-password-field-Cjp6yzWd.cjs +2 -0
  124. package/dist/{simple-password-field-BEEcleom.cjs.map → simple-password-field-Cjp6yzWd.cjs.map} +1 -1
  125. package/dist/simple-password-field-Cnj-hf5g.mjs +2 -0
  126. package/dist/{simple-password-field-vsLRHDk4.mjs.map → simple-password-field-Cnj-hf5g.mjs.map} +1 -1
  127. package/dist/simple-radio-group-field-4-eWSXY7.mjs +2 -0
  128. package/dist/{simple-radio-group-field-BURm_BSA.mjs.map → simple-radio-group-field-4-eWSXY7.mjs.map} +1 -1
  129. package/dist/simple-radio-group-field-CuA0Q-XI.cjs +2 -0
  130. package/dist/{simple-radio-group-field-Wm8xB0fN.cjs.map → simple-radio-group-field-CuA0Q-XI.cjs.map} +1 -1
  131. package/dist/simple-select-field-C0ecQx68.mjs +2 -0
  132. package/dist/{simple-select-field-8cY51U4d.mjs.map → simple-select-field-C0ecQx68.mjs.map} +1 -1
  133. package/dist/simple-select-field-CXYJcRY2.cjs +2 -0
  134. package/dist/{simple-select-field-QQ65caBf.cjs.map → simple-select-field-CXYJcRY2.cjs.map} +1 -1
  135. package/dist/simple-text-field-DJl5SIGn.mjs +2 -0
  136. package/dist/{simple-text-field-DK72_OA_.mjs.map → simple-text-field-DJl5SIGn.mjs.map} +1 -1
  137. package/dist/simple-text-field-DPXqNCXh.cjs +2 -0
  138. package/dist/{simple-text-field-BHkCPiE5.cjs.map → simple-text-field-DPXqNCXh.cjs.map} +1 -1
  139. package/dist/simple-textarea-field-BcHdUMTK.mjs +2 -0
  140. package/dist/{simple-textarea-field-B72nNQHv.mjs.map → simple-textarea-field-BcHdUMTK.mjs.map} +1 -1
  141. package/dist/simple-textarea-field-ZpXPwYz-.cjs +2 -0
  142. package/dist/{simple-textarea-field-Bu5h7sfH.cjs.map → simple-textarea-field-ZpXPwYz-.cjs.map} +1 -1
  143. package/dist/switch-field-CCDuDdpf.cjs +2 -0
  144. package/dist/{switch-field-eLVlQZSI.cjs.map → switch-field-CCDuDdpf.cjs.map} +1 -1
  145. package/dist/switch-field-DBGFsmEZ.mjs +2 -0
  146. package/dist/{switch-field-DoPUWb9d.mjs.map → switch-field-DBGFsmEZ.mjs.map} +1 -1
  147. package/dist/tanstack-form-BhKAn9I0.mjs +2 -0
  148. package/dist/tanstack-form-BhKAn9I0.mjs.map +1 -0
  149. package/dist/tanstack-form-DCB2addt.cjs +2 -0
  150. package/dist/tanstack-form-DCB2addt.cjs.map +1 -0
  151. package/dist/text-editor-DWZf3yrW.cjs +2 -0
  152. package/dist/text-editor-DWZf3yrW.cjs.map +1 -0
  153. package/dist/text-editor-XBOAwJk-.mjs +2 -0
  154. package/dist/text-editor-XBOAwJk-.mjs.map +1 -0
  155. package/dist/text-field-Bx_vnc4O.mjs +2 -0
  156. package/dist/{text-field-Bm-k6Jr7.mjs.map → text-field-Bx_vnc4O.mjs.map} +1 -1
  157. package/dist/text-field-DMZZ6CND.cjs +2 -0
  158. package/dist/{text-field-DT50dOVI.cjs.map → text-field-DMZZ6CND.cjs.map} +1 -1
  159. package/dist/textarea-field-BmImMdg-.cjs +2 -0
  160. package/dist/{textarea-field-BhqX29CS.cjs.map → textarea-field-BmImMdg-.cjs.map} +1 -1
  161. package/dist/textarea-field-Cim3l0y8.mjs +2 -0
  162. package/dist/{textarea-field-DNLyrRH7.mjs.map → textarea-field-Cim3l0y8.mjs.map} +1 -1
  163. package/dist/title-field-2dABwspv.mjs +2 -0
  164. package/dist/{title-field-oAqHRw59.mjs.map → title-field-2dABwspv.mjs.map} +1 -1
  165. package/dist/title-field-CFnSgTGH.cjs +2 -0
  166. package/dist/{title-field-B2hM3S_S.cjs.map → title-field-CFnSgTGH.cjs.map} +1 -1
  167. package/dist/ui/breadcrumb.cjs +1 -1
  168. package/dist/ui/button-group.cjs +1 -1
  169. package/dist/ui/button.cjs +1 -1
  170. package/dist/ui/carousel.cjs +1 -1
  171. package/dist/ui/dropdown-menu.cjs +1 -1
  172. package/dist/ui/dropdown-menu.cjs.map +1 -1
  173. package/dist/ui/dropdown-menu.mjs +1 -1
  174. package/dist/ui/dropdown-menu.mjs.map +1 -1
  175. package/dist/ui/file-uploader.cjs +1 -1
  176. package/dist/ui/item.cjs +1 -1
  177. package/dist/ui/resizable.cjs +1 -1
  178. package/dist/ui/resizable.d.cts +1 -1
  179. package/dist/ui/resizable.d.mts +1 -1
  180. package/package.json +9 -4
  181. package/styles/text-editor.css +205 -38
  182. package/dist/LoginPage-DDljzV6A.d.cts +0 -43
  183. package/dist/LoginPage-DDljzV6A.d.mts +0 -43
  184. package/dist/action-submit-B9vHpLoN.cjs +0 -2
  185. package/dist/action-submit-BQdkz4mS.mjs +0 -2
  186. package/dist/actions-form-D4n1W3-X.mjs +0 -2
  187. package/dist/actions-form-DF2eYxGQ.cjs +0 -2
  188. package/dist/checkbox-field-BRGTLOjq.mjs +0 -2
  189. package/dist/checkbox-field-ldZRSCca.cjs +0 -2
  190. package/dist/combobox-field-CvkdZkQE.mjs +0 -2
  191. package/dist/combobox-field-ZYr7636s.cjs +0 -2
  192. package/dist/date-field-1Hmcv8Zp.cjs +0 -2
  193. package/dist/date-field-DGMTG_hu.mjs +0 -2
  194. package/dist/dialog-form-BRSZpRTC.mjs +0 -2
  195. package/dist/dialog-form-C1qpltYx.cjs +0 -2
  196. package/dist/email-field-C2Lvl_rQ.mjs +0 -2
  197. package/dist/email-field-D3nSkHj2.cjs +0 -2
  198. package/dist/field-BSLi-P0Q.cjs +0 -2
  199. package/dist/field-BSLi-P0Q.cjs.map +0 -1
  200. package/dist/field-V2DoD8qL.mjs +0 -2
  201. package/dist/field-V2DoD8qL.mjs.map +0 -1
  202. package/dist/group-field-gejvx_Td.mjs +0 -2
  203. package/dist/group-field-sVykO2JZ.cjs +0 -2
  204. package/dist/number-field-CR5PLX6H.mjs +0 -2
  205. package/dist/number-field-CWDYA3La.cjs +0 -2
  206. package/dist/pages/LoginPage.cjs +0 -2
  207. package/dist/pages/LoginPage.cjs.map +0 -1
  208. package/dist/pages/LoginPage.d.cts +0 -2
  209. package/dist/pages/LoginPage.d.mts +0 -2
  210. package/dist/pages/LoginPage.mjs +0 -2
  211. package/dist/pages/LoginPage.mjs.map +0 -1
  212. package/dist/password-field-B2_kzss6.mjs +0 -2
  213. package/dist/password-field-BHRhVyZ0.cjs +0 -2
  214. package/dist/popover-form-CeRVpy1B.mjs +0 -2
  215. package/dist/popover-form-Ch_iMMSm.cjs +0 -2
  216. package/dist/radio-group-field-BFhBfzoT.cjs +0 -2
  217. package/dist/radio-group-field-Iwo2Q2Ig.mjs +0 -2
  218. package/dist/rolldown-runtime-CMqjfN_6.cjs +0 -1
  219. package/dist/select-field-CvDBZQTl.cjs +0 -2
  220. package/dist/select-field-NJgDDCO2.mjs +0 -2
  221. package/dist/simple-array-field-BwNCeUnn.mjs +0 -2
  222. package/dist/simple-array-field-aGXkDZXD.cjs +0 -2
  223. package/dist/simple-boolean-field-BeVkn3c4.cjs +0 -2
  224. package/dist/simple-boolean-field-t_XDXqYs.mjs +0 -2
  225. package/dist/simple-combobox-field-HCB4A33-.mjs +0 -2
  226. package/dist/simple-combobox-field-U0ZAl7VQ.cjs +0 -2
  227. package/dist/simple-date-field-Dj4bJoji.mjs +0 -2
  228. package/dist/simple-date-field-DtxEpEZj.cjs +0 -2
  229. package/dist/simple-email-field-BDyhkmHV.mjs +0 -2
  230. package/dist/simple-email-field-DK9I_Tc_.cjs +0 -2
  231. package/dist/simple-number-field-BspqWU-3.cjs +0 -2
  232. package/dist/simple-number-field-hneXMhfJ.mjs +0 -2
  233. package/dist/simple-password-field-BEEcleom.cjs +0 -2
  234. package/dist/simple-password-field-vsLRHDk4.mjs +0 -2
  235. package/dist/simple-radio-group-field-BURm_BSA.mjs +0 -2
  236. package/dist/simple-radio-group-field-Wm8xB0fN.cjs +0 -2
  237. package/dist/simple-select-field-8cY51U4d.mjs +0 -2
  238. package/dist/simple-select-field-QQ65caBf.cjs +0 -2
  239. package/dist/simple-text-field-BHkCPiE5.cjs +0 -2
  240. package/dist/simple-text-field-DK72_OA_.mjs +0 -2
  241. package/dist/simple-textarea-field-B72nNQHv.mjs +0 -2
  242. package/dist/simple-textarea-field-Bu5h7sfH.cjs +0 -2
  243. package/dist/switch-field-DoPUWb9d.mjs +0 -2
  244. package/dist/switch-field-eLVlQZSI.cjs +0 -2
  245. package/dist/tanstack-form-C0ab8EEl.cjs +0 -2
  246. package/dist/tanstack-form-C0ab8EEl.cjs.map +0 -1
  247. package/dist/tanstack-form-fkaBh9RO.mjs +0 -2
  248. package/dist/tanstack-form-fkaBh9RO.mjs.map +0 -1
  249. package/dist/text-editor-BtfyZSgR.cjs +0 -2
  250. package/dist/text-editor-BtfyZSgR.cjs.map +0 -1
  251. package/dist/text-editor-CtR27_PR.mjs +0 -2
  252. package/dist/text-editor-CtR27_PR.mjs.map +0 -1
  253. package/dist/text-editor-field-B6HEsAHt.mjs +0 -2
  254. package/dist/text-editor-field-B6HEsAHt.mjs.map +0 -1
  255. package/dist/text-editor-field-DcEUC0iH.cjs +0 -2
  256. package/dist/text-editor-field-DcEUC0iH.cjs.map +0 -1
  257. package/dist/text-field-Bm-k6Jr7.mjs +0 -2
  258. package/dist/text-field-DT50dOVI.cjs +0 -2
  259. package/dist/textarea-field-BhqX29CS.cjs +0 -2
  260. package/dist/textarea-field-DNLyrRH7.mjs +0 -2
  261. package/dist/title-field-B2hM3S_S.cjs +0 -2
  262. package/dist/title-field-oAqHRw59.mjs +0 -2
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-CMqjfN_6.cjs"),t=require("./button.cjs");let n=require("lucide-react"),r=require("react"),i=require("@customafk/react-toolkit/utils"),a=require("react/jsx-runtime"),o=require("embla-carousel-react");o=e.t(o,1);const s=(0,r.createContext)(null);function c(){let e=(0,r.use)(s);if(!e)throw Error(`useCarousel must be used within a <Carousel />`);return e}function l({orientation:e=`horizontal`,opts:t,setApi:n,plugins:c,className:l,children:u,...d}){let[f,p]=(0,o.default)({...t,axis:e===`horizontal`?`x`:`y`},c),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),v=(0,r.useCallback)(e=>{e&&(h(e.canScrollPrev()),_(e.canScrollNext()))},[]),y=(0,r.useCallback)(()=>{p?.scrollPrev()},[p]),b=(0,r.useCallback)(()=>{p?.scrollNext()},[p]),x=(0,r.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),y()):e.key===`ArrowRight`&&(e.preventDefault(),b())},[y,b]);return(0,r.useEffect)(()=>{!p||!n||n(p)},[p,n]),(0,r.useEffect)(()=>{if(p)return v(p),p.on(`reInit`,v),p.on(`select`,v),()=>{p?.off(`select`,v)}},[p,v]),(0,a.jsx)(s.Provider,{value:{carouselRef:f,api:p,opts:t,orientation:e||(t?.axis===`y`?`vertical`:`horizontal`),scrollPrev:y,scrollNext:b,canScrollPrev:m,canScrollNext:g},children:(0,a.jsx)(`div`,{onKeyDownCapture:x,className:(0,i.cn)(`relative`,l),role:`region`,"aria-roledescription":`carousel`,"data-slot":`carousel`,...d,children:u})})}function u({className:e,...t}){let{carouselRef:n,orientation:r}=c();return(0,a.jsx)(`div`,{ref:n,className:`overflow-hidden`,"data-slot":`carousel-content`,children:(0,a.jsx)(`div`,{className:(0,i.cn)(`flex`,r===`horizontal`?`-ml-4`:`-mt-4 flex-col`,e),...t})})}function d({className:e,...t}){let{orientation:n}=c();return(0,a.jsx)(`div`,{role:`group`,"aria-roledescription":`slide`,"data-slot":`carousel-item`,className:(0,i.cn)(`min-w-0 shrink-0 grow-0 basis-full`,n===`horizontal`?`pl-4`:`pt-4`,e),...t})}function f({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollPrev:u,canScrollPrev:d}=c();return(0,a.jsxs)(t.Button,{"data-slot":`carousel-previous`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -left-12 -translate-y-1/2`:`-top-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowLeft,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Previous slide`})]})}function p({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollNext:u,canScrollNext:d}=c();return(0,a.jsxs)(t.Button,{"data-slot":`carousel-next`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -right-12 -translate-y-1/2`:`-bottom-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowRight,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Next slide`})]})}exports.Carousel=l,exports.CarouselContent=u,exports.CarouselItem=d,exports.CarouselNext=p,exports.CarouselPrevious=f;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-DWNI8pZO.cjs"),t=require("./button.cjs");let n=require("lucide-react"),r=require("react"),i=require("@customafk/react-toolkit/utils"),a=require("react/jsx-runtime"),o=require("embla-carousel-react");o=e.n(o,1);const s=(0,r.createContext)(null);function c(){let e=(0,r.use)(s);if(!e)throw Error(`useCarousel must be used within a <Carousel />`);return e}function l({orientation:e=`horizontal`,opts:t,setApi:n,plugins:c,className:l,children:u,...d}){let[f,p]=(0,o.default)({...t,axis:e===`horizontal`?`x`:`y`},c),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),v=(0,r.useCallback)(e=>{e&&(h(e.canScrollPrev()),_(e.canScrollNext()))},[]),y=(0,r.useCallback)(()=>{p?.scrollPrev()},[p]),b=(0,r.useCallback)(()=>{p?.scrollNext()},[p]),x=(0,r.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),y()):e.key===`ArrowRight`&&(e.preventDefault(),b())},[y,b]);return(0,r.useEffect)(()=>{!p||!n||n(p)},[p,n]),(0,r.useEffect)(()=>{if(p)return v(p),p.on(`reInit`,v),p.on(`select`,v),()=>{p?.off(`select`,v)}},[p,v]),(0,a.jsx)(s.Provider,{value:{carouselRef:f,api:p,opts:t,orientation:e||(t?.axis===`y`?`vertical`:`horizontal`),scrollPrev:y,scrollNext:b,canScrollPrev:m,canScrollNext:g},children:(0,a.jsx)(`div`,{onKeyDownCapture:x,className:(0,i.cn)(`relative`,l),role:`region`,"aria-roledescription":`carousel`,"data-slot":`carousel`,...d,children:u})})}function u({className:e,...t}){let{carouselRef:n,orientation:r}=c();return(0,a.jsx)(`div`,{ref:n,className:`overflow-hidden`,"data-slot":`carousel-content`,children:(0,a.jsx)(`div`,{className:(0,i.cn)(`flex`,r===`horizontal`?`-ml-4`:`-mt-4 flex-col`,e),...t})})}function d({className:e,...t}){let{orientation:n}=c();return(0,a.jsx)(`div`,{role:`group`,"aria-roledescription":`slide`,"data-slot":`carousel-item`,className:(0,i.cn)(`min-w-0 shrink-0 grow-0 basis-full`,n===`horizontal`?`pl-4`:`pt-4`,e),...t})}function f({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollPrev:u,canScrollPrev:d}=c();return(0,a.jsxs)(t.Button,{"data-slot":`carousel-previous`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -left-12 -translate-y-1/2`:`-top-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowLeft,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Previous slide`})]})}function p({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollNext:u,canScrollNext:d}=c();return(0,a.jsxs)(t.Button,{"data-slot":`carousel-next`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -right-12 -translate-y-1/2`:`-bottom-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowRight,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Next slide`})]})}exports.Carousel=l,exports.CarouselContent=u,exports.CarouselItem=d,exports.CarouselNext=p,exports.CarouselPrevious=f;
2
2
  //# sourceMappingURL=carousel.cjs.map
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("lucide-react"),t=require("@customafk/react-toolkit/utils"),n=require("react/jsx-runtime"),r=require("radix-ui");function i({...e}){return(0,n.jsx)(r.DropdownMenu.Root,{"data-slot":`dropdown-menu`,...e})}function a({...e}){return(0,n.jsx)(r.DropdownMenu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function o({...e}){return(0,n.jsx)(r.DropdownMenu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function s({className:e,sideOffset:i=4,align:a=`start`,...o}){return(0,n.jsx)(r.DropdownMenu.Portal,{children:(0,n.jsx)(r.DropdownMenu.Content,{"data-slot":`dropdown-menu-content`,sideOffset:i,align:a,className:(0,t.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded-md p-1.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...o})})}function c({...e}){return(0,n.jsx)(r.DropdownMenu.Group,{"data-slot":`dropdown-menu-group`,...e})}function l({className:e,inset:i,variant:a=`default`,...o}){return(0,n.jsx)(r.DropdownMenu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":i,"data-variant":a,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...o})}function u({className:i,children:a,checked:o,...s}){return(0,n.jsxs)(r.DropdownMenu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),checked:o,...s,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(r.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(e.CheckIcon,{size:16})})}),a]})}function d({...e}){return(0,n.jsx)(r.DropdownMenu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function f({className:i,children:a,...o}){return(0,n.jsxs)(r.DropdownMenu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),...o,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(r.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(e.CircleIcon,{className:`size-2 fill-current`})})}),a]})}function p({className:e,inset:i,...a}){return(0,n.jsx)(r.DropdownMenu.Label,{"data-slot":`dropdown-menu-label`,"data-inset":i,className:(0,t.cn)(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...a})}function m({className:e,...i}){return(0,n.jsx)(r.DropdownMenu.Separator,{"data-slot":`dropdown-menu-separator`,className:(0,t.cn)(`-mx-1 my-1 h-px bg-border-weak`,e),...i})}function h({className:e,...r}){return(0,n.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:(0,t.cn)(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...r})}function g({...e}){return(0,n.jsx)(r.DropdownMenu.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function _({className:i,inset:a,children:o,...s}){return(0,n.jsxs)(r.DropdownMenu.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:(0,t.cn)(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),...s,children:[o,(0,n.jsx)(e.ChevronRightIcon,{className:`ml-auto size-4`})]})}function v({className:e,...i}){return(0,n.jsx)(r.DropdownMenu.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:(0,t.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...i})}exports.DropdownMenu=i,exports.DropdownMenuCheckboxItem=u,exports.DropdownMenuContent=s,exports.DropdownMenuGroup=c,exports.DropdownMenuItem=l,exports.DropdownMenuLabel=p,exports.DropdownMenuPortal=a,exports.DropdownMenuRadioGroup=d,exports.DropdownMenuRadioItem=f,exports.DropdownMenuSeparator=m,exports.DropdownMenuShortcut=h,exports.DropdownMenuSub=g,exports.DropdownMenuSubContent=v,exports.DropdownMenuSubTrigger=_,exports.DropdownMenuTrigger=o;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("lucide-react"),t=require("@customafk/react-toolkit/utils"),n=require("react/jsx-runtime"),r=require("radix-ui");function i({...e}){return(0,n.jsx)(r.DropdownMenu.Root,{"data-slot":`dropdown-menu`,...e})}function a({...e}){return(0,n.jsx)(r.DropdownMenu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function o({...e}){return(0,n.jsx)(r.DropdownMenu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function s({className:e,sideOffset:i=4,align:a=`start`,...o}){return(0,n.jsx)(r.DropdownMenu.Portal,{children:(0,n.jsx)(r.DropdownMenu.Content,{"data-slot":`dropdown-menu-content`,sideOffset:i,align:a,className:(0,t.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded py-1.5 px-0.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...o})})}function c({...e}){return(0,n.jsx)(r.DropdownMenu.Group,{"data-slot":`dropdown-menu-group`,...e})}function l({className:e,inset:i,variant:a=`default`,...o}){return(0,n.jsx)(r.DropdownMenu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":i,"data-variant":a,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-weak/30 focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...o})}function u({className:i,children:a,checked:o,...s}){return(0,n.jsxs)(r.DropdownMenu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),checked:o,...s,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(r.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(e.CheckIcon,{size:16})})}),a]})}function d({...e}){return(0,n.jsx)(r.DropdownMenu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function f({className:i,children:a,...o}){return(0,n.jsxs)(r.DropdownMenu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:(0,t.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),...o,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(r.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(e.CircleIcon,{className:`size-2 fill-current`})})}),a]})}function p({className:e,inset:i,...a}){return(0,n.jsx)(r.DropdownMenu.Label,{"data-slot":`dropdown-menu-label`,"data-inset":i,className:(0,t.cn)(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...a})}function m({className:e,...i}){return(0,n.jsx)(r.DropdownMenu.Separator,{"data-slot":`dropdown-menu-separator`,className:(0,t.cn)(`-mx-1 my-1 h-px bg-border-weak`,e),...i})}function h({className:e,...r}){return(0,n.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:(0,t.cn)(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...r})}function g({...e}){return(0,n.jsx)(r.DropdownMenu.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function _({className:i,inset:a,children:o,...s}){return(0,n.jsxs)(r.DropdownMenu.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:(0,t.cn)(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,i),...s,children:[o,(0,n.jsx)(e.ChevronRightIcon,{className:`ml-auto size-4`})]})}function v({className:e,...i}){return(0,n.jsx)(r.DropdownMenu.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:(0,t.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...i})}exports.DropdownMenu=i,exports.DropdownMenuCheckboxItem=u,exports.DropdownMenuContent=s,exports.DropdownMenuGroup=c,exports.DropdownMenuItem=l,exports.DropdownMenuLabel=p,exports.DropdownMenuPortal=a,exports.DropdownMenuRadioGroup=d,exports.DropdownMenuRadioItem=f,exports.DropdownMenuSeparator=m,exports.DropdownMenuShortcut=h,exports.DropdownMenuSub=g,exports.DropdownMenuSubContent=v,exports.DropdownMenuSubTrigger=_,exports.DropdownMenuTrigger=o;
2
2
  //# sourceMappingURL=dropdown-menu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.cjs","names":["DropdownMenuPrimitive","CheckIcon","CircleIcon","ChevronRightIcon"],"sources":["../../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded-md p-1.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.cjs","names":["DropdownMenuPrimitive","CheckIcon","CircleIcon","ChevronRightIcon"],"sources":["../../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded py-1.5 px-0.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-weak/30 focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";import{CheckIcon as e,ChevronRightIcon as t,CircleIcon as n}from"lucide-react";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{DropdownMenu as o}from"radix-ui";function s({...e}){return i(o.Root,{"data-slot":`dropdown-menu`,...e})}function c({...e}){return i(o.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function l({...e}){return i(o.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function u({className:e,sideOffset:t=4,align:n=`start`,...a}){return i(o.Portal,{children:i(o.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,align:n,className:r(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded-md p-1.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...a})})}function d({...e}){return i(o.Group,{"data-slot":`dropdown-menu-group`,...e})}function f({className:e,inset:t,variant:n=`default`,...a}){return i(o.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...a})}function p({className:t,children:n,checked:s,...c}){return a(o.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),checked:s,...c,children:[i(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:i(o.ItemIndicator,{children:i(e,{size:16})})}),n]})}function m({...e}){return i(o.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function h({className:e,children:t,...s}){return a(o.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...s,children:[i(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:i(o.ItemIndicator,{children:i(n,{className:`size-2 fill-current`})})}),t]})}function g({className:e,inset:t,...n}){return i(o.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:r(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...n})}function _({className:e,...t}){return i(o.Separator,{"data-slot":`dropdown-menu-separator`,className:r(`-mx-1 my-1 h-px bg-border-weak`,e),...t})}function v({className:e,...t}){return i(`span`,{"data-slot":`dropdown-menu-shortcut`,className:r(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...t})}function y({...e}){return i(o.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function b({className:e,inset:n,children:s,...c}){return a(o.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:r(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...c,children:[s,i(t,{className:`ml-auto size-4`})]})}function x({className:e,...t}){return i(o.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:r(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...t})}export{s as DropdownMenu,p as DropdownMenuCheckboxItem,u as DropdownMenuContent,d as DropdownMenuGroup,f as DropdownMenuItem,g as DropdownMenuLabel,c as DropdownMenuPortal,m as DropdownMenuRadioGroup,h as DropdownMenuRadioItem,_ as DropdownMenuSeparator,v as DropdownMenuShortcut,y as DropdownMenuSub,x as DropdownMenuSubContent,b as DropdownMenuSubTrigger,l as DropdownMenuTrigger};
1
+ "use client";import{CheckIcon as e,ChevronRightIcon as t,CircleIcon as n}from"lucide-react";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{DropdownMenu as o}from"radix-ui";function s({...e}){return i(o.Root,{"data-slot":`dropdown-menu`,...e})}function c({...e}){return i(o.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function l({...e}){return i(o.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function u({className:e,sideOffset:t=4,align:n=`start`,...a}){return i(o.Portal,{children:i(o.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,align:n,className:r(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded py-1.5 px-0.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...a})})}function d({...e}){return i(o.Group,{"data-slot":`dropdown-menu-group`,...e})}function f({className:e,inset:t,variant:n=`default`,...a}){return i(o.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-weak/30 focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...a})}function p({className:t,children:n,checked:s,...c}){return a(o.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),checked:s,...c,children:[i(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:i(o.ItemIndicator,{children:i(e,{size:16})})}),n]})}function m({...e}){return i(o.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function h({className:e,children:t,...s}){return a(o.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:r(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...s,children:[i(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:i(o.ItemIndicator,{children:i(n,{className:`size-2 fill-current`})})}),t]})}function g({className:e,inset:t,...n}){return i(o.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:r(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...n})}function _({className:e,...t}){return i(o.Separator,{"data-slot":`dropdown-menu-separator`,className:r(`-mx-1 my-1 h-px bg-border-weak`,e),...t})}function v({className:e,...t}){return i(`span`,{"data-slot":`dropdown-menu-shortcut`,className:r(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...t})}function y({...e}){return i(o.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function b({className:e,inset:n,children:s,...c}){return a(o.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:r(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...c,children:[s,i(t,{className:`ml-auto size-4`})]})}function x({className:e,...t}){return i(o.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:r(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...t})}export{s as DropdownMenu,p as DropdownMenuCheckboxItem,u as DropdownMenuContent,d as DropdownMenuGroup,f as DropdownMenuItem,g as DropdownMenuLabel,c as DropdownMenuPortal,m as DropdownMenuRadioGroup,h as DropdownMenuRadioItem,_ as DropdownMenuSeparator,v as DropdownMenuShortcut,y as DropdownMenuSub,x as DropdownMenuSubContent,b as DropdownMenuSubTrigger,l as DropdownMenuTrigger};
2
2
  //# sourceMappingURL=dropdown-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.mjs","names":["DropdownMenuPrimitive"],"sources":["../../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded-md p-1.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.mjs","names":["DropdownMenuPrimitive"],"sources":["../../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded py-1.5 px-0.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-weak/30 focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"0OA6BA,SAAS,EAAa,CAAE,GAAG,GAAkE,CAC3F,OAAO,EAACA,EAAsB,KAAvB,CAA4B,YAAU,gBAAgB,GAAI,CAAQ,CAAA,CAC3E,CAGA,SAAS,EAAmB,CAAE,GAAG,GAAoE,CACnG,OAAO,EAACA,EAAsB,OAAvB,CAA8B,YAAU,uBAAuB,GAAI,CAAQ,CAAA,CACpF,CAGA,SAAS,EAAoB,CAAE,GAAG,GAAqE,CACrG,OAAO,EAACA,EAAsB,QAAvB,CAA+B,YAAU,wBAAwB,GAAI,CAAQ,CAAA,CACtF,CAGA,SAAS,EAAoB,CAAE,YAAW,aAAa,EAAG,QAAQ,QAAS,GAAG,GAAqE,CACjJ,OACE,EAACA,EAAsB,OAAvB,CAAA,SACE,EAACA,EAAsB,QAAvB,CACE,YAAU,wBACE,aACL,QACP,UAAW,EACT,gCACA,gBACA,oCACA,wCACA,yDACA,0DACA,wFACA,iGACA,yCACA,yCACA,yCACA,yCACA,CACF,EACA,GAAI,CACL,CAAA,CAC2B,CAAA,CAElC,CAGA,SAAS,EAAkB,CAAE,GAAG,GAAmE,CACjG,OAAO,EAACA,EAAsB,MAAvB,CAA6B,YAAU,sBAAsB,GAAI,CAAQ,CAAA,CAClF,CAQA,SAAS,EAAiB,CACxB,YACA,QACA,UAAU,UACV,GAAG,GAIF,CACD,OACE,EAACA,EAAsB,KAAvB,CACE,YAAU,qBACV,aAAY,EACZ,eAAc,EACd,UAAW,EACT,2HACA,yDACA,kBACA,6DACA,yCACA,uGACA,kDACA,+CACA,uCACA,wDACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAyB,CAAE,YAAW,WAAU,UAAS,GAAG,GAA0E,CAC7I,OACE,EAACA,EAAsB,aAAvB,CACE,YAAU,8BACV,UAAW,EACT,mIACA,uDACA,6DACA,+CACA,uCACA,CACF,EACS,UACT,GAAI,EAXN,SAAA,CAaE,EAAC,OAAD,CAAM,UAAU,gFACd,SAAA,EAACA,EAAsB,cAAvB,CAAA,SACE,EAAC,EAAD,CAAW,KAAM,EAAK,CAAA,CACa,CAAA,CACjC,CAAA,EACL,CACiC,GAExC,CAGA,SAAS,EAAuB,CAAE,GAAG,GAAwE,CAC3G,OAAO,EAACA,EAAsB,WAAvB,CAAkC,YAAU,4BAA4B,GAAI,CAAQ,CAAA,CAC7F,CAGA,SAAS,EAAsB,CAAE,YAAW,WAAU,GAAG,GAAuE,CAC9H,OACE,EAACA,EAAsB,UAAvB,CACE,YAAU,2BACV,UAAW,EACT,mIACA,uDACA,6DACA,+CACA,uCACA,CACF,EACA,GAAI,EAVN,SAAA,CAYE,EAAC,OAAD,CAAM,UAAU,gFACd,SAAA,EAACA,EAAsB,cAAvB,CAAA,SACE,EAAC,EAAD,CAAY,UAAU,qBAAuB,CAAA,CACV,CAAA,CACjC,CAAA,EACL,CAC8B,GAErC,CAOA,SAAS,EAAkB,CACzB,YACA,QACA,GAAG,GAGF,CACD,OACE,EAACA,EAAsB,MAAvB,CACE,YAAU,sBACV,aAAY,EACZ,UAAW,EAAG,0EAA2E,CAAS,EAClG,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAsB,CAAE,YAAW,GAAG,GAAuE,CACpH,OAAO,EAACA,EAAsB,UAAvB,CAAiC,YAAU,0BAA0B,UAAW,EAAG,iCAAkC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACtJ,CAGA,SAAS,EAAqB,CAAE,YAAW,GAAG,GAAuC,CACnF,OAAO,EAAC,OAAD,CAAM,YAAU,yBAAyB,UAAW,EAAG,2DAA4D,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpJ,CAGA,SAAS,EAAgB,CAAE,GAAG,GAAiE,CAC7F,OAAO,EAACA,EAAsB,IAAvB,CAA2B,YAAU,oBAAoB,GAAI,CAAQ,CAAA,CAC9E,CAOA,SAAS,EAAuB,CAC9B,YACA,QACA,WACA,GAAG,GAGF,CACD,OACE,EAACA,EAAsB,WAAvB,CACE,YAAU,4BACV,aAAY,EACZ,UAAW,EACT,qHACA,uDACA,+EACA,kBACA,+CACA,uCACA,CACF,EACA,GAAI,EAZN,SAAA,CAcG,EACD,EAAC,EAAD,CAAkB,UAAU,gBAAkB,CAAA,CACd,GAEtC,CAGA,SAAS,EAAuB,CAAE,YAAW,GAAG,GAAwE,CACtH,OACE,EAACA,EAAsB,WAAvB,CACE,YAAU,4BACV,UAAW,EACT,gCACA,gBACA,oCACA,2FACA,wFACA,iGACA,yCACA,yCACA,yCACA,yCACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
@@ -1,3 +1,3 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-CMqjfN_6.cjs"),t=require("./button.cjs"),n=require("./progress.cjs"),r=require("../features/file-icons/index.cjs");let i=require("lucide-react"),a=require("react"),o=require("@customafk/react-toolkit/utils"),s=require("react/jsx-runtime"),c=require("sonner"),l=require("@customafk/react-toolkit/hooks/useControllableState"),u=require("react-dropzone");u=e.t(u,1);function d(e){let{value:t,onValueChange:n,onUpload:r,progresses:d,accept:m={"image/*":[]},maxSize:h=1024*1024*2,maxFileCount:g=1,multiple:_=!1,disabled:v=!1,showText:y=!0,iconSize:b,className:x,...S}=e,[C,w]=(0,l.useControllableState)({prop:t,onChange:n}),T=(0,a.useCallback)((e,t)=>{if(!_&&g===1&&e.length>1){c.toast.error(`Cannot upload more than 1 file at a time`);return}if((C?.length??0)+e.length>g){c.toast.error(`Cannot upload more than ${g} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),i=C?[...C,...n]:n;if(w(i),t.length>0&&t.forEach(({file:e})=>{c.toast.error(`File ${e.name} was rejected`)}),r&&i.length>0&&i.length<=g){let e=i.length>0?`${i.length} files`:`file`;r(i).then(()=>{w([]),(0,c.toast)(`${e} uploaded`)})}},[C,g,_,r,w]);function E(e){if(!C)return;p(C[e])&&URL.revokeObjectURL(C[e].preview);let t=C.filter((t,n)=>n!==e);w(t),n?.(t)}(0,a.useEffect)(()=>()=>{C&&C.forEach(e=>{p(e)&&URL.revokeObjectURL(e.preview)})},[]);let D=v||(C?.length??0)>=g;return(0,s.jsxs)(`div`,{className:`relative flex w-full flex-col gap-6`,children:[(0,s.jsx)(u.default,{onDrop:T,accept:m,maxSize:h,maxFiles:g,multiple:g>1||_,disabled:D,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>(0,s.jsxs)(`div`,{...e(),className:(0,o.cn)(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,D&&`pointer-events-none opacity-60`,x),...S,children:[(0,s.jsx)(`input`,{...t()}),n?(0,s.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,s.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,s.jsx)(i.Upload,{className:`size-7 text-text-positive-muted`,"aria-hidden":`true`})}),(0,s.jsx)(`p`,{className:`font-medium text-text-positive-muted`,children:`Drop the files here`})]}):(0,s.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,s.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,s.jsx)(i.Upload,{size:b||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),!!y&&(0,s.jsxs)(`div`,{className:`flex flex-col gap-px`,children:[(0,s.jsxs)(`p`,{className:`font-medium text-text-positive-weak text-xs`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),(0,s.jsxs)(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,g>1?` ${g===1/0?`multiple`:g}
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-DWNI8pZO.cjs"),t=require("./button.cjs"),n=require("./progress.cjs"),r=require("../features/file-icons/index.cjs");let i=require("lucide-react"),a=require("react"),o=require("@customafk/react-toolkit/utils"),s=require("react/jsx-runtime"),c=require("sonner"),l=require("@customafk/react-toolkit/hooks/useControllableState"),u=require("react-dropzone");u=e.n(u,1);function d(e){let{value:t,onValueChange:n,onUpload:r,progresses:d,accept:m={"image/*":[]},maxSize:h=1024*1024*2,maxFileCount:g=1,multiple:_=!1,disabled:v=!1,showText:y=!0,iconSize:b,className:x,...S}=e,[C,w]=(0,l.useControllableState)({prop:t,onChange:n}),T=(0,a.useCallback)((e,t)=>{if(!_&&g===1&&e.length>1){c.toast.error(`Cannot upload more than 1 file at a time`);return}if((C?.length??0)+e.length>g){c.toast.error(`Cannot upload more than ${g} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),i=C?[...C,...n]:n;if(w(i),t.length>0&&t.forEach(({file:e})=>{c.toast.error(`File ${e.name} was rejected`)}),r&&i.length>0&&i.length<=g){let e=i.length>0?`${i.length} files`:`file`;r(i).then(()=>{w([]),(0,c.toast)(`${e} uploaded`)})}},[C,g,_,r,w]);function E(e){if(!C)return;p(C[e])&&URL.revokeObjectURL(C[e].preview);let t=C.filter((t,n)=>n!==e);w(t),n?.(t)}(0,a.useEffect)(()=>()=>{C&&C.forEach(e=>{p(e)&&URL.revokeObjectURL(e.preview)})},[]);let D=v||(C?.length??0)>=g;return(0,s.jsxs)(`div`,{className:`relative flex w-full flex-col gap-6`,children:[(0,s.jsx)(u.default,{onDrop:T,accept:m,maxSize:h,maxFiles:g,multiple:g>1||_,disabled:D,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>(0,s.jsxs)(`div`,{...e(),className:(0,o.cn)(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,D&&`pointer-events-none opacity-60`,x),...S,children:[(0,s.jsx)(`input`,{...t()}),n?(0,s.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,s.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,s.jsx)(i.Upload,{className:`size-7 text-text-positive-muted`,"aria-hidden":`true`})}),(0,s.jsx)(`p`,{className:`font-medium text-text-positive-muted`,children:`Drop the files here`})]}):(0,s.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,s.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,s.jsx)(i.Upload,{size:b||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),!!y&&(0,s.jsxs)(`div`,{className:`flex flex-col gap-px`,children:[(0,s.jsxs)(`p`,{className:`font-medium text-text-positive-weak text-xs`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),(0,s.jsxs)(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,g>1?` ${g===1/0?`multiple`:g}
2
2
  files (up to ${(0,o.formatBytes)(h)} each)`:` a file with ${(0,o.formatBytes)(h)}`]})]})]})]})}),C?.length?(0,s.jsxs)(`div`,{className:`h-fit w-full overflow-y-auto`,children:[(0,s.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-1 text-text-positive-weak`,children:[(0,s.jsx)(i.Image,{size:16,"aria-hidden":`true`}),(0,s.jsxs)(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,C.length,`)`]})]}),(0,s.jsxs)(`button`,{className:`flex cursor-pointer items-center gap-1 text-text-positive-muted transition-colors duration-200 hover:text-text-positive`,onClick:()=>{C&&(C.forEach(e=>{p(e)&&URL.revokeObjectURL(e.preview)}),w([]),n?.([]))},children:[(0,s.jsx)(i.Trash2,{size:16,"aria-hidden":`true`}),(0,s.jsx)(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),(0,s.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:C?.map((e,t)=>(0,s.jsx)(f,{file:e,onRemove:()=>E(t),progress:d?.[e.name]},`${t.toString()}`))})]}):null]})}function f({file:e,progress:r,onRemove:a}){return(0,s.jsxs)(`div`,{className:`relative flex items-center gap-4 rounded border border-border-weak py-2 pr-3 pl-2 shadow-xs transition-colors hover:border-border`,children:[(0,s.jsxs)(`div`,{className:`flex flex-1 gap-2.5`,children:[p(e)?(0,s.jsx)(h,{file:e}):null,(0,s.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,s.jsxs)(`div`,{className:`flex flex-col gap-y-0.5`,children:[(0,s.jsx)(`p`,{className:`line-clamp-1 text-sm text-text-positive`,children:e.name}),(0,s.jsx)(`p`,{className:`text-text-positive-muted text-xs`,children:(0,o.formatBytes)(e.size)})]}),r?(0,s.jsx)(n.Progress,{value:r}):null]})]}),(0,s.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,s.jsxs)(t.Button,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,className:`size-7`,onClick:a,children:[(0,s.jsx)(i.Trash2,{size:16,"aria-hidden":`true`}),(0,s.jsx)(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function p(e){return`preview`in e&&typeof e.preview==`string`}const m={"application/pdf":r.PdfFileIcon,"text/csv":r.CsvFileIcon,"application/msword":r.WordFileIcon,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":r.WordFileIcon,"application/vnd.ms-excel":r.ExcelFileIcon,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":r.ExcelFileIcon,"application/zip":r.ZipFileIcon,"application/x-zip-compressed":r.ZipFileIcon};function h({file:e}){return e.type.startsWith(`image/`)?(0,s.jsx)(`img`,{src:e.preview,className:`aspect-square size-10 shrink-0 rounded border border-border object-cover object-top shadow-sm`}):e.type.startsWith(`audio/`)?(0,s.jsx)(r.AudioFileIcon,{size:40,className:`size-10 shrink-0`,"aria-hidden":`true`}):e.type.startsWith(`video/`)?(0,s.jsx)(r.VideoFileIcon,{size:40,className:`size-10 shrink-0`,"aria-hidden":`true`}):(0,s.jsx)(m[e.type]??r.UnknownFileIcon,{size:40,className:`size-10 shrink-0`,"aria-hidden":`true`})}exports.FileUploader=d;
3
3
  //# sourceMappingURL=file-uploader.cjs.map
package/dist/ui/item.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dist-DzA--RwW.cjs"),t=require("./separator.cjs");let n=require("@customafk/react-toolkit/utils"),r=require("class-variance-authority"),i=require("react/jsx-runtime");function a({className:e,...t}){return(0,i.jsx)(`div`,{role:`list`,"data-slot":`item-group`,className:(0,n.cn)(`group/item-group flex flex-col`,e),...t})}function o({className:e,...r}){return(0,i.jsx)(t.Separator,{"data-slot":`item-separator`,orientation:`horizontal`,className:(0,n.cn)(`my-0`,e),...r})}const s=(0,r.cva)(`group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-primary-strong focus-visible:ring-primary-weak focus-visible:ring-[3px]`,{variants:{variant:{default:`bg-transparent`,outline:`border-border`,muted:`bg-muted-weak`},size:{default:`p-4 gap-4 `,sm:`py-3 px-4 gap-2.5`}},defaultVariants:{variant:`default`,size:`default`}});function c({className:t,variant:r=`default`,size:a=`default`,asChild:o=!1,...c}){return(0,i.jsx)(o?e.t:`div`,{"data-slot":`item`,"data-variant":r,"data-size":a,className:(0,n.cn)(s({variant:r,size:a,className:t})),...c})}const l=(0,r.cva)(`flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5`,{variants:{variant:{default:`bg-transparent`,icon:`size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4`,image:`size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover`}},defaultVariants:{variant:`default`}});function u({className:e,variant:t=`default`,...r}){return(0,i.jsx)(`div`,{"data-slot":`item-media`,"data-variant":t,className:(0,n.cn)(l({variant:t,className:e})),...r})}function d({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-content`,className:(0,n.cn)(`flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none`,e),...t})}function f({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-title`,className:(0,n.cn)(`flex w-fit items-center gap-2 text-sm leading-snug font-medium`,e),...t})}function p({className:e,...t}){return(0,i.jsx)(`p`,{"data-slot":`item-description`,className:(0,n.cn)(`text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function m({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-actions`,className:(0,n.cn)(`flex items-center gap-2`,e),...t})}function h({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-header`,className:(0,n.cn)(`flex basis-full items-center justify-between gap-2`,e),...t})}function g({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-footer`,className:(0,n.cn)(`flex basis-full items-center justify-between gap-2`,e),...t})}exports.Item=c,exports.ItemActions=m,exports.ItemContent=d,exports.ItemDescription=p,exports.ItemFooter=g,exports.ItemGroup=a,exports.ItemHeader=h,exports.ItemMedia=u,exports.ItemSeparator=o,exports.ItemTitle=f;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dist-CIdWHwhj.cjs"),t=require("./separator.cjs");let n=require("@customafk/react-toolkit/utils"),r=require("class-variance-authority"),i=require("react/jsx-runtime");function a({className:e,...t}){return(0,i.jsx)(`div`,{role:`list`,"data-slot":`item-group`,className:(0,n.cn)(`group/item-group flex flex-col`,e),...t})}function o({className:e,...r}){return(0,i.jsx)(t.Separator,{"data-slot":`item-separator`,orientation:`horizontal`,className:(0,n.cn)(`my-0`,e),...r})}const s=(0,r.cva)(`group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-primary-strong focus-visible:ring-primary-weak focus-visible:ring-[3px]`,{variants:{variant:{default:`bg-transparent`,outline:`border-border`,muted:`bg-muted-weak`},size:{default:`p-4 gap-4 `,sm:`py-3 px-4 gap-2.5`}},defaultVariants:{variant:`default`,size:`default`}});function c({className:t,variant:r=`default`,size:a=`default`,asChild:o=!1,...c}){return(0,i.jsx)(o?e.t:`div`,{"data-slot":`item`,"data-variant":r,"data-size":a,className:(0,n.cn)(s({variant:r,size:a,className:t})),...c})}const l=(0,r.cva)(`flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5`,{variants:{variant:{default:`bg-transparent`,icon:`size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4`,image:`size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover`}},defaultVariants:{variant:`default`}});function u({className:e,variant:t=`default`,...r}){return(0,i.jsx)(`div`,{"data-slot":`item-media`,"data-variant":t,className:(0,n.cn)(l({variant:t,className:e})),...r})}function d({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-content`,className:(0,n.cn)(`flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none`,e),...t})}function f({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-title`,className:(0,n.cn)(`flex w-fit items-center gap-2 text-sm leading-snug font-medium`,e),...t})}function p({className:e,...t}){return(0,i.jsx)(`p`,{"data-slot":`item-description`,className:(0,n.cn)(`text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function m({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-actions`,className:(0,n.cn)(`flex items-center gap-2`,e),...t})}function h({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-header`,className:(0,n.cn)(`flex basis-full items-center justify-between gap-2`,e),...t})}function g({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`item-footer`,className:(0,n.cn)(`flex basis-full items-center justify-between gap-2`,e),...t})}exports.Item=c,exports.ItemActions=m,exports.ItemContent=d,exports.ItemDescription=p,exports.ItemFooter=g,exports.ItemGroup=a,exports.ItemHeader=h,exports.ItemMedia=u,exports.ItemSeparator=o,exports.ItemTitle=f;
2
2
  //# sourceMappingURL=item.cjs.map
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-CMqjfN_6.cjs");let t=require("lucide-react"),n=require("react"),r=require("@customafk/react-toolkit/utils"),i=require("react/jsx-runtime"),a=require("react-resizable-panels");a=e.t(a,1);const o=(0,n.memo)(({className:e,...t})=>(0,i.jsx)(a.PanelGroup,{"data-slot":`resizable-panel-group`,className:(0,r.cn)(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,e),...t}));o.displayName=`ResizablePanelGroup`;const s=(0,n.memo)(({...e})=>(0,i.jsx)(a.Panel,{"data-slot":`resizable-panel`,...e}));s.displayName=`ResizablePanel`;const c=(0,n.memo)(({withHandle:e,className:n,...o})=>(0,i.jsx)(a.PanelResizeHandle,{"data-slot":`resizable-handle`,className:(0,r.cn)(`relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90`,n),...o,children:e&&(0,i.jsx)(`div`,{className:`z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border`,children:(0,i.jsx)(t.GripVerticalIcon,{className:`size-2.5`})})}));c.displayName=`ResizableHandle`,exports.ResizableHandle=c,exports.ResizablePanel=s,exports.ResizablePanelGroup=o;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-DWNI8pZO.cjs");let t=require("lucide-react"),n=require("react"),r=require("@customafk/react-toolkit/utils"),i=require("react/jsx-runtime"),a=require("react-resizable-panels");a=e.n(a,1);const o=(0,n.memo)(({className:e,...t})=>(0,i.jsx)(a.PanelGroup,{"data-slot":`resizable-panel-group`,className:(0,r.cn)(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,e),...t}));o.displayName=`ResizablePanelGroup`;const s=(0,n.memo)(({...e})=>(0,i.jsx)(a.Panel,{"data-slot":`resizable-panel`,...e}));s.displayName=`ResizablePanel`;const c=(0,n.memo)(({withHandle:e,className:n,...o})=>(0,i.jsx)(a.PanelResizeHandle,{"data-slot":`resizable-handle`,className:(0,r.cn)(`relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90`,n),...o,children:e&&(0,i.jsx)(`div`,{className:`z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-border`,children:(0,i.jsx)(t.GripVerticalIcon,{className:`size-2.5`})})}));c.displayName=`ResizableHandle`,exports.ResizableHandle=c,exports.ResizablePanel=s,exports.ResizablePanelGroup=o;
2
2
  //# sourceMappingURL=resizable.cjs.map
@@ -1,2 +1,2 @@
1
- import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-CNqPu4Ck.cjs";
1
+ import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-DTnfCua-.cjs";
2
2
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -1,2 +1,2 @@
1
- import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-CNqPu4Ck.mjs";
1
+ import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-DTnfCua-.mjs";
2
2
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
- "version": "0.2.83",
3
+ "version": "0.2.85",
4
4
  "description": "UI library for Lunas Enterprise",
5
5
  "type": "module",
6
6
  "author": {
@@ -168,8 +168,8 @@
168
168
  "import": "./dist/pages/FeatureFixing.mjs"
169
169
  },
170
170
  "./pages/LoginPage": {
171
- "require": "./dist/pages/LoginPage.cjs",
172
- "import": "./dist/pages/LoginPage.mjs"
171
+ "require": "./dist/pages/LoginPage/index.cjs",
172
+ "import": "./dist/pages/LoginPage/index.mjs"
173
173
  },
174
174
  "./pages/NotAuthorized": {
175
175
  "require": "./dist/pages/NotAuthorized.cjs",
@@ -470,12 +470,14 @@
470
470
  "@tanstack/react-virtual": "^3.13.12",
471
471
  "@tiptap/extension-bubble-menu": "^3.26.0",
472
472
  "@tiptap/extension-character-count": "^3.26.0",
473
+ "@tiptap/extension-code-block-lowlight": "^3.26.0",
473
474
  "@tiptap/extension-color": "^3.26.0",
474
- "@tiptap/extension-floating-menu": "^3.26.0",
475
475
  "@tiptap/extension-highlight": "^3.26.0",
476
+ "@tiptap/extension-image": "^3.26.0",
476
477
  "@tiptap/extension-link": "^3.26.0",
477
478
  "@tiptap/extension-list-keymap": "^3.26.0",
478
479
  "@tiptap/extension-placeholder": "^3.26.0",
480
+ "@tiptap/extension-table": "^3.26.0",
479
481
  "@tiptap/extension-task-item": "^3.26.0",
480
482
  "@tiptap/extension-task-list": "^3.26.0",
481
483
  "@tiptap/extension-text-align": "^3.26.0",
@@ -483,10 +485,13 @@
483
485
  "@tiptap/extension-underline": "^3.26.0",
484
486
  "@tiptap/react": "^3.26.0",
485
487
  "@tiptap/starter-kit": "^3.26.0",
488
+ "@tiptap/suggestion": "^3.26.0",
486
489
  "class-variance-authority": "^0.7.0",
487
490
  "cmdk": "^1.1.0",
491
+ "dompurify": "^3.4.13",
488
492
  "embla-carousel-react": "^8.6.0",
489
493
  "input-otp": "^1.4.0",
494
+ "lowlight": "^3.3.0",
490
495
  "lucide-react": "^0.545.0",
491
496
  "nanoid": "^5.1.6",
492
497
  "next-themes": "^0.4.6",