@customafk/lunas-ui 0.2.33 → 0.2.35

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 (441) hide show
  1. package/dist/{alert-BC5Nss8t.mjs → alert-BbvPwf2x.mjs} +1 -1
  2. package/dist/{alert-BC5Nss8t.mjs.map → alert-BbvPwf2x.mjs.map} +1 -1
  3. package/dist/{alert-V73ULWoO.d.mts → alert-DGoFdiDI.d.cts} +7 -7
  4. package/dist/{alert-mTjrFpkB.d.cts → alert-DZlPX4MK.d.mts} +7 -7
  5. package/dist/{alert-4rfsFtN6.cjs → alert-DubR6Szk.cjs} +1 -1
  6. package/dist/{alert-4rfsFtN6.cjs.map → alert-DubR6Szk.cjs.map} +1 -1
  7. package/dist/{avatar-aVxo69zP.cjs → avatar-CqRl9dge.cjs} +1 -1
  8. package/dist/{avatar-aVxo69zP.cjs.map → avatar-CqRl9dge.cjs.map} +1 -1
  9. package/dist/{avatar-CK1R4r0j.mjs → avatar-m1LjDIil.mjs} +1 -1
  10. package/dist/{avatar-CK1R4r0j.mjs.map → avatar-m1LjDIil.mjs.map} +1 -1
  11. package/dist/{badge-utjRo-lW.mjs → badge-Bhbhmsic.mjs} +1 -1
  12. package/dist/{badge-utjRo-lW.mjs.map → badge-Bhbhmsic.mjs.map} +1 -1
  13. package/dist/{badge-DcQUUKY0.d.mts → badge-D1Un985K.d.cts} +6 -6
  14. package/dist/{badge-Cwb0fmkw.d.cts → badge-LtLg87DN.d.mts} +6 -6
  15. package/dist/{button-W7L4JgMw.d.mts → button-8OKxyueU.d.cts} +6 -6
  16. package/dist/{button-Bc-MAOOY.d.cts → button-CdjZ5QJ8.d.mts} +6 -6
  17. package/dist/{button-BqxBQ4Kr.mjs → button-CfPTDyoq.mjs} +2 -2
  18. package/dist/{button-BqxBQ4Kr.mjs.map → button-CfPTDyoq.mjs.map} +1 -1
  19. package/dist/{button.variants-CwcJHcI5.mjs → button.variants-B8aRZ52K.mjs} +1 -1
  20. package/dist/{button.variants-CwcJHcI5.mjs.map → button.variants-B8aRZ52K.mjs.map} +1 -1
  21. package/dist/{calendar-D8aRFw_F.mjs → calendar-BDhIfwPP.mjs} +2 -2
  22. package/dist/{calendar-D8aRFw_F.mjs.map → calendar-BDhIfwPP.mjs.map} +1 -1
  23. package/dist/{calendar-Bt0rlJ89.cjs → calendar-CMd11yg9.cjs} +1 -1
  24. package/dist/{calendar-Bt0rlJ89.cjs.map → calendar-CMd11yg9.cjs.map} +1 -1
  25. package/dist/cards/grid-product-card.mjs +1 -1
  26. package/dist/cards/product-card.mjs +1 -1
  27. package/dist/cards/simple-card.d.cts +2 -2
  28. package/dist/cards/simple-card.d.mts +2 -2
  29. package/dist/cards/simple-card.mjs +1 -1
  30. package/dist/{checkbox-BQ_TclX9.cjs → checkbox-BwDvS4De.cjs} +1 -1
  31. package/dist/{checkbox-BQ_TclX9.cjs.map → checkbox-BwDvS4De.cjs.map} +1 -1
  32. package/dist/{checkbox-CJsl9OjF.mjs → checkbox-CgHaRkuU.mjs} +1 -1
  33. package/dist/{checkbox-CJsl9OjF.mjs.map → checkbox-CgHaRkuU.mjs.map} +1 -1
  34. package/dist/{close-BMhGSmGs.mjs → close-B7OOMSZl.mjs} +1 -1
  35. package/dist/{close-BMhGSmGs.mjs.map → close-B7OOMSZl.mjs.map} +1 -1
  36. package/dist/{close-DUBEKxhw.cjs → close-DrCUWZt0.cjs} +1 -1
  37. package/dist/{close-DUBEKxhw.cjs.map → close-DrCUWZt0.cjs.map} +1 -1
  38. package/dist/{cms-layout-DDs0pHWh.cjs → cms-layout-BrubV8D8.cjs} +2 -2
  39. package/dist/{cms-layout-DDs0pHWh.cjs.map → cms-layout-BrubV8D8.cjs.map} +1 -1
  40. package/dist/{cms-layout-DHzRHAoI.mjs → cms-layout-C2-yysO2.mjs} +2 -2
  41. package/dist/{cms-layout-DHzRHAoI.mjs.map → cms-layout-C2-yysO2.mjs.map} +1 -1
  42. package/dist/{command-CTdjZi1F.cjs → command-DiXzSGc8.cjs} +2 -2
  43. package/dist/{command-CTdjZi1F.cjs.map → command-DiXzSGc8.cjs.map} +1 -1
  44. package/dist/{command-Bvauothg.mjs → command-FnbrPZ7_.mjs} +2 -2
  45. package/dist/{command-Bvauothg.mjs.map → command-FnbrPZ7_.mjs.map} +1 -1
  46. package/dist/data-display/country.d.cts +1 -1
  47. package/dist/data-display/country.d.mts +1 -1
  48. package/dist/data-display/country.mjs +1 -1
  49. package/dist/data-display/date-tooltip.mjs +1 -1
  50. package/dist/data-display/date.mjs +1 -1
  51. package/dist/data-display/name.mjs +1 -1
  52. package/dist/data-display/phone-number.mjs +1 -1
  53. package/dist/data-display/role-badge.d.cts +1 -1
  54. package/dist/data-display/role-badge.d.mts +1 -1
  55. package/dist/data-display/role-badge.mjs +1 -1
  56. package/dist/data-display/statistic.cjs +1 -2
  57. package/dist/data-display/statistic.d.mts +5 -5
  58. package/dist/data-display/statistic.mjs +1 -2
  59. package/dist/data-display/user.cjs +1 -1
  60. package/dist/data-display/user.mjs +1 -1
  61. package/dist/{date-BQ0c19uk.mjs → date-CFgc7pK3.mjs} +1 -1
  62. package/dist/{date-BQ0c19uk.mjs.map → date-CFgc7pK3.mjs.map} +1 -1
  63. package/dist/dialog-D1sWnn6n.cjs +2 -0
  64. package/dist/dialog-D1sWnn6n.cjs.map +1 -0
  65. package/dist/{dialog-CxPqgAES.d.cts → dialog-DolY0CYG.d.mts} +12 -12
  66. package/dist/dialog-EGFZeITu.mjs +2 -0
  67. package/dist/dialog-EGFZeITu.mjs.map +1 -0
  68. package/dist/{dialog-B8CvBgRs.d.mts → dialog-aguemTG1.d.cts} +12 -12
  69. package/dist/dialogs/confirm-dialog.mjs +1 -1
  70. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  71. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +26 -26
  72. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +26 -26
  73. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  74. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  75. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  76. package/dist/dialogs/error-dialog.mjs +1 -1
  77. package/dist/dialogs/loading-dialog.cjs +1 -1
  78. package/dist/dialogs/loading-dialog.mjs +1 -1
  79. package/dist/{dist-DdGJ50nX.mjs → dist-BQGL-YKY.mjs} +1 -1
  80. package/dist/{dist-DdGJ50nX.mjs.map → dist-BQGL-YKY.mjs.map} +1 -1
  81. package/dist/{drawer-C3o6IEeq.cjs → drawer-B6C8-Ndu.cjs} +1 -1
  82. package/dist/{drawer-C3o6IEeq.cjs.map → drawer-B6C8-Ndu.cjs.map} +1 -1
  83. package/dist/{drawer-j9wcVE50.mjs → drawer-CMD7JWH8.mjs} +1 -1
  84. package/dist/{drawer-j9wcVE50.mjs.map → drawer-CMD7JWH8.mjs.map} +1 -1
  85. package/dist/{dropdown-menu-DMwvWoxe.cjs → dropdown-menu-Bz7oMQ36.cjs} +1 -1
  86. package/dist/{dropdown-menu-DMwvWoxe.cjs.map → dropdown-menu-Bz7oMQ36.cjs.map} +1 -1
  87. package/dist/{dropdown-menu-B_uBxY94.mjs → dropdown-menu-C6tRSumY.mjs} +1 -1
  88. package/dist/{dropdown-menu-B_uBxY94.mjs.map → dropdown-menu-C6tRSumY.mjs.map} +1 -1
  89. package/dist/features/descriptions/index.cjs +1 -1
  90. package/dist/features/descriptions/index.d.cts +6 -6
  91. package/dist/features/descriptions/index.d.mts +4 -4
  92. package/dist/features/descriptions/index.mjs +1 -1
  93. package/dist/features/search-modal/index.cjs +1 -1
  94. package/dist/features/search-modal/index.d.mts +2 -2
  95. package/dist/features/search-modal/index.mjs +1 -1
  96. package/dist/features/tables/index.cjs +1 -1
  97. package/dist/features/tables/index.d.cts +2 -2
  98. package/dist/features/tables/index.d.mts +3 -3
  99. package/dist/features/tables/index.mjs +1 -1
  100. package/dist/features/tanstack-form/index.cjs +1 -1
  101. package/dist/features/tanstack-form/index.d.cts +1 -1
  102. package/dist/features/tanstack-form/index.d.mts +1 -1
  103. package/dist/features/tanstack-form/index.mjs +1 -1
  104. package/dist/features/text-editor/index.cjs +1 -1
  105. package/dist/features/text-editor/index.d.cts +1 -1
  106. package/dist/features/text-editor/index.d.mts +1 -1
  107. package/dist/features/text-editor/index.mjs +1 -1
  108. package/dist/{field-B8RhxRCu.mjs → field-DhgAIueI.mjs} +2 -2
  109. package/dist/{field-B8RhxRCu.mjs.map → field-DhgAIueI.mjs.map} +1 -1
  110. package/dist/{field-BxFpcOV1.cjs → field-pfL7RWcN.cjs} +2 -2
  111. package/dist/{field-BxFpcOV1.cjs.map → field-pfL7RWcN.cjs.map} +1 -1
  112. package/dist/{flex-Bl5yzx6g.mjs → flex-BAcvp4lB.mjs} +1 -1
  113. package/dist/{flex-Bl5yzx6g.mjs.map → flex-BAcvp4lB.mjs.map} +1 -1
  114. package/dist/{heading-B1t9baTw.mjs → heading-woRh-IC7.mjs} +1 -1
  115. package/dist/{heading-B1t9baTw.mjs.map → heading-woRh-IC7.mjs.map} +1 -1
  116. package/dist/{image-C4gMBmyV.mjs → image-D2U1SBw5.mjs} +2 -2
  117. package/dist/{image-C4gMBmyV.mjs.map → image-D2U1SBw5.mjs.map} +1 -1
  118. package/dist/{index-3rfnp-Kj.d.mts → index-BhnqroF7.d.cts} +91 -42
  119. package/dist/{index-cSJtvD9W.d.mts → index-BqGaIQNn.d.mts} +6 -6
  120. package/dist/{index-B0tpV7YG.d.cts → index-C45OSg1W.d.mts} +91 -42
  121. package/dist/{index-BQEmU6gw.d.cts → index-CgEghb4N.d.cts} +380 -380
  122. package/dist/{index-CE6WacAh.d.mts → index-DfvBLw2O.d.mts} +380 -380
  123. package/dist/{index-DMUr1T2A.d.cts → index-DwS7a4RL.d.cts} +6 -6
  124. package/dist/index.cjs +1 -1
  125. package/dist/index.d.cts +9 -10
  126. package/dist/index.d.mts +9 -10
  127. package/dist/index.mjs +1 -1
  128. package/dist/{input-CKFQdvqY.mjs → input-5gk-Jv1y.mjs} +1 -1
  129. package/dist/{input-CKFQdvqY.mjs.map → input-5gk-Jv1y.mjs.map} +1 -1
  130. package/dist/{input-1ceJxxFI.cjs → input-BvzsfAUc.cjs} +1 -1
  131. package/dist/{input-1ceJxxFI.cjs.map → input-BvzsfAUc.cjs.map} +1 -1
  132. package/dist/{input-BkbJ_jDH.d.mts → input-CZrWdm_Y.d.cts} +6 -6
  133. package/dist/{input-DgwlkE9s.d.cts → input-DcbOSbQr.d.mts} +6 -6
  134. package/dist/{label-CE2m0U_j.mjs → label-D9uNQ9b_.mjs} +1 -1
  135. package/dist/{label-CE2m0U_j.mjs.map → label-D9uNQ9b_.mjs.map} +1 -1
  136. package/dist/{label-BHbqbBtO.cjs → label-eIyGIRyw.cjs} +1 -1
  137. package/dist/{label-BHbqbBtO.cjs.map → label-eIyGIRyw.cjs.map} +1 -1
  138. package/dist/layouts/cms-layout/index.cjs +1 -1
  139. package/dist/layouts/cms-layout/index.mjs +1 -1
  140. package/dist/layouts/flex.d.cts +8 -8
  141. package/dist/layouts/flex.d.mts +8 -8
  142. package/dist/layouts/flex.mjs +1 -1
  143. package/dist/layouts/payment-layout/index.cjs +1 -1
  144. package/dist/layouts/payment-layout/index.mjs +1 -1
  145. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  146. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  147. package/dist/pages/FeatureDeveloping.mjs +1 -1
  148. package/dist/pages/FeatureFixing.d.cts +2 -2
  149. package/dist/pages/FeatureFixing.d.mts +2 -2
  150. package/dist/pages/FeatureFixing.mjs +1 -1
  151. package/dist/pages/LoginPage.cjs +1 -1
  152. package/dist/pages/LoginPage.d.cts +2 -2
  153. package/dist/pages/LoginPage.d.mts +2 -2
  154. package/dist/pages/LoginPage.mjs +1 -1
  155. package/dist/pages/NotAuthorized.d.cts +2 -2
  156. package/dist/pages/NotAuthorized.d.mts +2 -2
  157. package/dist/pages/NotAuthorized.mjs +1 -1
  158. package/dist/pages/NotFound.d.cts +2 -2
  159. package/dist/pages/NotFound.d.mts +2 -2
  160. package/dist/pages/NotFound.mjs +1 -1
  161. package/dist/pages/RegisterPage.cjs +1 -1
  162. package/dist/pages/RegisterPage.d.cts +2 -2
  163. package/dist/pages/RegisterPage.d.mts +2 -2
  164. package/dist/pages/RegisterPage.mjs +1 -1
  165. package/dist/pages/VerifyEmailPage.cjs +1 -1
  166. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  167. package/dist/pages/VerifyEmailPage.d.mts +2 -2
  168. package/dist/pages/VerifyEmailPage.mjs +1 -1
  169. package/dist/{paragraph-J_QbLq9_.mjs → paragraph-CjstaJFj.mjs} +1 -1
  170. package/dist/{paragraph-J_QbLq9_.mjs.map → paragraph-CjstaJFj.mjs.map} +1 -1
  171. package/dist/{payment-layout-RldJzRGP.mjs → payment-layout-_ZM4uBy_.mjs} +2 -2
  172. package/dist/{payment-layout-RldJzRGP.mjs.map → payment-layout-_ZM4uBy_.mjs.map} +1 -1
  173. package/dist/{payment-layout-RVPi4-1C.cjs → payment-layout-fsYTkw3r.cjs} +2 -2
  174. package/dist/{payment-layout-RVPi4-1C.cjs.map → payment-layout-fsYTkw3r.cjs.map} +1 -1
  175. package/dist/{popover-BCzVvfnV.mjs → popover-DwgdOX8a.mjs} +2 -2
  176. package/dist/{popover-BCzVvfnV.mjs.map → popover-DwgdOX8a.mjs.map} +1 -1
  177. package/dist/{popover-Bnrgg4do.cjs → popover-fsTCOb6a.cjs} +2 -2
  178. package/dist/{popover-Bnrgg4do.cjs.map → popover-fsTCOb6a.cjs.map} +1 -1
  179. package/dist/{progress-BXWPPNt5.cjs → progress-CDYA2V-W.cjs} +1 -1
  180. package/dist/{progress-BXWPPNt5.cjs.map → progress-CDYA2V-W.cjs.map} +1 -1
  181. package/dist/{progress-BcEEbgJJ.mjs → progress-DCBKnTx0.mjs} +1 -1
  182. package/dist/{progress-BcEEbgJJ.mjs.map → progress-DCBKnTx0.mjs.map} +1 -1
  183. package/dist/{radio-group-Bv6w2woK.cjs → radio-group-B-M599Ys.cjs} +1 -1
  184. package/dist/{radio-group-Bv6w2woK.cjs.map → radio-group-B-M599Ys.cjs.map} +1 -1
  185. package/dist/{radio-group-KR6Ck-B9.mjs → radio-group-Y9bhdr55.mjs} +1 -1
  186. package/dist/{radio-group-KR6Ck-B9.mjs.map → radio-group-Y9bhdr55.mjs.map} +1 -1
  187. package/dist/{resizable-C7uLlTGB.cjs → resizable-DATSh0Du.cjs} +1 -1
  188. package/dist/{resizable-C7uLlTGB.cjs.map → resizable-DATSh0Du.cjs.map} +1 -1
  189. package/dist/{resizable-em2svgMz.mjs → resizable-DP1BQAF_.mjs} +1 -1
  190. package/dist/{resizable-em2svgMz.mjs.map → resizable-DP1BQAF_.mjs.map} +1 -1
  191. package/dist/{search-modal-zmavzZRx.cjs → search-modal-CYRJEDE-.cjs} +2 -2
  192. package/dist/{search-modal-zmavzZRx.cjs.map → search-modal-CYRJEDE-.cjs.map} +1 -1
  193. package/dist/{search-modal-DyOsqK-4.mjs → search-modal-DWu08xkE.mjs} +2 -2
  194. package/dist/{search-modal-DyOsqK-4.mjs.map → search-modal-DWu08xkE.mjs.map} +1 -1
  195. package/dist/{select-C2Ro2wmj.mjs → select-BAlA65tZ.mjs} +1 -1
  196. package/dist/{select-C2Ro2wmj.mjs.map → select-BAlA65tZ.mjs.map} +1 -1
  197. package/dist/{select-DHiTqZeX.cjs → select-Cib2aiw5.cjs} +1 -1
  198. package/dist/{select-DHiTqZeX.cjs.map → select-Cib2aiw5.cjs.map} +1 -1
  199. package/dist/{separator-yTKDuMWb.mjs → separator-C6s-YvlT.mjs} +1 -1
  200. package/dist/{separator-yTKDuMWb.mjs.map → separator-C6s-YvlT.mjs.map} +1 -1
  201. package/dist/{separator-jytY1CPq.cjs → separator-CBup_ah1.cjs} +1 -1
  202. package/dist/{separator-jytY1CPq.cjs.map → separator-CBup_ah1.cjs.map} +1 -1
  203. package/dist/{sheet-DDBCHwn6.mjs → sheet-Cj8hoftE.mjs} +1 -1
  204. package/dist/{sheet-DDBCHwn6.mjs.map → sheet-Cj8hoftE.mjs.map} +1 -1
  205. package/dist/{sheet-DuMrjidC.cjs → sheet-DAjZ-Q6Q.cjs} +1 -1
  206. package/dist/{sheet-DuMrjidC.cjs.map → sheet-DAjZ-Q6Q.cjs.map} +1 -1
  207. package/dist/{sidebar-BXrGXVxx.cjs → sidebar-Drasn0Bx.cjs} +2 -2
  208. package/dist/{sidebar-BXrGXVxx.cjs.map → sidebar-Drasn0Bx.cjs.map} +1 -1
  209. package/dist/{sidebar-De1RZMAG.mjs → sidebar-RcmDh50_.mjs} +2 -2
  210. package/dist/{sidebar-De1RZMAG.mjs.map → sidebar-RcmDh50_.mjs.map} +1 -1
  211. package/dist/{skeleton-Czl96pWA.mjs → skeleton-DupQ91XW.mjs} +1 -1
  212. package/dist/{skeleton-Czl96pWA.mjs.map → skeleton-DupQ91XW.mjs.map} +1 -1
  213. package/dist/{spinner-CWUvnJQw.mjs → spinner-BCnPYF1H.mjs} +1 -1
  214. package/dist/{spinner-CWUvnJQw.mjs.map → spinner-BCnPYF1H.mjs.map} +1 -1
  215. package/dist/{spinner-DgusnQMw.cjs → spinner-Bdta7BMp.cjs} +1 -1
  216. package/dist/{spinner-DgusnQMw.cjs.map → spinner-Bdta7BMp.cjs.map} +1 -1
  217. package/dist/statistic-Cm4nbkjQ.mjs +2 -0
  218. package/dist/statistic-Cm4nbkjQ.mjs.map +1 -0
  219. package/dist/statistic-DDDm5Om1.cjs +2 -0
  220. package/dist/statistic-DDDm5Om1.cjs.map +1 -0
  221. package/dist/{switch-DHsjxnFP.mjs → switch-BP7EPatj.mjs} +1 -1
  222. package/dist/{switch-DHsjxnFP.mjs.map → switch-BP7EPatj.mjs.map} +1 -1
  223. package/dist/{switch-0-9Zt33o.cjs → switch-Dbc77c_D.cjs} +1 -1
  224. package/dist/{switch-0-9Zt33o.cjs.map → switch-Dbc77c_D.cjs.map} +1 -1
  225. package/dist/tables-B3Ald6An.cjs +4 -0
  226. package/dist/tables-B3Ald6An.cjs.map +1 -0
  227. package/dist/tables-C3asiSD4.mjs +4 -0
  228. package/dist/tables-C3asiSD4.mjs.map +1 -0
  229. package/dist/{tanstack-form-Be6aIYAW.mjs → tanstack-form-BFX2-Tlo.mjs} +2 -2
  230. package/dist/{tanstack-form-Be6aIYAW.mjs.map → tanstack-form-BFX2-Tlo.mjs.map} +1 -1
  231. package/dist/{tanstack-form-CDgTokmf.cjs → tanstack-form-dHOZ76Jw.cjs} +2 -2
  232. package/dist/{tanstack-form-CDgTokmf.cjs.map → tanstack-form-dHOZ76Jw.cjs.map} +1 -1
  233. package/dist/{text-editor-CE_GkI7o.cjs → text-editor-BJBM0T1y.cjs} +1 -1
  234. package/dist/{text-editor-CE_GkI7o.cjs.map → text-editor-BJBM0T1y.cjs.map} +1 -1
  235. package/dist/{text-editor-CqC44BkO.mjs → text-editor-CbBJNn-4.mjs} +1 -1
  236. package/dist/{text-editor-CqC44BkO.mjs.map → text-editor-CbBJNn-4.mjs.map} +1 -1
  237. package/dist/{textarea-D0-Gltw6.mjs → textarea-7HDXcaK9.mjs} +1 -1
  238. package/dist/{textarea-D0-Gltw6.mjs.map → textarea-7HDXcaK9.mjs.map} +1 -1
  239. package/dist/{textarea-BB2WynyM.cjs → textarea-Byo8E8oi.cjs} +1 -1
  240. package/dist/{textarea-BB2WynyM.cjs.map → textarea-Byo8E8oi.cjs.map} +1 -1
  241. package/dist/{tooltip-BMdzWaaH.mjs → tooltip-BfBJRYpc.mjs} +1 -1
  242. package/dist/{tooltip-BMdzWaaH.mjs.map → tooltip-BfBJRYpc.mjs.map} +1 -1
  243. package/dist/{types-CuAlMviO.mjs → types-CFXgrpTm.mjs} +1 -1
  244. package/dist/{types-CuAlMviO.mjs.map → types-CFXgrpTm.mjs.map} +1 -1
  245. package/dist/{types-B2PQbMJL.d.mts → types-Cc_mLRAn.d.cts} +1 -1
  246. package/dist/{types-CLkAmCre.d.cts → types-YLu40dXY.d.mts} +1 -1
  247. package/dist/typography/paragraph.d.cts +5 -5
  248. package/dist/typography/paragraph.d.mts +3 -3
  249. package/dist/typography/paragraph.mjs +1 -1
  250. package/dist/ui/alert-dialog.d.cts +12 -12
  251. package/dist/ui/alert-dialog.d.mts +12 -12
  252. package/dist/ui/alert-dialog.mjs +1 -1
  253. package/dist/ui/alert.cjs +1 -1
  254. package/dist/ui/alert.d.cts +1 -1
  255. package/dist/ui/alert.d.mts +1 -1
  256. package/dist/ui/alert.mjs +1 -1
  257. package/dist/ui/aspect-ratio.d.cts +2 -2
  258. package/dist/ui/aspect-ratio.d.mts +2 -2
  259. package/dist/ui/avatar.cjs +1 -1
  260. package/dist/ui/avatar.d.cts +4 -4
  261. package/dist/ui/avatar.d.mts +4 -4
  262. package/dist/ui/avatar.mjs +1 -1
  263. package/dist/ui/badge.d.cts +1 -1
  264. package/dist/ui/badge.d.mts +1 -1
  265. package/dist/ui/badge.mjs +1 -1
  266. package/dist/ui/breadcrumb.d.cts +8 -8
  267. package/dist/ui/breadcrumb.d.mts +8 -8
  268. package/dist/ui/breadcrumb.mjs +1 -1
  269. package/dist/ui/button-group.cjs +1 -1
  270. package/dist/ui/button-group.d.cts +7 -7
  271. package/dist/ui/button-group.d.mts +7 -7
  272. package/dist/ui/button-group.mjs +1 -1
  273. package/dist/ui/button.d.cts +1 -1
  274. package/dist/ui/button.d.mts +1 -1
  275. package/dist/ui/button.mjs +1 -1
  276. package/dist/ui/buttons/add-new.mjs +1 -1
  277. package/dist/ui/buttons/edit.mjs +1 -1
  278. package/dist/ui/buttons/refresh.mjs +1 -1
  279. package/dist/ui/buttons/trash.mjs +1 -1
  280. package/dist/ui/buttons/upload-image.mjs +1 -1
  281. package/dist/ui/calendar.cjs +1 -1
  282. package/dist/ui/calendar.d.cts +4 -4
  283. package/dist/ui/calendar.d.mts +4 -4
  284. package/dist/ui/calendar.mjs +1 -1
  285. package/dist/ui/card.d.cts +8 -8
  286. package/dist/ui/card.d.mts +8 -8
  287. package/dist/ui/card.mjs +1 -1
  288. package/dist/ui/carousel.d.cts +7 -7
  289. package/dist/ui/carousel.d.mts +7 -7
  290. package/dist/ui/carousel.mjs +1 -1
  291. package/dist/ui/checkbox.cjs +1 -1
  292. package/dist/ui/checkbox.d.cts +2 -2
  293. package/dist/ui/checkbox.d.mts +2 -2
  294. package/dist/ui/checkbox.mjs +1 -1
  295. package/dist/ui/collapsible.d.cts +4 -4
  296. package/dist/ui/collapsible.d.mts +4 -4
  297. package/dist/ui/command.cjs +1 -1
  298. package/dist/ui/command.d.cts +11 -11
  299. package/dist/ui/command.d.mts +11 -11
  300. package/dist/ui/command.mjs +1 -1
  301. package/dist/ui/context-menu.d.cts +16 -16
  302. package/dist/ui/context-menu.d.mts +16 -16
  303. package/dist/ui/dialog.cjs +1 -1
  304. package/dist/ui/dialog.d.cts +1 -1
  305. package/dist/ui/dialog.d.mts +1 -1
  306. package/dist/ui/dialog.mjs +1 -1
  307. package/dist/ui/drawer.cjs +1 -1
  308. package/dist/ui/drawer.d.cts +11 -11
  309. package/dist/ui/drawer.d.mts +11 -11
  310. package/dist/ui/drawer.mjs +1 -1
  311. package/dist/ui/dropdown-menu.cjs +1 -1
  312. package/dist/ui/dropdown-menu.d.cts +16 -16
  313. package/dist/ui/dropdown-menu.d.mts +16 -16
  314. package/dist/ui/dropdown-menu.mjs +1 -1
  315. package/dist/ui/empty.d.cts +9 -9
  316. package/dist/ui/empty.d.mts +9 -9
  317. package/dist/ui/field.cjs +1 -1
  318. package/dist/ui/field.d.cts +24 -24
  319. package/dist/ui/field.d.mts +24 -24
  320. package/dist/ui/field.mjs +1 -1
  321. package/dist/ui/file-uploader.cjs +1 -1
  322. package/dist/ui/file-uploader.d.cts +2 -2
  323. package/dist/ui/file-uploader.d.mts +2 -2
  324. package/dist/ui/file-uploader.mjs +1 -1
  325. package/dist/ui/form.cjs +1 -1
  326. package/dist/ui/form.d.cts +10 -10
  327. package/dist/ui/form.d.mts +10 -10
  328. package/dist/ui/form.mjs +1 -1
  329. package/dist/ui/hover-card.d.cts +4 -4
  330. package/dist/ui/hover-card.d.mts +4 -4
  331. package/dist/ui/image.mjs +1 -1
  332. package/dist/ui/input-otp.d.cts +5 -5
  333. package/dist/ui/input-otp.d.mts +5 -5
  334. package/dist/ui/input.cjs +1 -1
  335. package/dist/ui/input.d.cts +1 -1
  336. package/dist/ui/input.d.mts +1 -1
  337. package/dist/ui/input.mjs +1 -1
  338. package/dist/ui/inputs/search-input.cjs +1 -1
  339. package/dist/ui/inputs/search-input.d.cts +3 -3
  340. package/dist/ui/inputs/search-input.d.mts +3 -3
  341. package/dist/ui/inputs/search-input.mjs +1 -1
  342. package/dist/ui/item.cjs +1 -1
  343. package/dist/ui/item.d.cts +16 -16
  344. package/dist/ui/item.d.mts +16 -16
  345. package/dist/ui/item.mjs +1 -1
  346. package/dist/ui/label.cjs +1 -1
  347. package/dist/ui/label.d.cts +2 -2
  348. package/dist/ui/label.d.mts +2 -2
  349. package/dist/ui/label.mjs +1 -1
  350. package/dist/ui/menubar.d.cts +17 -17
  351. package/dist/ui/menubar.d.mts +17 -17
  352. package/dist/ui/multi-select.cjs +1 -1
  353. package/dist/ui/multi-select.d.cts +2 -2
  354. package/dist/ui/multi-select.d.mts +3 -3
  355. package/dist/ui/multi-select.mjs +1 -1
  356. package/dist/ui/navigation-menu.d.cts +11 -11
  357. package/dist/ui/navigation-menu.d.mts +11 -11
  358. package/dist/ui/pagination.d.cts +9 -9
  359. package/dist/ui/pagination.d.mts +9 -9
  360. package/dist/ui/pagination.mjs +1 -1
  361. package/dist/ui/popover.cjs +1 -1
  362. package/dist/ui/popover.d.cts +6 -6
  363. package/dist/ui/popover.d.mts +6 -6
  364. package/dist/ui/popover.mjs +1 -1
  365. package/dist/ui/progress.cjs +1 -1
  366. package/dist/ui/progress.d.cts +2 -2
  367. package/dist/ui/progress.d.mts +2 -2
  368. package/dist/ui/progress.mjs +1 -1
  369. package/dist/ui/radio-group.cjs +1 -1
  370. package/dist/ui/radio-group.d.cts +3 -3
  371. package/dist/ui/radio-group.d.mts +3 -3
  372. package/dist/ui/radio-group.mjs +1 -1
  373. package/dist/ui/resizable.cjs +1 -1
  374. package/dist/ui/resizable.d.cts +9 -9
  375. package/dist/ui/resizable.d.mts +9 -9
  376. package/dist/ui/resizable.mjs +1 -1
  377. package/dist/ui/scroll-area.d.cts +5 -5
  378. package/dist/ui/scroll-area.d.mts +5 -5
  379. package/dist/ui/select.cjs +1 -1
  380. package/dist/ui/select.d.cts +9 -9
  381. package/dist/ui/select.d.mts +9 -9
  382. package/dist/ui/select.mjs +1 -1
  383. package/dist/ui/separator.cjs +1 -1
  384. package/dist/ui/separator.d.cts +2 -2
  385. package/dist/ui/separator.d.mts +2 -2
  386. package/dist/ui/separator.mjs +1 -1
  387. package/dist/ui/sheet.cjs +1 -1
  388. package/dist/ui/sheet.d.cts +9 -9
  389. package/dist/ui/sheet.d.mts +9 -9
  390. package/dist/ui/sheet.mjs +1 -1
  391. package/dist/ui/skeleton.d.cts +2 -2
  392. package/dist/ui/skeleton.d.mts +2 -2
  393. package/dist/ui/skeleton.mjs +1 -1
  394. package/dist/ui/slider.d.cts +2 -2
  395. package/dist/ui/slider.d.mts +2 -2
  396. package/dist/ui/sonner.d.cts +2 -2
  397. package/dist/ui/sonner.d.mts +2 -2
  398. package/dist/ui/spinner.cjs +1 -1
  399. package/dist/ui/spinner.d.cts +2 -2
  400. package/dist/ui/spinner.d.mts +2 -2
  401. package/dist/ui/spinner.mjs +1 -1
  402. package/dist/ui/switch.cjs +1 -1
  403. package/dist/ui/switch.d.cts +2 -2
  404. package/dist/ui/switch.d.mts +2 -2
  405. package/dist/ui/switch.mjs +1 -1
  406. package/dist/ui/table.d.cts +17 -17
  407. package/dist/ui/table.d.mts +17 -17
  408. package/dist/ui/tabs.d.cts +5 -5
  409. package/dist/ui/tabs.d.mts +5 -5
  410. package/dist/ui/textarea.cjs +1 -1
  411. package/dist/ui/textarea.d.cts +2 -2
  412. package/dist/ui/textarea.d.mts +2 -2
  413. package/dist/ui/textarea.mjs +1 -1
  414. package/dist/ui/toggle-group.d.cts +3 -3
  415. package/dist/ui/toggle-group.d.mts +3 -3
  416. package/dist/ui/toggle.d.cts +4 -4
  417. package/dist/ui/toggle.d.mts +4 -4
  418. package/dist/ui/tooltip.d.cts +5 -5
  419. package/dist/ui/tooltip.d.mts +5 -5
  420. package/dist/ui/tooltip.mjs +1 -1
  421. package/dist/{user-DexjSvGZ.mjs → user-D8Skw8dI.mjs} +2 -2
  422. package/dist/{user-DexjSvGZ.mjs.map → user-D8Skw8dI.mjs.map} +1 -1
  423. package/dist/{user-CQY0YnAc.cjs → user-Dns1BKaT.cjs} +2 -2
  424. package/dist/{user-CQY0YnAc.cjs.map → user-Dns1BKaT.cjs.map} +1 -1
  425. package/package.json +1 -5
  426. package/dist/data-display/statistic.cjs.map +0 -1
  427. package/dist/data-display/statistic.mjs.map +0 -1
  428. package/dist/dialog-DEnyBH2X.cjs +0 -2
  429. package/dist/dialog-DEnyBH2X.cjs.map +0 -1
  430. package/dist/dialog-jqiIqxlm.mjs +0 -2
  431. package/dist/dialog-jqiIqxlm.mjs.map +0 -1
  432. package/dist/tables-BQ-QiA1V.mjs +0 -4
  433. package/dist/tables-BQ-QiA1V.mjs.map +0 -1
  434. package/dist/tables-LRWPOv2a.cjs +0 -4
  435. package/dist/tables-LRWPOv2a.cjs.map +0 -1
  436. package/dist/ui/sidebar.cjs +0 -2
  437. package/dist/ui/sidebar.cjs.map +0 -1
  438. package/dist/ui/sidebar.d.cts +0 -264
  439. package/dist/ui/sidebar.d.mts +0 -264
  440. package/dist/ui/sidebar.mjs +0 -2
  441. package/dist/ui/sidebar.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import * as react231 from "react";
1
+ import * as react295 from "react";
2
2
  import { Tooltip as Tooltip$1 } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/tooltip.d.ts
@@ -19,7 +19,7 @@ import { Tooltip as Tooltip$1 } from "radix-ui";
19
19
  declare function TooltipProvider({
20
20
  delayDuration,
21
21
  ...props
22
- }: React.ComponentProps<typeof Tooltip$1.Provider>): react231.JSX.Element;
22
+ }: React.ComponentProps<typeof Tooltip$1.Provider>): react295.JSX.Element;
23
23
  /**
24
24
  * Floating label that reveals supplementary text when the user hovers or focuses its trigger element.
25
25
  *
@@ -38,18 +38,18 @@ declare function TooltipProvider({
38
38
  */
39
39
  declare function Tooltip({
40
40
  ...props
41
- }: React.ComponentProps<typeof Tooltip$1.Root>): react231.JSX.Element;
41
+ }: React.ComponentProps<typeof Tooltip$1.Root>): react295.JSX.Element;
42
42
  /** Element that opens the tooltip on hover/focus; use `asChild` to forward props to a custom child element. */
43
43
  declare function TooltipTrigger({
44
44
  ...props
45
- }: React.ComponentProps<typeof Tooltip$1.Trigger>): react231.JSX.Element;
45
+ }: React.ComponentProps<typeof Tooltip$1.Trigger>): react295.JSX.Element;
46
46
  /** Floating panel rendered in a portal that displays the tooltip text with a directional arrow. */
47
47
  declare function TooltipContent({
48
48
  className,
49
49
  sideOffset,
50
50
  children,
51
51
  ...props
52
- }: React.ComponentProps<typeof Tooltip$1.Content>): react231.JSX.Element;
52
+ }: React.ComponentProps<typeof Tooltip$1.Content>): react295.JSX.Element;
53
53
  //#endregion
54
54
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
55
55
  //# sourceMappingURL=tooltip.d.mts.map
@@ -1 +1 @@
1
- "use client";import{i as e,n as t,r as n,t as r}from"../tooltip-BMdzWaaH.mjs";export{r as Tooltip,t as TooltipContent,n as TooltipProvider,e as TooltipTrigger};
1
+ "use client";import{i as e,n as t,r as n,t as r}from"../tooltip-BfBJRYpc.mjs";export{r as Tooltip,t as TooltipContent,n as TooltipProvider,e as TooltipTrigger};
@@ -1,2 +1,2 @@
1
- import{t as e}from"./paragraph-J_QbLq9_.mjs";import{t}from"./flex-Bl5yzx6g.mjs";import{n,t as r}from"./avatar-CK1R4r0j.mjs";import{UserRoundIcon as i}from"lucide-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{colorHashLight as s}from"@customafk/react-toolkit/color-hash";const c=({uuid:c,username:l,email:u})=>o(t,{"data-slot":`user-display`,wrap:!1,gap:`sm`,padding:`none`,children:[a(r,{className:`size-10 shadow-card`,children:a(n,{style:{backgroundColor:s.hex(c)},children:a(i,{size:28,className:`text-white`})})}),o(t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[a(e,{className:`text-sm font-medium text-text-positive`,children:l}),a(e,{variant:`sm`,className:`mt-0! text-xs text-text-positive-weak`,children:u})]})]});export{c as t};
2
- //# sourceMappingURL=user-DexjSvGZ.mjs.map
1
+ import{t as e}from"./paragraph-CjstaJFj.mjs";import{t}from"./flex-BAcvp4lB.mjs";import{n,t as r}from"./avatar-m1LjDIil.mjs";import{UserRoundIcon as i}from"lucide-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{colorHashLight as s}from"@customafk/react-toolkit/color-hash";const c=({uuid:c,username:l,email:u})=>o(t,{"data-slot":`user-display`,wrap:!1,gap:`sm`,padding:`none`,children:[a(r,{className:`size-10 shadow-card`,children:a(n,{style:{backgroundColor:s.hex(c)},children:a(i,{size:28,className:`text-white`})})}),o(t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[a(e,{className:`text-sm font-medium text-text-positive`,children:l}),a(e,{variant:`sm`,className:`mt-0! text-xs text-text-positive-weak`,children:u})]})]});export{c as t};
2
+ //# sourceMappingURL=user-D8Skw8dI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-DexjSvGZ.mjs","names":["UserDataDisplay: React.FC<UserDataDisplayProps>"],"sources":["../packages/components/data-display/user.tsx"],"sourcesContent":["'use client';\n\nimport { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Flex } from '../layouts/flex';\nimport { Paragraph } from '../typography/paragraph';\nimport { Avatar, AvatarFallback } from '../ui/avatar';\n\ntype UserDataDisplayProps = {\n /** Unique identifier used to deterministically generate the avatar background colour. */\n uuid: string;\n /** Display name rendered as the primary line of the user card. */\n username: string;\n /** Email address rendered as the secondary, muted line below the username. */\n email: string;\n};\n\n/**\n * Displays a user identity card with a colour-hashed avatar, username, and email address.\n *\n * @example\n * ```tsx\n * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';\n *\n * <UserDataDisplay uuid=\"abc-123\" username=\"Nguyễn Văn An\" email=\"an@example.com\" />\n * ```\n */\nexport const UserDataDisplay: React.FC<UserDataDisplayProps> = ({ uuid, username, email }) => {\n return (\n <Flex data-slot=\"user-display\" wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"text-sm font-medium text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-xs text-text-positive-weak\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"gSA6BA,MAAaA,GAAmD,CAAE,OAAM,WAAU,WAE9E,EAAC,EAAA,CAAK,YAAU,eAAe,KAAM,GAAO,IAAI,KAAK,QAAQ,iBAC3D,EAAC,EAAA,CAAO,UAAU,+BAChB,EAAC,EAAA,CAAe,MAAO,CAAE,gBAAiB,EAAe,IAAI,EAAK,CAAE,UAClE,EAAC,EAAA,CAAc,KAAM,GAAI,UAAU,cAAe,EACnC,EACV,CACT,EAAC,EAAA,CAAK,SAAA,GAAS,QAAQ,OAAO,IAAI,OAAO,MAAM,kBAC7C,EAAC,EAAA,CAAU,UAAU,kDAA0C,GAAqB,CACpF,EAAC,EAAA,CAAU,QAAQ,KAAK,UAAU,iDAC/B,GACS,CAAA,EACP,CAAA,EACF"}
1
+ {"version":3,"file":"user-D8Skw8dI.mjs","names":["UserDataDisplay: React.FC<UserDataDisplayProps>"],"sources":["../packages/components/data-display/user.tsx"],"sourcesContent":["'use client';\n\nimport { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Flex } from '../layouts/flex';\nimport { Paragraph } from '../typography/paragraph';\nimport { Avatar, AvatarFallback } from '../ui/avatar';\n\ntype UserDataDisplayProps = {\n /** Unique identifier used to deterministically generate the avatar background colour. */\n uuid: string;\n /** Display name rendered as the primary line of the user card. */\n username: string;\n /** Email address rendered as the secondary, muted line below the username. */\n email: string;\n};\n\n/**\n * Displays a user identity card with a colour-hashed avatar, username, and email address.\n *\n * @example\n * ```tsx\n * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';\n *\n * <UserDataDisplay uuid=\"abc-123\" username=\"Nguyễn Văn An\" email=\"an@example.com\" />\n * ```\n */\nexport const UserDataDisplay: React.FC<UserDataDisplayProps> = ({ uuid, username, email }) => {\n return (\n <Flex data-slot=\"user-display\" wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"text-sm font-medium text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-xs text-text-positive-weak\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"gSA6BA,MAAaA,GAAmD,CAAE,OAAM,WAAU,WAE9E,EAAC,EAAA,CAAK,YAAU,eAAe,KAAM,GAAO,IAAI,KAAK,QAAQ,iBAC3D,EAAC,EAAA,CAAO,UAAU,+BAChB,EAAC,EAAA,CAAe,MAAO,CAAE,gBAAiB,EAAe,IAAI,EAAK,CAAE,UAClE,EAAC,EAAA,CAAc,KAAM,GAAI,UAAU,cAAe,EACnC,EACV,CACT,EAAC,EAAA,CAAK,SAAA,GAAS,QAAQ,OAAO,IAAI,OAAO,MAAM,kBAC7C,EAAC,EAAA,CAAU,UAAU,kDAA0C,GAAqB,CACpF,EAAC,EAAA,CAAU,QAAQ,KAAK,UAAU,iDAC/B,GACS,CAAA,EACP,CAAA,EACF"}
@@ -1,2 +1,2 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./paragraph-D-JHj7EP.cjs`),n=require(`./flex-DYh2t8ft.cjs`),r=require(`./avatar-aVxo69zP.cjs`);let i=require(`lucide-react`),a=require(`react/jsx-runtime`),o=require(`@customafk/react-toolkit/color-hash`);const s=({uuid:e,username:s,email:c})=>(0,a.jsxs)(n.t,{"data-slot":`user-display`,wrap:!1,gap:`sm`,padding:`none`,children:[(0,a.jsx)(r.t,{className:`size-10 shadow-card`,children:(0,a.jsx)(r.n,{style:{backgroundColor:o.colorHashLight.hex(e)},children:(0,a.jsx)(i.UserRoundIcon,{size:28,className:`text-white`})})}),(0,a.jsxs)(n.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,a.jsx)(t.t,{className:`text-sm font-medium text-text-positive`,children:s}),(0,a.jsx)(t.t,{variant:`sm`,className:`mt-0! text-xs text-text-positive-weak`,children:c})]})]});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
2
- //# sourceMappingURL=user-CQY0YnAc.cjs.map
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./paragraph-D-JHj7EP.cjs`),n=require(`./flex-DYh2t8ft.cjs`),r=require(`./avatar-CqRl9dge.cjs`);let i=require(`lucide-react`),a=require(`react/jsx-runtime`),o=require(`@customafk/react-toolkit/color-hash`);const s=({uuid:e,username:s,email:c})=>(0,a.jsxs)(n.t,{"data-slot":`user-display`,wrap:!1,gap:`sm`,padding:`none`,children:[(0,a.jsx)(r.t,{className:`size-10 shadow-card`,children:(0,a.jsx)(r.n,{style:{backgroundColor:o.colorHashLight.hex(e)},children:(0,a.jsx)(i.UserRoundIcon,{size:28,className:`text-white`})})}),(0,a.jsxs)(n.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,a.jsx)(t.t,{className:`text-sm font-medium text-text-positive`,children:s}),(0,a.jsx)(t.t,{variant:`sm`,className:`mt-0! text-xs text-text-positive-weak`,children:c})]})]});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=user-Dns1BKaT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-CQY0YnAc.cjs","names":["UserDataDisplay: React.FC<UserDataDisplayProps>","Flex","Avatar","AvatarFallback","colorHashLight","UserRoundIcon","Paragraph"],"sources":["../packages/components/data-display/user.tsx"],"sourcesContent":["'use client';\n\nimport { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Flex } from '../layouts/flex';\nimport { Paragraph } from '../typography/paragraph';\nimport { Avatar, AvatarFallback } from '../ui/avatar';\n\ntype UserDataDisplayProps = {\n /** Unique identifier used to deterministically generate the avatar background colour. */\n uuid: string;\n /** Display name rendered as the primary line of the user card. */\n username: string;\n /** Email address rendered as the secondary, muted line below the username. */\n email: string;\n};\n\n/**\n * Displays a user identity card with a colour-hashed avatar, username, and email address.\n *\n * @example\n * ```tsx\n * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';\n *\n * <UserDataDisplay uuid=\"abc-123\" username=\"Nguyễn Văn An\" email=\"an@example.com\" />\n * ```\n */\nexport const UserDataDisplay: React.FC<UserDataDisplayProps> = ({ uuid, username, email }) => {\n return (\n <Flex data-slot=\"user-display\" wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"text-sm font-medium text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-xs text-text-positive-weak\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"gQA6BA,MAAaA,GAAmD,CAAE,OAAM,WAAU,YAE9E,EAAA,EAAA,MAACC,EAAAA,EAAAA,CAAK,YAAU,eAAe,KAAM,GAAO,IAAI,KAAK,QAAQ,kBAC3D,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAO,UAAU,gCAChB,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAe,MAAO,CAAE,gBAAiBC,EAAAA,eAAe,IAAI,EAAK,CAAE,WAClE,EAAA,EAAA,KAACC,EAAAA,cAAAA,CAAc,KAAM,GAAI,UAAU,cAAe,EACnC,EACV,EACT,EAAA,EAAA,MAACJ,EAAAA,EAAAA,CAAK,SAAA,GAAS,QAAQ,OAAO,IAAI,OAAO,MAAM,mBAC7C,EAAA,EAAA,KAACK,EAAAA,EAAAA,CAAU,UAAU,kDAA0C,GAAqB,EACpF,EAAA,EAAA,KAACA,EAAAA,EAAAA,CAAU,QAAQ,KAAK,UAAU,iDAC/B,GACS,CAAA,EACP,CAAA,EACF"}
1
+ {"version":3,"file":"user-Dns1BKaT.cjs","names":["UserDataDisplay: React.FC<UserDataDisplayProps>","Flex","Avatar","AvatarFallback","colorHashLight","UserRoundIcon","Paragraph"],"sources":["../packages/components/data-display/user.tsx"],"sourcesContent":["'use client';\n\nimport { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Flex } from '../layouts/flex';\nimport { Paragraph } from '../typography/paragraph';\nimport { Avatar, AvatarFallback } from '../ui/avatar';\n\ntype UserDataDisplayProps = {\n /** Unique identifier used to deterministically generate the avatar background colour. */\n uuid: string;\n /** Display name rendered as the primary line of the user card. */\n username: string;\n /** Email address rendered as the secondary, muted line below the username. */\n email: string;\n};\n\n/**\n * Displays a user identity card with a colour-hashed avatar, username, and email address.\n *\n * @example\n * ```tsx\n * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';\n *\n * <UserDataDisplay uuid=\"abc-123\" username=\"Nguyễn Văn An\" email=\"an@example.com\" />\n * ```\n */\nexport const UserDataDisplay: React.FC<UserDataDisplayProps> = ({ uuid, username, email }) => {\n return (\n <Flex data-slot=\"user-display\" wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"text-sm font-medium text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-xs text-text-positive-weak\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"gQA6BA,MAAaA,GAAmD,CAAE,OAAM,WAAU,YAE9E,EAAA,EAAA,MAACC,EAAAA,EAAAA,CAAK,YAAU,eAAe,KAAM,GAAO,IAAI,KAAK,QAAQ,kBAC3D,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAO,UAAU,gCAChB,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAe,MAAO,CAAE,gBAAiBC,EAAAA,eAAe,IAAI,EAAK,CAAE,WAClE,EAAA,EAAA,KAACC,EAAAA,cAAAA,CAAc,KAAM,GAAI,UAAU,cAAe,EACnC,EACV,EACT,EAAA,EAAA,MAACJ,EAAAA,EAAAA,CAAK,SAAA,GAAS,QAAQ,OAAO,IAAI,OAAO,MAAM,mBAC7C,EAAA,EAAA,KAACK,EAAAA,EAAAA,CAAU,UAAU,kDAA0C,GAAqB,EACpF,EAAA,EAAA,KAACA,EAAAA,EAAAA,CAAU,QAAQ,KAAK,UAAU,iDAC/B,GACS,CAAA,EACP,CAAA,EACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "description": "UI library for Lunas Enterprise",
5
5
  "type": "module",
6
6
  "author": {
@@ -364,10 +364,6 @@
364
364
  "require": "./dist/ui/sheet.cjs",
365
365
  "import": "./dist/ui/sheet.mjs"
366
366
  },
367
- "./ui/sidebar": {
368
- "require": "./dist/ui/sidebar.cjs",
369
- "import": "./dist/ui/sidebar.mjs"
370
- },
371
367
  "./ui/skeleton": {
372
368
  "require": "./dist/ui/skeleton.cjs",
373
369
  "import": "./dist/ui/skeleton.mjs"
@@ -1 +0,0 @@
1
- {"version":3,"file":"statistic.cjs","names":["options: Intl.NumberFormatOptions"],"sources":["../../packages/components/data-display/statistic.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useCallback, useMemo } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nconst statisticVariants = cva('inline-flex items-center gap-1 font-number tabular-nums transition-colors', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n },\n trend: {\n neutral: 'text-text-positive-strong',\n up: 'text-success',\n down: 'text-danger',\n },\n },\n defaultVariants: {\n size: 'lg',\n trend: 'neutral',\n },\n});\n\nexport type StatisticProps = VariantProps<typeof statisticVariants> & {\n /** Character used to separate the decimal part. Defaults to `'.'`. */\n decimalSeparator?: string;\n /** Character used to separate thousands groups. Defaults to `','`. */\n groupSeparator?: string;\n /** Optional node rendered before the numeric value (e.g. a currency symbol). */\n prefix?: React.ReactNode;\n /** Optional node rendered after the numeric value (e.g. a unit label). */\n suffix?: React.ReactNode;\n /** Number of decimal digits to display; omit to show all significant digits. */\n precision?: number;\n /** Rounding strategy applied before formatting. Defaults to `'round'`. */\n roundingMode?: 'round' | 'floor' | 'ceil';\n /** When `true`, pads the decimal part with trailing zeros up to `precision`. Defaults to `false`. */\n showTrailingZeros?: boolean;\n /** The numeric (or numeric-string) value to format and display. */\n value: number | string;\n /** Additional CSS classes applied to the wrapper element. */\n className?: string;\n /** Colour trend indicator: `'neutral'` (default), `'up'` (green), or `'down'` (red). */\n trend?: 'neutral' | 'up' | 'down';\n};\n\n/**\n * A memoised numeric display component with locale-aware formatting, optional prefix/suffix, trend colouring, and configurable rounding.\n *\n * @example\n * ```tsx\n * import { Statistic } from '@customafk/lunas-ui/data-display/statistic';\n *\n * <Statistic value={1234567.89} precision={2} prefix=\"$\" trend=\"up\" size=\"lg\" />\n * ```\n */\nexport const Statistic = memo(\n ({\n decimalSeparator = '.',\n groupSeparator = ',',\n prefix: Prefix,\n suffix: Suffix,\n precision,\n roundingMode = 'round',\n showTrailingZeros = false,\n size = 'lg',\n trend = 'neutral',\n value,\n className,\n }: StatisticProps) => {\n const applyRounding = useCallback(\n (num: number, precisionValue: number): number => {\n const multiplier = 10 ** precisionValue;\n switch (roundingMode) {\n case 'floor':\n return Math.floor(num * multiplier) / multiplier;\n case 'ceil':\n return Math.ceil(num * multiplier) / multiplier;\n default:\n return Math.round(num * multiplier) / multiplier;\n }\n },\n [roundingMode]\n );\n\n const formatOptions = useMemo((): Intl.NumberFormatOptions => {\n const options: Intl.NumberFormatOptions = {};\n if (typeof precision === 'number' && precision >= 0) {\n if (showTrailingZeros) {\n options.minimumFractionDigits = precision;\n options.maximumFractionDigits = precision;\n } else {\n options.maximumFractionDigits = precision;\n }\n }\n return options;\n }, [precision, showTrailingZeros]);\n\n const formatNumber = useCallback(\n (num: number): string => {\n let processedNum = num;\n if (typeof precision === 'number' && precision >= 0) {\n processedNum = applyRounding(num, precision);\n }\n return processedNum.toLocaleString('en-US', formatOptions);\n },\n [applyRounding, formatOptions, precision]\n );\n\n const processedValue = useMemo((): string => {\n if (typeof value === 'number') {\n if (Number.isNaN(value) || !Number.isFinite(value)) return 'N/A';\n return formatNumber(value);\n }\n if (typeof value === 'string') {\n const trimmedValue = value.trim();\n if (!trimmedValue) return 'N/A';\n const numValue = Number(trimmedValue);\n if (Number.isNaN(numValue) || !Number.isFinite(numValue)) return 'N/A';\n return formatNumber(numValue);\n }\n return 'N/A';\n }, [value, formatNumber]);\n\n const finalFormattedValue = useMemo((): string => {\n if (decimalSeparator === '.' && groupSeparator === ',') return processedValue;\n return processedValue.replace(/,/g, groupSeparator).replace(/\\./g, decimalSeparator);\n }, [processedValue, decimalSeparator, groupSeparator]);\n\n return (\n <div data-slot=\"statistic\" className={cn(statisticVariants({ size, trend }), className)}>\n {Prefix && <span data-slot=\"statistic-prefix\">{Prefix}</span>}\n <p data-slot=\"statistic-value\">{finalFormattedValue}</p>\n {Suffix && <span data-slot=\"statistic-suffix\">{Suffix}</span>}\n </div>\n );\n }\n);\nStatistic.displayName = 'Statistic';\n"],"mappings":"8LAMA,MAAM,GAAA,EAAA,EAAA,KAAwB,4EAA6E,CACzG,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,UACL,CACD,MAAO,CACL,QAAS,4BACT,GAAI,eACJ,KAAM,cACP,CACF,CACD,gBAAiB,CACf,KAAM,KACN,MAAO,UACR,CACF,CAAC,CAmCW,GAAA,EAAA,EAAA,OACV,CACC,mBAAmB,IACnB,iBAAiB,IACjB,OAAQ,EACR,OAAQ,EACR,YACA,eAAe,QACf,oBAAoB,GACpB,OAAO,KACP,QAAQ,UACR,QACA,eACoB,CACpB,IAAM,GAAA,EAAA,EAAA,cACH,EAAa,IAAmC,CAC/C,IAAM,EAAa,IAAM,EACzB,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,EACxC,IAAK,OACH,OAAO,KAAK,KAAK,EAAM,EAAW,CAAG,EACvC,QACE,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,IAG5C,CAAC,EAAa,CACf,CAEK,GAAA,EAAA,EAAA,aAAwD,CAC5D,IAAMA,EAAoC,EAAE,CAS5C,OARI,OAAO,GAAc,UAAY,GAAa,IAC5C,IACF,EAAQ,sBAAwB,GAGhC,EAAQ,sBAAwB,GAG7B,GACN,CAAC,EAAW,EAAkB,CAAC,CAE5B,GAAA,EAAA,EAAA,aACH,GAAwB,CACvB,IAAI,EAAe,EAInB,OAHI,OAAO,GAAc,UAAY,GAAa,IAChD,EAAe,EAAc,EAAK,EAAU,EAEvC,EAAa,eAAe,QAAS,EAAc,EAE5D,CAAC,EAAe,EAAe,EAAU,CAC1C,CAEK,GAAA,EAAA,EAAA,aAAuC,CAC3C,GAAI,OAAO,GAAU,SAEnB,OADI,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,SAAS,EAAM,CAAS,MACpD,EAAa,EAAM,CAE5B,GAAI,OAAO,GAAU,SAAU,CAC7B,IAAM,EAAe,EAAM,MAAM,CACjC,GAAI,CAAC,EAAc,MAAO,MAC1B,IAAM,EAAW,OAAO,EAAa,CAErC,OADI,OAAO,MAAM,EAAS,EAAI,CAAC,OAAO,SAAS,EAAS,CAAS,MAC1D,EAAa,EAAS,CAE/B,MAAO,OACN,CAAC,EAAO,EAAa,CAAC,CAEnB,GAAA,EAAA,EAAA,aACA,IAAqB,KAAO,IAAmB,IAAY,EACxD,EAAe,QAAQ,KAAM,EAAe,CAAC,QAAQ,MAAO,EAAiB,CACnF,CAAC,EAAgB,EAAkB,EAAe,CAAC,CAEtD,OACE,EAAA,EAAA,MAAC,MAAA,CAAI,YAAU,YAAY,WAAA,EAAA,EAAA,IAAc,EAAkB,CAAE,OAAM,QAAO,CAAC,CAAE,EAAU,WACpF,IAAU,EAAA,EAAA,KAAC,OAAA,CAAK,YAAU,4BAAoB,GAAc,EAC7D,EAAA,EAAA,KAAC,IAAA,CAAE,YAAU,2BAAmB,GAAwB,CACvD,IAAU,EAAA,EAAA,KAAC,OAAA,CAAK,YAAU,4BAAoB,GAAc,GACzD,EAGX,CACD,EAAU,YAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"statistic.mjs","names":["options: Intl.NumberFormatOptions"],"sources":["../../packages/components/data-display/statistic.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useCallback, useMemo } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nconst statisticVariants = cva('inline-flex items-center gap-1 font-number tabular-nums transition-colors', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n },\n trend: {\n neutral: 'text-text-positive-strong',\n up: 'text-success',\n down: 'text-danger',\n },\n },\n defaultVariants: {\n size: 'lg',\n trend: 'neutral',\n },\n});\n\nexport type StatisticProps = VariantProps<typeof statisticVariants> & {\n /** Character used to separate the decimal part. Defaults to `'.'`. */\n decimalSeparator?: string;\n /** Character used to separate thousands groups. Defaults to `','`. */\n groupSeparator?: string;\n /** Optional node rendered before the numeric value (e.g. a currency symbol). */\n prefix?: React.ReactNode;\n /** Optional node rendered after the numeric value (e.g. a unit label). */\n suffix?: React.ReactNode;\n /** Number of decimal digits to display; omit to show all significant digits. */\n precision?: number;\n /** Rounding strategy applied before formatting. Defaults to `'round'`. */\n roundingMode?: 'round' | 'floor' | 'ceil';\n /** When `true`, pads the decimal part with trailing zeros up to `precision`. Defaults to `false`. */\n showTrailingZeros?: boolean;\n /** The numeric (or numeric-string) value to format and display. */\n value: number | string;\n /** Additional CSS classes applied to the wrapper element. */\n className?: string;\n /** Colour trend indicator: `'neutral'` (default), `'up'` (green), or `'down'` (red). */\n trend?: 'neutral' | 'up' | 'down';\n};\n\n/**\n * A memoised numeric display component with locale-aware formatting, optional prefix/suffix, trend colouring, and configurable rounding.\n *\n * @example\n * ```tsx\n * import { Statistic } from '@customafk/lunas-ui/data-display/statistic';\n *\n * <Statistic value={1234567.89} precision={2} prefix=\"$\" trend=\"up\" size=\"lg\" />\n * ```\n */\nexport const Statistic = memo(\n ({\n decimalSeparator = '.',\n groupSeparator = ',',\n prefix: Prefix,\n suffix: Suffix,\n precision,\n roundingMode = 'round',\n showTrailingZeros = false,\n size = 'lg',\n trend = 'neutral',\n value,\n className,\n }: StatisticProps) => {\n const applyRounding = useCallback(\n (num: number, precisionValue: number): number => {\n const multiplier = 10 ** precisionValue;\n switch (roundingMode) {\n case 'floor':\n return Math.floor(num * multiplier) / multiplier;\n case 'ceil':\n return Math.ceil(num * multiplier) / multiplier;\n default:\n return Math.round(num * multiplier) / multiplier;\n }\n },\n [roundingMode]\n );\n\n const formatOptions = useMemo((): Intl.NumberFormatOptions => {\n const options: Intl.NumberFormatOptions = {};\n if (typeof precision === 'number' && precision >= 0) {\n if (showTrailingZeros) {\n options.minimumFractionDigits = precision;\n options.maximumFractionDigits = precision;\n } else {\n options.maximumFractionDigits = precision;\n }\n }\n return options;\n }, [precision, showTrailingZeros]);\n\n const formatNumber = useCallback(\n (num: number): string => {\n let processedNum = num;\n if (typeof precision === 'number' && precision >= 0) {\n processedNum = applyRounding(num, precision);\n }\n return processedNum.toLocaleString('en-US', formatOptions);\n },\n [applyRounding, formatOptions, precision]\n );\n\n const processedValue = useMemo((): string => {\n if (typeof value === 'number') {\n if (Number.isNaN(value) || !Number.isFinite(value)) return 'N/A';\n return formatNumber(value);\n }\n if (typeof value === 'string') {\n const trimmedValue = value.trim();\n if (!trimmedValue) return 'N/A';\n const numValue = Number(trimmedValue);\n if (Number.isNaN(numValue) || !Number.isFinite(numValue)) return 'N/A';\n return formatNumber(numValue);\n }\n return 'N/A';\n }, [value, formatNumber]);\n\n const finalFormattedValue = useMemo((): string => {\n if (decimalSeparator === '.' && groupSeparator === ',') return processedValue;\n return processedValue.replace(/,/g, groupSeparator).replace(/\\./g, decimalSeparator);\n }, [processedValue, decimalSeparator, groupSeparator]);\n\n return (\n <div data-slot=\"statistic\" className={cn(statisticVariants({ size, trend }), className)}>\n {Prefix && <span data-slot=\"statistic-prefix\">{Prefix}</span>}\n <p data-slot=\"statistic-value\">{finalFormattedValue}</p>\n {Suffix && <span data-slot=\"statistic-suffix\">{Suffix}</span>}\n </div>\n );\n }\n);\nStatistic.displayName = 'Statistic';\n"],"mappings":"6NAMA,MAAM,EAAoB,EAAI,4EAA6E,CACzG,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,UACL,CACD,MAAO,CACL,QAAS,4BACT,GAAI,eACJ,KAAM,cACP,CACF,CACD,gBAAiB,CACf,KAAM,KACN,MAAO,UACR,CACF,CAAC,CAmCW,EAAY,GACtB,CACC,mBAAmB,IACnB,iBAAiB,IACjB,OAAQ,EACR,OAAQ,EACR,YACA,eAAe,QACf,oBAAoB,GACpB,OAAO,KACP,QAAQ,UACR,QACA,eACoB,CACpB,IAAM,EAAgB,GACnB,EAAa,IAAmC,CAC/C,IAAM,EAAa,IAAM,EACzB,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,EACxC,IAAK,OACH,OAAO,KAAK,KAAK,EAAM,EAAW,CAAG,EACvC,QACE,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,IAG5C,CAAC,EAAa,CACf,CAEK,EAAgB,MAAwC,CAC5D,IAAMA,EAAoC,EAAE,CAS5C,OARI,OAAO,GAAc,UAAY,GAAa,IAC5C,IACF,EAAQ,sBAAwB,GAGhC,EAAQ,sBAAwB,GAG7B,GACN,CAAC,EAAW,EAAkB,CAAC,CAE5B,EAAe,EAClB,GAAwB,CACvB,IAAI,EAAe,EAInB,OAHI,OAAO,GAAc,UAAY,GAAa,IAChD,EAAe,EAAc,EAAK,EAAU,EAEvC,EAAa,eAAe,QAAS,EAAc,EAE5D,CAAC,EAAe,EAAe,EAAU,CAC1C,CAEK,EAAiB,MAAsB,CAC3C,GAAI,OAAO,GAAU,SAEnB,OADI,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,SAAS,EAAM,CAAS,MACpD,EAAa,EAAM,CAE5B,GAAI,OAAO,GAAU,SAAU,CAC7B,IAAM,EAAe,EAAM,MAAM,CACjC,GAAI,CAAC,EAAc,MAAO,MAC1B,IAAM,EAAW,OAAO,EAAa,CAErC,OADI,OAAO,MAAM,EAAS,EAAI,CAAC,OAAO,SAAS,EAAS,CAAS,MAC1D,EAAa,EAAS,CAE/B,MAAO,OACN,CAAC,EAAO,EAAa,CAAC,CAEnB,EAAsB,MACtB,IAAqB,KAAO,IAAmB,IAAY,EACxD,EAAe,QAAQ,KAAM,EAAe,CAAC,QAAQ,MAAO,EAAiB,CACnF,CAAC,EAAgB,EAAkB,EAAe,CAAC,CAEtD,OACE,EAAC,MAAA,CAAI,YAAU,YAAY,UAAW,EAAG,EAAkB,CAAE,OAAM,QAAO,CAAC,CAAE,EAAU,WACpF,GAAU,EAAC,OAAA,CAAK,YAAU,4BAAoB,GAAc,CAC7D,EAAC,IAAA,CAAE,YAAU,2BAAmB,GAAwB,CACvD,GAAU,EAAC,OAAA,CAAK,YAAU,4BAAoB,GAAc,GACzD,EAGX,CACD,EAAU,YAAc"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./heading-wUXEbicM.cjs`),n=require(`./paragraph-D-JHj7EP.cjs`),r=require(`./close-DUBEKxhw.cjs`);let i=require(`@customafk/react-toolkit/utils`),a=require(`react/jsx-runtime`),o=require(`radix-ui`);function s({...e}){return(0,a.jsx)(o.Dialog.Root,{"data-slot":`dialog`,...e})}function c({...e}){return(0,a.jsx)(o.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return(0,a.jsx)(o.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...t}){return(0,a.jsx)(o.Dialog.Overlay,{"data-slot":`dialog-overlay`,className:(0,i.cn)(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`,e),...t})}function f({className:e,children:t,showCloseButton:n=!0,...s}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(d,{}),(0,a.jsxs)(o.Dialog.Content,{"data-slot":`dialog-content`,className:(0,i.cn)(`fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2`,`grid w-full max-w-[calc(100%-2rem)] bg-background`,`max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-200`,`sm:max-w-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80`,e),...s,children:[t,n&&(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:(0,a.jsx)(r.t,{})})]})]})}function p({className:e,...t}){return(0,a.jsx)(`div`,{"data-slot":`dialog-header`,className:(0,i.cn)(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function m({className:e,...t}){return(0,a.jsx)(`div`,{"data-slot":`dialog-footer`,className:(0,i.cn)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function h({className:e,...n}){return(0,a.jsx)(o.Dialog.Title,{"data-slot":`dialog-title`,className:(0,i.cn)(t.t({level:`h3`}),e),...n})}function g({className:e,...t}){return(0,a.jsx)(o.Dialog.Description,{"data-slot":`dialog-description`,className:(0,i.cn)(n.n({variant:`muted`}),e),...t})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return c}});
2
- //# sourceMappingURL=dialog-DEnyBH2X.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog-DEnyBH2X.cjs","names":["DialogPrimitive","CloseButton","headingVariants","paragraphVariants"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { CloseButton } from './buttons/close';\nimport { headingVariants } from '../typography/heading';\nimport { paragraphVariants } from '../typography/paragraph';\n\n/**\n * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.\n *\n * @example\n * ```tsx\n * import {\n * Dialog, DialogTrigger, DialogContent,\n * DialogHeader, DialogTitle, DialogDescription, DialogFooter,\n * } from '@customafk/lunas-ui/ui/dialog';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open dialog</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Confirm action</DialogTitle>\n * <DialogDescription>This cannot be undone.</DialogDescription>\n * </DialogHeader>\n * <DialogFooter>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/** Renders dialog overlay and content into a portal outside the normal React tree. */\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/** Button that closes the dialog; can be composed with `asChild` to use a custom element. */\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.\n *\n * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.\n */\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n 'grid w-full max-w-[calc(100%-2rem)] bg-background',\n 'max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-200',\n 'sm:max-w-lg',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <CloseButton />\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\n/** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />;\n}\n\n/** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />;\n}\n\n/** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(headingVariants({ level: 'h3' }), className)} {...props} />;\n}\n\n/** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(paragraphVariants({ variant: 'muted' }), className)} {...props} />;\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n"],"mappings":"yPAqCA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,GAAS,CAIxE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,iCACA,2DACA,iEACA,EACD,CACD,GAAI,GACJ,CASN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAIF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAA,CAAgB,EACjB,EAAA,EAAA,MAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,gEACA,oDACA,8EACA,cACA,wFACA,iGACA,EACD,CACD,GAAI,YAEH,EACA,IACC,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,mCAC9E,EAAA,EAAA,KAACC,EAAAA,EAAAA,EAAAA,CAAc,EACO,CAAA,EAEF,CAAA,CAAA,CACb,CAKnB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,+CAAgD,EAAU,CAAE,GAAI,GAAS,CAI/H,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,yDAA0D,EAAU,CAAE,GAAI,GAAS,CAIzI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAAA,EAAA,KAACD,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,WAAA,EAAA,EAAA,IAAcE,EAAAA,EAAgB,CAAE,MAAO,KAAM,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS,CAIlI,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAAA,EAAA,KAACF,EAAAA,OAAgB,YAAA,CAAY,YAAU,qBAAqB,WAAA,EAAA,EAAA,IAAcG,EAAAA,EAAkB,CAAE,QAAS,QAAS,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./heading-B1t9baTw.mjs";import{n as t}from"./paragraph-J_QbLq9_.mjs";import{t as n}from"./close-BMhGSmGs.mjs";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Dialog as o}from"radix-ui";function s({...e}){return i(o.Root,{"data-slot":`dialog`,...e})}function c({...e}){return i(o.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return i(o.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return i(o.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...t}){return i(o.Overlay,{"data-slot":`dialog-overlay`,className:r(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`,e),...t})}function f({className:e,children:t,showCloseButton:s=!0,...c}){return a(l,{children:[i(d,{}),a(o.Content,{"data-slot":`dialog-content`,className:r(`fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2`,`grid w-full max-w-[calc(100%-2rem)] bg-background`,`max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-200`,`sm:max-w-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80`,e),...c,children:[t,s&&i(o.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:i(n,{})})]})]})}function p({className:e,...t}){return i(`div`,{"data-slot":`dialog-header`,className:r(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function m({className:e,...t}){return i(`div`,{"data-slot":`dialog-footer`,className:r(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function h({className:t,...n}){return i(o.Title,{"data-slot":`dialog-title`,className:r(e({level:`h3`}),t),...n})}function g({className:e,...n}){return i(o.Description,{"data-slot":`dialog-description`,className:r(t({variant:`muted`}),e),...n})}export{m as a,l as c,g as i,h as l,u as n,p as o,f as r,d as s,s as t,c as u};
2
- //# sourceMappingURL=dialog-jqiIqxlm.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog-jqiIqxlm.mjs","names":["Dialog","DialogPrimitive"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { CloseButton } from './buttons/close';\nimport { headingVariants } from '../typography/heading';\nimport { paragraphVariants } from '../typography/paragraph';\n\n/**\n * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.\n *\n * @example\n * ```tsx\n * import {\n * Dialog, DialogTrigger, DialogContent,\n * DialogHeader, DialogTitle, DialogDescription, DialogFooter,\n * } from '@customafk/lunas-ui/ui/dialog';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open dialog</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Confirm action</DialogTitle>\n * <DialogDescription>This cannot be undone.</DialogDescription>\n * </DialogHeader>\n * <DialogFooter>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/** Renders dialog overlay and content into a portal outside the normal React tree. */\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/** Button that closes the dialog; can be composed with `asChild` to use a custom element. */\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.\n *\n * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.\n */\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n 'grid w-full max-w-[calc(100%-2rem)] bg-background',\n 'max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-200',\n 'sm:max-w-lg',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <CloseButton />\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\n/** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />;\n}\n\n/** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />;\n}\n\n/** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(headingVariants({ level: 'h3' }), className)} {...props} />;\n}\n\n/** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(paragraphVariants({ variant: 'muted' }), className)} {...props} />;\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n"],"mappings":"yQAqCA,SAASA,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAACA,EAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,GAAS,CAIxE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,iCACA,2DACA,iEACA,EACD,CACD,GAAI,GACJ,CASN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAIF,CACD,OACE,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,EAAA,CAAgB,CACjB,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,gEACA,oDACA,8EACA,cACA,wFACA,iGACA,EACD,CACD,GAAI,YAEH,EACA,GACC,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,EAAA,EAAA,CAAc,EACO,CAAA,EAEF,CAAA,CAAA,CACb,CAKnB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,+CAAgD,EAAU,CAAE,GAAI,GAAS,CAI/H,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,yDAA0D,EAAU,CAAE,GAAI,GAAS,CAIzI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,EAAgB,CAAE,MAAO,KAAM,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS,CAIlI,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAACA,EAAgB,YAAA,CAAY,YAAU,qBAAqB,UAAW,EAAG,EAAkB,CAAE,QAAS,QAAS,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS"}
@@ -1,4 +0,0 @@
1
- import{t as e}from"./button-BqxBQ4Kr.mjs";import{t}from"./paragraph-J_QbLq9_.mjs";import{t as n}from"./flex-Bl5yzx6g.mjs";import{t as r}from"./date-BQ0c19uk.mjs";import{t as i}from"./badge-utjRo-lW.mjs";import{i as a,n as o,r as s,t as c}from"./tooltip-BMdzWaaH.mjs";import{n as l,t as u}from"./avatar-CK1R4r0j.mjs";import{t as d}from"./separator-yTKDuMWb.mjs";import{a as f,d as p,h as m,i as h,r as g,t as _}from"./dropdown-menu-B_uBxY94.mjs";import{t as v}from"./progress-BcEEbgJJ.mjs";import{t as y}from"./checkbox-CJsl9OjF.mjs";import{t as ee}from"./spinner-CWUvnJQw.mjs";import{n as b,r as te,t as x}from"./resizable-em2svgMz.mjs";import{t as S}from"./input-CKFQdvqY.mjs";import{a as C,i as ne,t as re}from"./popover-BCzVvfnV.mjs";import{c as w,i as T,n as E,s as D,t as O}from"./select-C2Ro2wmj.mjs";import{t as k}from"./label-CE2m0U_j.mjs";import{AlertTriangle as A,ArrowRightIcon as j,BoxIcon as ie,CalendarIcon as M,CheckIcon as N,ChevronDown as P,CirclePlus as ae,CopyIcon as F,DownloadIcon as I,EllipsisVerticalIcon as oe,ExternalLinkIcon as se,HashIcon as ce,ListFilterIcon as le,ListFilterPlus as ue,MailIcon as de,MinusIcon as fe,MoreVerticalIcon as pe,MoveLeftIcon as me,MoveRightIcon as he,PinOffIcon as ge,RefreshCwIcon as _e,SearchIcon as ve,TagIcon as ye,ToggleLeftIcon as be,Trash2Icon as xe,TypeIcon as Se,UserRoundIcon as Ce,XIcon as we}from"lucide-react";import{Activity as L,createContext as R,memo as z,use as B,useCallback as V,useEffect as H,useId as Te,useMemo as U,useRef as W,useState as G}from"react";import{cn as K}from"@customafk/react-toolkit/utils";import{cva as q}from"class-variance-authority";import{Fragment as Ee,jsx as J,jsxs as Y}from"react/jsx-runtime";import{colorHashLight as De}from"@customafk/react-toolkit/color-hash";import{flexRender as Oe,getCoreRowModel as ke,getExpandedRowModel as Ae,getGroupedRowModel as je,useReactTable as Me}from"@tanstack/react-table";import{useVirtualizer as Ne}from"@tanstack/react-virtual";import{useDebounceCallback as Pe}from"@customafk/react-toolkit/hooks/useDebounceCallback";const X=()=>Y(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[J(fe,{size:16}),J(fe,{size:16})]}),Fe=({label:e,onClick:t,onRemove:n})=>e?n?Y(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,J(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:J(we,{size:12})})]}):J(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):J(X,{}),Ie=({value:e})=>e==null?J(X,{}):e===!1?J(`div`,{className:`text-danger-strong`,children:J(we,{})}):J(`div`,{className:`text-success-strong`,children:J(N,{})}),Le=z(({value:e,currency:t=`USD`,locale:n=`en-US`,display:r=`symbol`,size:i=`md`,colorize:a=!1})=>{let o=U(()=>{let i=typeof e==`string`?Number(e.trim()):e;return i==null||Number.isNaN(i)||!Number.isFinite(i)?null:new Intl.NumberFormat(n,{style:`currency`,currency:t,currencyDisplay:r,minimumFractionDigits:2,maximumFractionDigits:2}).format(i)},[e,t,n,r]),s=U(()=>{let t=typeof e==`string`?Number(e.trim()):e;return typeof t==`number`&&t<0},[e]);return o?J(`p`,{className:K(`font-number tabular-nums`,i===`xs`&&`text-xs`,i===`sm`&&`text-sm`,i===`md`&&`text-base`,i===`lg`&&`text-lg`,i===`xl`&&`text-xl`,!a&&`text-text-positive`,a&&s&&`text-danger-strong`,a&&!s&&`text-success-strong`),children:o}):J(X,{})});Le.displayName=`UITableCurrencyDisplay`;const Re=({date:e})=>e==null?J(X,{}):J(s,{children:Y(c,{children:[J(a,{asChild:!0,children:J(i,{className:`h-fit`,children:J(r,{date:e,format:`medium`,className:`font-normal text-white`})})}),J(o,{className:`rounded px-2`,children:J(r,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),ze=({content:e})=>e==null?J(X,{}):Y(c,{children:[J(a,{children:J(t,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:e})}),J(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:Y(`div`,{className:`flex flex-col gap-y-2`,children:[J(t,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:e}),Y(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),Be=({email:e,linkable:t=!0})=>{let[n,r]=G(!1);return e?J(s,{children:Y(`div`,{className:`group flex items-center gap-x-1.5`,children:[J(de,{size:13,className:`shrink-0 text-text-positive-weak`}),t?J(`a`,{href:`mailto:${e}`,className:`truncate text-primary text-sm underline-offset-2 hover:underline`,onClick:e=>e.stopPropagation(),children:e}):J(`span`,{className:`truncate text-text-positive text-sm`,children:e}),Y(c,{children:[J(a,{asChild:!0,children:J(`button`,{onClick:t=>{t.stopPropagation(),t.preventDefault(),navigator.clipboard.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},className:`shrink-0 cursor-pointer text-text-positive-weak opacity-0 transition-opacity group-hover:opacity-100 hover:text-text-positive`,children:n?J(N,{size:13,className:`text-success-strong`}):J(F,{size:13})})}),J(o,{children:n?`Copied!`:`Copy email`})]})]})}):J(X,{})},Ve=({items:e,maxVisible:t=3})=>{if(!e||e.length===0)return J(X,{});let n=e.slice(0,t),r=e.slice(t);return Y(`div`,{className:`flex flex-wrap gap-1`,children:[n.map((e,t)=>J(`span`,{className:`inline-flex items-center rounded-full border border-border bg-muted-weak px-2 py-0.5 text-text-positive text-xs`,children:e},t)),r.length>0&&J(s,{children:Y(c,{children:[J(a,{asChild:!0,children:Y(`span`,{className:`inline-flex cursor-default items-center rounded-full bg-primary-bg-subtle px-2 py-0.5 text-primary-intense text-xs`,children:[`+`,r.length,` more`]})}),J(o,{align:`start`,className:`flex max-w-64 flex-wrap gap-1 p-2`,children:r.map((e,t)=>J(`span`,{className:`inline-flex items-center rounded-full border border-border px-2 py-0.5 text-text-negative text-xs`,children:e},t))})]})})]})},He=({items:t=[]})=>Y(_,{children:[J(m,{asChild:!0,children:J(e,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:J(pe,{})})}),J(g,{children:J(h,{children:t.map(e=>J(f,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.preventDefault(),t.stopPropagation()},children:e.label},e.id))})})]}),Ue=({name:e})=>e?Y(c,{children:[J(a,{children:J(t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:e})}),J(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:Y(`div`,{className:`flex flex-col gap-y-2`,children:[J(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),Y(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):J(X,{}),We=({href:e,label:t})=>Y(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[J(`span`,{children:t||e}),J(se,{size:14})]}),Ge=({value:e})=>Y(c,{children:[J(a,{asChild:!0,children:J(`p`,{className:`font-number text-text-positive text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),J(o,{align:`start`,children:J(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),Ke=z(({value:e,showLabel:t=!0,successThreshold:n=70,warningThreshold:r=40})=>{if(e==null)return J(X,{});let i=Math.min(100,Math.max(0,e));return Y(`div`,{className:`flex w-full min-w-24 items-center gap-x-2`,children:[J(v,{value:i,className:K(`flex-1`,i>=n?`[&>[data-slot=progress-indicator]]:bg-success`:i>=r?`[&>[data-slot=progress-indicator]]:bg-warning`:`[&>[data-slot=progress-indicator]]:bg-danger`)}),t&&Y(`span`,{className:`w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums`,children:[i,`%`]})]})});Ke.displayName=`UITableProgressDisplay`;const qe=({title:t,onClick:n})=>Y(c,{children:[J(a,{children:J(e,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:V(async e=>{e.preventDefault(),e.stopPropagation(),await n?.()},[n]),children:J(xe,{})})}),J(o,{children:J(`p`,{children:t||`Remove item from list table`})})]}),Je=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},Ye=z(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:r,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=U(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=V(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=Je(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=U(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=U(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?J(X,{}):Y(n,{padding:`none`,className:K(`font-number text-lg text-text-positive tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[r,J(`p`,{children:p}),i]})});Ye.displayName=`UITableStatisticDisplay`;const Xe=({value:e,colorMap:t,defaultColor:n=`muted`,variant:r=`soft`})=>e==null||e===``?J(X,{}):J(i,{variant:r,color:(t&&t[e])??n,className:`min-w-16 justify-center capitalize`,children:e.charAt(0).toUpperCase()+e.slice(1).replace(/_/g,` `)}),Ze=({uuid:e,username:r,email:i})=>Y(n,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&J(u,{className:`size-10 shadow-card`,children:J(l,{className:`bg-muted-weak`,children:J(Ce,{size:28,className:`text-text-negative`})})}),e&&J(u,{className:`size-10 shadow-card`,children:J(l,{style:{backgroundColor:De.hex(e)},children:J(Ce,{size:28,className:`text-white`})})}),Y(n,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[J(t,{className:`font-medium text-sm text-text-positive-weak`,children:r??`Unknown User`}),J(t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),Qe=R(null),$e=()=>{let e=B(Qe);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},et=R(null),tt=()=>{let e=B(et);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},nt=R(null),rt=()=>{let e=B(nt);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},it=R(null),at=()=>{let e=B(it);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},ot=R(null),st=()=>{let e=B(ot);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},ct=R(null),Z=()=>{let e=B(ct);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},lt=R(null),ut=()=>{let e=B(lt);if(!e)throw Error(`useUITableFilterContext must be used within a UITableProvider`);return e},dt=q([`absolute right-2 z-10 p-0.5 opacity-0 bg-card`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`]),ft=q([`sticky left-0 flex flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`]),pt=q([`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`]),mt=q([`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`]),ht=q([`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`]),gt=q([`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:border-r`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`]),_t=q([`flex`]),vt=q([`group flex`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`},isActions:{true:`border-r-0!`,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``},position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),yt=q(`relative w-full,grid,[&_tr]:absolute,[&_tr]:flex,[&_tr]:flex-none,[&_tr]:w-full,[&_tr]:cursor-pointer [&_tr]:focus:outline-none,[&_tr]:border-b [&_tr]:border-b-border,[&_td]:z-10,[&_td]:transition-all,[&_td]:duration-300,[&_td]:flex,[&_td]:flex-none,[&_td]:overflow-hidden,[&_td]:whitespace-nowrap,[&_td]:px-4,[&_td]:py-2.5,[&_td]:align-middle,[&_td]:border-border,[&_td]:data-[selected=true]:bg-muted-muted!,[&_td]:data-[selected=true]:hover:bg-muted-muted!,[&_td>div]:inline-flex,[&_td>div]:items-center,[&_td>div]:w-full,[&_td:not([data-pinned=false])]:z-20,[&_td:not([data-pinned=false])]:sticky,[&_td:not([data-pinned=false])]:bg-card`.split(`,`)),bt=q([`group [&_td]:border-r [&_td]:border-r-border [&_td]:last:border-r-0`]),xt=q([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`}},defaultVariants:{isPinned:void 0}}),St=q([`sticky border-r-0! inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`]),Ct=q([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:``,right:``,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),wt=q([`overflow-x-hidden`],{variants:{position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},defaultVariants:{position:`start`}}),Tt=q([`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`]),Et=q([`flex cursor-pointer gap-x-0.5`],{variants:{state:{idle:`text-text-positive-weak hover:text-text-positive`,fetching:`cursor-not-allowed`,error:`text-danger hover:text-danger-strong`}},defaultVariants:{state:`idle`}}),Dt=z(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isRefetching:a,isEmpty:o}=at();return o||i||a?null:J(`tbody`,{slot:`table-body`,style:{height:e},className:K(yt(),t),...r,children:n})});Dt.displayName=`UITableBody`;const Ot=z(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=tt(),u=W(null),d=W(null),f=U(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=U(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),m=U(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),h=U(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),g=U(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),_=U(()=>Oe(a?.columnDef.cell,o()),[a,o]);return H(()=>{u.current=document.querySelector(`table[id="${c}"]`)},[c]),H(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t!=null&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),J(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:m,minWidth:h,maxWidth:g},className:Ct({isPinned:e||void 0,isLastCell:n,isFirstCell:t}),...s,children:J(`div`,{ref:d,slot:`table-body-cell-inner`,className:wt({position:i}),children:_})})});Ot.displayName=`UITableCell`;const kt=z(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=U(()=>Oe(t?.columnDef.cell,n()),[t,n]);return J(`td`,{"data-col":`actions`,"data-cell":e,className:St(),...i,children:a})});kt.displayName=`UITableCellActions`;const At=z(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=V(e=>{r?.(!!e)},[r]);return J(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:K(xt({isPinned:e}),n),...i,children:J(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:J(y,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});At.displayName=`UITableCellSelect`;const jt=z(()=>{let{table:e,isFetching:t,isRefetching:n,loadingDisplayRow:r=3}=Z();return!t&&!n?null:J(`tbody`,{className:K(yt(),`pointer-events-none`),children:Array.from({length:r}).map((t,n)=>J(`tr`,{"data-slot":`table-row`,"data-index":n,className:K(bt(),`animate-pulse relative!`),children:e.getAllColumns().map((t,r)=>{let i=t.getIsPinned(),a=t.getStart(`left`),o=t.getAfter(`right`);return t.id===`actions`?J(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,style:{width:60},className:St(),children:J(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})},`${t.id}-${r}`):t.id===`select`?J(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:xt({isPinned:`left`}),children:J(`div`,{className:`w-full flex justify-center`,children:J(`div`,{className:`size-4 bg-muted-muted rounded-full`})})},`${t.id}-${n}`):J(`td`,{"data-col":t.id,"data-cell":r,"data-selected":void 0,"data-lastcell":t.id===e.getAllColumns()[e.getAllColumns().length-1].id||void 0,"data-firstcell":t.id===e.getAllColumns()[0].id||void 0,style:{zIndex:i?20:0,left:i===`left`&&typeof a==`number`?`${a}px`:void 0,right:i===`right`&&typeof o==`number`?`${o}px`:void 0,width:`calc(var(--col-${t.id}-size) * 1px)`,minWidth:t.columnDef.minSize?`calc(var(--col-${t.id}-minSize) * 1px)`:void 0,maxWidth:t.columnDef.maxSize?`calc(var(--col-${t.id}-maxSize) * 1px)`:void 0},className:Ct({isPinned:t.getIsPinned(),isFirstCell:t.id===e.getRightHeaderGroups()[0]?.headers[0]?.id,isLastCell:t.id===e.getLeftHeaderGroups()[0]?.headers[e.getLeftHeaderGroups()[0].headers.length-1]?.id}),children:J(`div`,{className:wt({position:t.columnDef.meta?.position??`start`}),children:J(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})})},`${t.id}-${r}`)})},n))})}),Mt=z(()=>{let{isEmpty:e,emptyDisplayHeight:t}=Z();return e?J(Ee,{children:e&&J(`div`,{className:ft(),style:{minHeight:t??`24rem`},children:Y(`div`,{className:`flex flex-col items-center gap-1`,children:[J(ie,{strokeWidth:1,size:48}),J(`p`,{children:`No data available`})]})})}):null});Mt.displayName=`UITableEmptyDisplay`;const Nt=z(({className:e,children:t,...n})=>J(`tfoot`,{slot:`table-footer`,className:K(Tt(),e),...n,children:t}));Nt.displayName=`UITableFooter`;const Pt=z(({className:e,children:t,...n})=>J(`thead`,{slot:`table-head`,className:K(gt(),e),...n,children:t}));Pt.displayName=`UITableHead`;const Ft=z(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=V(()=>{t?.(`left`)},[t]),o=V(()=>{n?.(`right`)},[n]),s=V(()=>{r?.(!1)},[r]);return Y(_,{children:[J(m,{asChild:!0,children:J(`button`,{type:`button`,className:K(dt(),i),children:J(oe,{})})}),J(g,{align:`end`,className:`w-64 p-4`,children:Y(h,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[J(L,{mode:e?`visible`:`hidden`,children:Y(f,{onClick:s,children:[!!e&&`Unpin`,J(p,{children:J(ge,{className:`size-4`})})]})}),Y(L,{mode:e?`hidden`:`visible`,children:[Y(f,{onClick:a,children:[e?`Unpin`:`Pin to Left`,J(p,{children:J(me,{className:`size-4`})})]}),Y(f,{onClick:o,children:[e?`Unpin`:`Pin to Right`,J(p,{children:J(he,{className:`size-4`})})]})]})]})})]})});Ft.displayName=`UITableHeadCellOption`;const It=z(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=o?.columnDef.meta?.position,p=U(()=>t?20:void 0,[t]),m=U(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=U(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),g=U(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),_=U(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),v=U(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return Y(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:p,left:m,right:h,width:g,minWidth:_,maxWidth:v},className:K(vt({isPinned:t||`false`,isActions:a===`actions`,isLastCell:r,isFirstCell:n,position:f}),s),...d,children:[J(`div`,{className:`truncate px-4`,children:c}),i&&J(Ft,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});It.displayName=`UITableHeadCell`;const Lt=z(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=V(e=>{r?.(!!e)},[r]);return J(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:xt({isPinned:e}),...i,children:J(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:J(y,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});Lt.displayName=`UITableHeadCellSelect`;const Rt=z(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=rt(),c=o[0]?.id,l=a[a.length-1]?.id;return J(`tr`,{slot:`table-head-row`,className:K(_t(),t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?J(Lt,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):J(It,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:Oe(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});Rt.displayName=`UITableHeadRow`;const zt=z(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=tt(),a=W(null);return H(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t,r=new ResizeObserver(r=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=r[0];if(!t)return;let i=t.target;if(!(i instanceof HTMLTableElement))return;let a=t.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;i.style.setProperty(`--header-${e.id}-size`,`${t}`),i.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&i.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else i.style.setProperty(`--header-${e.id}-size`,`${e.width}`),i.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})})});return r.observe(a.current),()=>{t!==void 0&&cancelAnimationFrame(t),r.disconnect()}},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),J(`table`,{id:r,ref:a,slot:`table-inner-table`,className:ht(),style:{minWidth:i},...t,children:e})});zt.displayName=`UITableInnerTable`;const Bt=z(({children:e,...t})=>{let{innerWrapperId:n}=$e();return J(`div`,{id:n,slot:`table-inner-wrapper`,className:mt(),...t,children:e})});Bt.displayName=`UITableInnerWrapper`;const Q=z(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=$e(),i=W(null),a=W(null),[o,s]=G(`idle`),[c,l]=G(0),u=V(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return H(()=>{if(i.current=document.querySelector(`div[id="${r}"]`),!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[r]),n?J(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:J(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:Y(`button`,{type:`button`,disabled:o===`fetching`,className:Et({state:o}),onClick:u,children:[o===`idle`&&J(P,{className:`size-4`}),o===`fetching`&&J(ee,{className:`size-4 animate-spin`}),o===`error`&&J(A,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});Q.displayName=`UITableLoadMore`;const Vt=z(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=st(),f=U(()=>c.left??[],[c]),p=U(()=>c.right??[],[c]),m=U(()=>u?.[0]?.id,[u]),h=U(()=>l?.[l.length-1]?.id,[l]),g=V(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return J(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:bt(),onClick:g,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?J(kt,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?J(At,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):J(Ot,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===h,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});Vt.displayName=`UITableRow`;const Ht=z(({className:e,children:t,...n})=>J(`div`,{slot:`table-wrapper`,className:K(pt(),e),...n,children:t}));Ht.displayName=`UITableWrapper`;const Ut=({children:e})=>{let{table:t,fetchMoreData:n}=Z(),{rowSelectionState:r}=at(),i=W(null),{rows:a}=t.getRowModel(),o=Ne({count:a.length+(n?1:0),estimateSize:()=>40,getScrollElement:()=>i.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),s=U(()=>{let e=o.getTotalSize(),t=i.current?.clientHeight??0;return`${Math.max(e,t)}px`},[o.getTotalSize()]);return Y(te,{direction:`horizontal`,style:{direction:t.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:[J(b,{className:`relative`,children:Y(Bt,{ref:i,children:[Y(zt,{children:[J(Pt,{children:t.getHeaderGroups().map(e=>J(Rt,{headerGroup:e},e.id))}),J(Dt,{height:s,children:o.getVirtualItems().map(e=>{let t=a[e.index];if(!t&&n)return J(Q,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:n},e.key);let i=r[t.id]===!0;return J(Vt,{ref:o.measureElement,row:t,isSelected:i,virtualRowIndex:e.index,virtualRowStart:e.start},e.key)})}),J(jt,{})]}),J(Mt,{})]})}),e&&Y(Ee,{children:[J(x,{}),e]})]})},Wt={tag:J(ye,{size:14}),"single-tag":J(ye,{size:14}),"date-range":J(M,{size:14}),number:J(ce,{size:14}),text:J(Se,{size:14}),boolean:J(be,{size:14})},Gt=[{value:`eq`,label:`Equals (=)`},{value:`ne`,label:`not equals (≠)`},{value:`gt`,label:`greater than (>)`},{value:`gte`,label:`At least (≥)`},{value:`lt`,label:`less than (<)`},{value:`lte`,label:`at most (≤)`},{value:`between`,label:`Between`}],Kt=[{value:`contains`,label:`Contains`},{value:`equals`,label:`Equals`},{value:`starts-with`,label:`Starts with`},{value:`ends-with`,label:`Ends with`}];function qt(e,t){switch(e.type){case`single-tag`:return e.value?t.options?.find(t=>t.value===e.value)?.label??e.value:`Unset`;case`tag`:return e.values.length?e.values.map(e=>t.options?.find(t=>t.value===e)?.label??e).join(`, `):`Unset`;case`date-range`:return!e.from&&!e.to?`Unknow date`:e.from&&e.to?`${e.from} → ${e.to}`:e.from?`from ${e.from}`:`until ${e.to}`;case`number`:{let t={eq:`=`,ne:`≠`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,between:`between`}[e.operator];return e.value===void 0?t:e.operator===`between`?`${t} ${e.value} – ${e.valueTo??`?`}`:`${t} ${e.value}`}case`text`:{let t={contains:`contains`,equals:`is`,"starts-with":`starts with`,"ends-with":`ends with`}[e.operator];return e.value?`${t} "${e.value}"`:t}case`boolean`:return e.value===null?`Unknow`:e.value?`Yes`:`No`}}const Jt=({value:e,definition:t,onChange:n})=>J(`div`,{className:`flex flex-col gap-1 p-3`,children:(t.options??[]).length===0?J(`p`,{className:`text-xs text-text-positive-muted`,children:`No options defined`}):t.options.map(t=>Y(k,{className:K(`flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors`,e.values.includes(t.value)&&`bg-primary-muted hover:bg-primary-subtle`),children:[J(y,{checked:e.values.includes(t.value),onCheckedChange:r=>{n({type:`tag`,values:r?[...e.values,t.value]:e.values.filter(e=>e!==t.value)})}}),J(`span`,{className:`text-sm`,children:t.label})]},t.value))}),Yt=({value:e,definition:t,onChange:n})=>J(`div`,{className:`flex flex-col gap-1 p-3`,children:(t.options??[]).length===0?J(`p`,{className:`text-xs text-text-positive-muted`,children:`No options defined`}):t.options.map(t=>Y(k,{className:K(`flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors`,e.value===t.value&&`bg-primary-muted hover:bg-primary-subtle`),children:[J(y,{checked:e.value===t.value,onCheckedChange:e=>{n({type:`single-tag`,value:e?t.value:null})}}),J(`span`,{className:`text-sm`,children:t.label})]},t.value))}),Xt=({value:e,onChange:t})=>Y(`div`,{className:`flex flex-col gap-3 p-3`,children:[Y(`div`,{className:`flex flex-col gap-1`,children:[J(`span`,{className:`text-xs text-text-positive-muted`,children:`From`}),J(S,{type:`date`,size:`md`,value:e.from??``,onValueChange:n=>t({...e,from:n||void 0})})]}),Y(`div`,{className:`flex flex-col gap-1`,children:[J(`span`,{className:`text-xs text-text-positive-muted`,children:`To`}),J(S,{type:`date`,size:`md`,value:e.to??``,onValueChange:n=>t({...e,to:n||void 0})})]})]}),Zt=({value:e,onChange:t})=>Y(`div`,{className:`flex flex-col gap-3 p-3`,children:[Y(O,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[J(D,{size:`sm`,children:J(w,{})}),J(E,{children:Gt.map(e=>J(T,{value:e.value,children:e.label},e.value))})]}),J(S,{type:`number`,size:`md`,placeholder:`Value`,value:e.value??``,onValueChange:n=>t({...e,value:n?Number(n):void 0})}),e.operator===`between`&&J(S,{type:`number`,size:`md`,placeholder:`To value`,value:e.valueTo??``,onValueChange:n=>t({...e,valueTo:n?Number(n):void 0})})]}),Qt=({value:e,onChange:t})=>Y(`div`,{className:`flex flex-col gap-3 p-3`,children:[Y(O,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[J(D,{size:`sm`,children:J(w,{})}),J(E,{children:Kt.map(e=>J(T,{value:e.value,children:e.label},e.value))})]}),J(S,{type:`text`,size:`md`,placeholder:`Enter text...`,value:e.value,onValueChange:n=>t({...e,value:n})})]}),$t=[{label:`Yes`,value:!0},{label:`No`,value:!1},{label:`Unknow`,value:null}],en=({value:t,onChange:n})=>J(`div`,{className:`flex flex-col gap-1 p-3`,children:$t.map(({label:r,value:i})=>J(e,{type:`button`,tabIndex:-1,variant:`outline`,className:K(`rounded px-3 py-1.5 text-left text-sm transition-colors`,t.value===i?`bg-primary-muted font-medium`:`hover:bg-muted-bg-subtle`),onClick:()=>n({type:`boolean`,value:i}),children:r},r))});function tn({value:e,definition:t,onChange:n}){switch(e.type){case`tag`:return J(Jt,{value:e,definition:t,onChange:n});case`single-tag`:return J(Yt,{value:e,definition:t,onChange:n});case`date-range`:return J(Xt,{value:e,onChange:n});case`number`:return J(Zt,{value:e,onChange:n});case`text`:return J(Qt,{value:e,onChange:n});case`boolean`:return J(en,{value:e,onChange:n})}}const nn=({filter:t,definition:n,onRemove:r,onUpdate:i})=>Y(`div`,{className:`flex items-center gap-1`,children:[Y(re,{children:[J(C,{asChild:!0,children:Y(e,{type:`button`,variant:`outline`,color:`muted`,className:`flex-1 bg-white max-w-[calc(100%-32px)] justify-start`,innerClassName:`flex truncate gap-1.5`,children:[J(`span`,{className:`shrink-0 text-text-positive font-medium`,children:n.label}),J(`span`,{className:`truncate text-xs text-text-positive-weak`,children:qt(t.value,n)})]})}),Y(ne,{className:`w-64 p-0`,align:`start`,side:`bottom`,children:[J(`div`,{className:`border-b border-border px-3 py-2`,children:Y(`div`,{className:`flex items-center gap-1.5`,children:[J(`span`,{className:`text-text-positive-muted`,children:Wt[n.type]}),J(`p`,{className:`font-medium`,children:n.label})]})}),J(tn,{value:t.value,definition:n,onChange:i})]})]}),J(e,{type:`button`,size:`icon`,variant:`soft`,color:`danger`,className:`shrink`,onClick:r,children:J(xe,{size:13})})]}),rn=()=>{let{filterDefinitions:t,activeFilters:n,addFilter:r,removeFilter:i,updateFilter:a}=ut(),[o,s]=G(null),c=t.filter(e=>!n.some(t=>t.definitionId===e.id));return J(b,{defaultSize:25,className:K(`bg-card`,o===null?`max-w-8!`:`min-w-64`),children:Y(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[J(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:J(L,{mode:o===`filters`?`visible`:`hidden`,children:Y(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[Y(`div`,{className:`flex items-center justify-between gap-2`,children:[J(`p`,{className:`font-medium`,children:`Filters`}),Y(_,{children:[J(m,{asChild:!0,children:Y(e,{variant:`outline`,color:`muted`,disabled:c.length===0,children:[J(ue,{size:13}),`Add Filter`]})}),J(g,{align:`end`,children:c.map(e=>Y(f,{className:`flex items-center gap-2`,onClick:()=>r(e.id),children:[Wt[e.type],e.label]},e.id))})]})]}),J(d,{}),n.length===0?J(`p`,{className:`py-6 text-center text-xs text-text-positive-muted`,children:`No active filters`}):J(`div`,{className:`flex flex-col gap-2 pt-1`,children:n.map(e=>{let n=t.find(t=>t.id===e.definitionId);return n?J(nn,{filter:e,definition:n,onRemove:()=>i(e.id),onUpdate:t=>a(e.id,t)},e.id):null})})]})})}),Y(`div`,{className:`flex h-full flex-col border-l border-border bg-muted-bg-subtle text-sm`,children:[Y(`button`,{type:`button`,className:K(`relative flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,o===`filters`&&`bg-card`),onClick:()=>s(o===`filters`?null:`filters`),children:[J(le,{size:18}),n.length>0&&J(`span`,{className:`absolute top-2 right-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-primary text-[10px] leading-none text-primary-foreground`,children:n.length}),J(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),J(d,{})]})]})})};function an(e){switch(e){case`tag`:return{type:`tag`,values:[]};case`single-tag`:return{type:`single-tag`,value:null};case`date-range`:return{type:`date-range`};case`number`:return{type:`number`,operator:`eq`};case`text`:return{type:`text`,operator:`contains`,value:``};case`boolean`:return{type:`boolean`,value:null}}}const on=z(({innerWrapperId:e,children:t})=>{let n=U(()=>({innerWrapperId:e}),[e]);return J(Qe.Provider,{value:n,children:t})});on.displayName=`UITableInnerWrapperProvider`;const sn=z(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=U(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return J(et.Provider,{value:i,children:r})});sn.displayName=`UITableInnerTableProvider`;const cn=z(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=U(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return J(nt.Provider,{value:o,children:a})});cn.displayName=`UITableHeadRowProvider`;const ln=z(({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r,children:i})=>{let a=U(()=>({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r}),[e,n,r]);return J(it.Provider,{value:a,children:i})});ln.displayName=`UITableBodyProvider`;const un=z(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=U(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return J(ot.Provider,{value:s,children:o})});un.displayName=`UITableRowProvider`;const dn=({title:e,isFetching:t=!1,isRefetching:n=!1,isLoading:r=!1,loadingDisplayRow:i=3,data:a,columns:o,totalRows:s,leftPinnedColumns:c=[],rightPinnedColumns:l=[],keyOfClickRow:u,onClickRow:d,onRowSelection:f,onColumnPinning:p,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_,filterDefinitions:v=[],onFilterChange:y,children:ee})=>{let b=Te(),te=Te(),[x,S]=G({}),[C,ne]=G({right:l,left:[`select`,...c]}),[re,w]=G({}),[T,E]=G([]),D=V(e=>(S(e),f?.(e instanceof Function?e(x):e),e),[x,f]),O=V(e=>{ne(e),p?.(e instanceof Function?e(C):e)},[C,p]),k=V(e=>{let t=v.find(t=>t.id===e);if(!t)return;let n={id:`${e}-${crypto.randomUUID()}`,definitionId:e,value:an(t.type)};E(e=>{let t=[...e,n];return y?.(t),t})},[v,y]),A=V(e=>{E(t=>{let n=t.filter(t=>t.id!==e);return y?.(n),n})},[y]),j=V((e,t)=>{E(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return y?.(r),r})},[y]),ie=U(()=>({filterDefinitions:v,activeFilters:T,addFilter:k,removeFilter:A,updateFilter:j}),[v,T,k,A,j]),M=Me({data:a,columns:o,state:{rowSelection:x,columnPinning:C,expanded:re},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:ke(),getGroupedRowModel:je(),getExpandedRowModel:Ae(),onRowSelectionChange:D,onColumnPinningChange:O,onExpandedChange:w}),N=U(()=>{let{rows:e}=M.getRowModel();return e},[M.getRowModel().rows,M.getState().columnPinning]),P=U(()=>!t&&!n&&N.length===0,[N,t,n]),ae=U(()=>({title:e,table:M,isEmpty:P,isFetching:t,isRefetching:n,isLoading:r,loadingDisplayRow:i,totalRows:s,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_}),[e,M,P,n,t,r,i,s,m,h,M.getState().columnPinning,M.getState().expanded,g,_]),F=U(()=>M.getState(),[M.getState()]),I=U(()=>M.getIsAllRowsSelected(),[M.getIsAllRowsSelected()]),oe=U(()=>F.rowSelection,[F.rowSelection]),se=U(()=>F.columnPinning,[F.columnPinning]),ce=U(()=>M.getLeftHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),le=U(()=>M.getRightHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),ue=U(()=>M.getTotalSize(),[M.getTotalSize()]);return J(lt.Provider,{value:ie,children:J(ct.Provider,{value:ae,children:J(on,{innerWrapperId:b,children:J(sn,{table:M,innerTableId:te,totalSize:ue,children:J(cn,{isAllRowsSelected:I,columnPinningState:se,leftPinnedHeaders:ce,rightPinnedHeaders:le,onToggleAllRowsSelected:M.toggleAllRowsSelected,children:J(ln,{isFetching:t,isRefetching:n,isEmpty:P,rowSelectionState:oe,children:J(un,{keyOfClickRow:u,isAllRowsSelected:I,columnPinningState:se,leftPinnedHeaders:ce,rightPinnedHeaders:le,onClickRow:d,children:ee})})})})})})})};function fn(e){if(e==null)return``;if(typeof e==`number`)return String(e);if(typeof e==`boolean`)return e?`true`:`false`;let t=String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
2
- `)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}function pn(e){if(e.length===0)return``;let t=e[0].map(e=>fn(e.label)),n=e.map(e=>e.map(e=>fn(e.value)).join(`,`));return[t.join(`,`),...n].join(`
3
- `)}function mn(e,t){let n=pn(e);if(!n)return;let r=new Blob([n],{type:`text/csv;charset=utf-8;`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${t}.csv`,a.click(),URL.revokeObjectURL(i)}const hn=({onSearch:e,onChange:t,...n})=>{let r=Pe(t=>{e?.(t)},500);return Y(`div`,{className:`relative w-full max-w-80 flex-1`,children:[J(S,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),J(`div`,{className:`pointer-events-none absolute inset-y-0 inset-s-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:J(ve,{size:16})}),J(`button`,{className:`absolute inset-y-0 inset-e-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:J(j,{size:16,"aria-hidden":`true`})})]})},$=({children:e,disabled:t,onClick:n})=>J(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),gn=({onCreate:e,onDownload:t,onRefresh:n})=>{let{table:r,csvData:i,csvFileName:a,title:o}=Z(),s=V(()=>{if(t){t();return}if(!i||i.length===0)return;let e=r.getSelectedRowModel().flatRows;mn(e.length>0?e.map(e=>i[e.index]).filter(Boolean):i,a||o)},[t,i,a,r,o]),c=!!(t||i&&i.length>0);return Y(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[J($,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:J(ae,{})}),J($,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:J(_e,{})}),J($,{disabled:!c,onClick:e=>{s(),e.stopPropagation(),e.preventDefault()},children:J(I,{})})]})},_n=({children:e})=>{let{title:t}=Z();return Y(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[J(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),J(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};_n.displayName=`TableTooltip`;export{Ue as A,Ze as C,Ke as D,qe as E,Re as F,Le as I,Ie as L,Ve as M,Be as N,Ge as O,ze as P,Fe as R,Dt as S,Ye as T,Nt as _,rn as a,kt as b,Vt as c,zt as d,Rt as f,Pt as g,Ft as h,dn as i,He as j,We as k,Q as l,It as m,gn as n,Ut as o,Lt as p,hn as r,Ht as s,_n as t,Bt as u,Mt as v,Xe as w,Ot as x,At as y};
4
- //# sourceMappingURL=tables-BQ-QiA1V.mjs.map