@customafk/lunas-ui 0.2.75 → 0.2.77

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 (806) hide show
  1. package/dist/{FeatureDeveloping-zuTTDIh_.d.cts → FeatureDeveloping-DRmYHj91.d.cts} +2 -9
  2. package/dist/{FeatureDeveloping-zuTTDIh_.d.mts → FeatureDeveloping-DRmYHj91.d.mts} +2 -9
  3. package/dist/{FeatureFixing-DYQlgHPk.d.cts → FeatureFixing-BHHCDtAQ.d.cts} +2 -9
  4. package/dist/{FeatureFixing-DYQlgHPk.d.mts → FeatureFixing-BHHCDtAQ.d.mts} +2 -9
  5. package/dist/{LoginPage-vMXvwtxf.d.cts → LoginPage-DDljzV6A.d.cts} +2 -12
  6. package/dist/{LoginPage-vMXvwtxf.d.mts → LoginPage-DDljzV6A.d.mts} +2 -12
  7. package/dist/{NotAuthorized-CZIQ6EaA.d.cts → NotAuthorized-DTT57OHb.d.cts} +2 -9
  8. package/dist/{NotAuthorized-CZIQ6EaA.d.mts → NotAuthorized-DTT57OHb.d.mts} +2 -9
  9. package/dist/{NotFound-CRSKxhV8.d.cts → NotFound-BeUB1yus.d.cts} +2 -9
  10. package/dist/{NotFound-CRSKxhV8.d.mts → NotFound-BeUB1yus.d.mts} +2 -9
  11. package/dist/{RegisterPage-BBtpEzvL.d.cts → RegisterPage-LuTuV7Sw.d.cts} +2 -11
  12. package/dist/{RegisterPage-BBtpEzvL.d.mts → RegisterPage-LuTuV7Sw.d.mts} +2 -11
  13. package/dist/{VerifyEmailPage-CsmIeYLu.d.cts → VerifyEmailPage-5DFlEkk3.d.cts} +2 -14
  14. package/dist/{VerifyEmailPage-CsmIeYLu.d.mts → VerifyEmailPage-5DFlEkk3.d.mts} +2 -14
  15. package/dist/{action-submit-ScN29AQ1.mjs → action-submit-DVNxnW4-.mjs} +2 -2
  16. package/dist/{action-submit-ScN29AQ1.mjs.map → action-submit-DVNxnW4-.mjs.map} +1 -1
  17. package/dist/{action-submit-DI590CG3.cjs → action-submit-kYjq-iPD.cjs} +2 -2
  18. package/dist/{action-submit-DI590CG3.cjs.map → action-submit-kYjq-iPD.cjs.map} +1 -1
  19. package/dist/{actions-form-CNW4nhAP.cjs → actions-form-CwicJU89.cjs} +2 -2
  20. package/dist/{actions-form-CNW4nhAP.cjs.map → actions-form-CwicJU89.cjs.map} +1 -1
  21. package/dist/{actions-form-f8sejItb.mjs → actions-form-DRrkiGzh.mjs} +2 -2
  22. package/dist/{actions-form-f8sejItb.mjs.map → actions-form-DRrkiGzh.mjs.map} +1 -1
  23. package/dist/activity-heatmap-chart-DufvFndI.mjs.map +1 -1
  24. package/dist/activity-heatmap-chart-gDcvIAK_.cjs.map +1 -1
  25. package/dist/{add-new-DkBwXh0Q.d.cts → add-new-CHYPSC1G.d.cts} +3 -2
  26. package/dist/{add-new-DkBwXh0Q.d.mts → add-new-CHYPSC1G.d.mts} +3 -2
  27. package/dist/{alert-Bip5XjBw.d.cts → alert-C8wdckO8.d.cts} +4 -19
  28. package/dist/{alert-Bip5XjBw.d.mts → alert-C8wdckO8.d.mts} +4 -19
  29. package/dist/alert-D31c6DLq.cjs.map +1 -1
  30. package/dist/alert-OD1KJTEV.mjs.map +1 -1
  31. package/dist/{alert-dialog-Cdhz7jSj.d.cts → alert-dialog-8aDimwPK.d.cts} +12 -43
  32. package/dist/{alert-dialog-Cdhz7jSj.d.mts → alert-dialog-8aDimwPK.d.mts} +12 -43
  33. package/dist/analysis-panel-BqZmOU58.mjs.map +1 -1
  34. package/dist/analysis-panel-CQZ0hmfN.cjs.map +1 -1
  35. package/dist/{aspect-ratio-huscluwJ.d.cts → aspect-ratio-DqXWkGJQ.d.cts} +2 -6
  36. package/dist/{aspect-ratio-huscluwJ.d.mts → aspect-ratio-DqXWkGJQ.d.mts} +2 -6
  37. package/dist/avatar-name-display-BrpnTqa_.mjs.map +1 -1
  38. package/dist/avatar-name-display-CLi1DJUs.cjs.map +1 -1
  39. package/dist/{avatar-BpeFwSkQ.d.cts → avatar-yN3dNBsZ.d.cts} +4 -14
  40. package/dist/{avatar-BpeFwSkQ.d.mts → avatar-yN3dNBsZ.d.mts} +4 -14
  41. package/dist/{badge-MRT40pxM.d.cts → badge-BPiU1Ss2.d.cts} +2 -10
  42. package/dist/{badge-MRT40pxM.d.mts → badge-BPiU1Ss2.d.mts} +2 -10
  43. package/dist/badge-display-DmCKpGk9.cjs.map +1 -1
  44. package/dist/badge-display-RP5VTE10.mjs.map +1 -1
  45. package/dist/{breadcrumb-CSpScKZm.d.cts → breadcrumb-DEFTnz90.d.cts} +8 -31
  46. package/dist/{breadcrumb-CSpScKZm.d.mts → breadcrumb-DEFTnz90.d.mts} +8 -31
  47. package/dist/{button-Bk4Y6_9I.d.cts → button-BnoPktln.d.cts} +2 -15
  48. package/dist/{button-Bk4Y6_9I.d.mts → button-BnoPktln.d.mts} +2 -15
  49. package/dist/{button-group-Cd5m5G3p.d.mts → button-group-Br7Cye6b.d.mts} +5 -18
  50. package/dist/{button-group-CiKhLVCg.d.cts → button-group-CP48qR0o.d.cts} +5 -18
  51. package/dist/{calendar-DPKt7D3w.d.mts → calendar-BkV5hTX2.d.mts} +6 -21
  52. package/dist/{calendar-stv2bJv0.d.cts → calendar-iDMPT1kI.d.cts} +6 -21
  53. package/dist/candlestick-chart-CiBiCU3y.mjs.map +1 -1
  54. package/dist/candlestick-chart-CqmRkfXj.cjs.map +1 -1
  55. package/dist/{card-DOnx7RKz.d.cts → card-C7jG9mCZ.d.cts} +8 -29
  56. package/dist/{card-DOnx7RKz.d.mts → card-C7jG9mCZ.d.mts} +8 -29
  57. package/dist/card-form-BR5kDTzB.cjs.map +1 -1
  58. package/dist/card-form-D9fNO-6F.mjs.map +1 -1
  59. package/dist/cards/grid-product-card.cjs.map +1 -1
  60. package/dist/cards/grid-product-card.d.cts +1 -1
  61. package/dist/cards/grid-product-card.d.mts +1 -1
  62. package/dist/cards/grid-product-card.mjs.map +1 -1
  63. package/dist/cards/product-card.cjs.map +1 -1
  64. package/dist/cards/product-card.d.cts +1 -1
  65. package/dist/cards/product-card.d.mts +1 -1
  66. package/dist/cards/product-card.mjs.map +1 -1
  67. package/dist/cards/simple-card.d.cts +1 -1
  68. package/dist/cards/simple-card.d.mts +1 -1
  69. package/dist/{carousel-CV3IZ96x.d.mts → carousel-D7VXWJ3S.d.mts} +7 -32
  70. package/dist/{carousel-c2XuzmYN.d.cts → carousel-bBvM31sh.d.cts} +7 -32
  71. package/dist/{chart-sYFksFMk.d.cts → chart-D8tNf0_6.d.cts} +6 -36
  72. package/dist/{chart-sYFksFMk.d.mts → chart-D8tNf0_6.d.mts} +6 -36
  73. package/dist/{checkbox-XfLNnG0S.d.cts → checkbox-Cuc-_UcF.d.cts} +2 -6
  74. package/dist/{checkbox-XfLNnG0S.d.mts → checkbox-Cuc-_UcF.d.mts} +2 -6
  75. package/dist/{checkbox-field-Csro0Nla.mjs → checkbox-field-BN3Vd9qq.mjs} +2 -2
  76. package/dist/{checkbox-field-Csro0Nla.mjs.map → checkbox-field-BN3Vd9qq.mjs.map} +1 -1
  77. package/dist/{checkbox-field-Ck_VADFe.cjs → checkbox-field-DBUjQC_4.cjs} +2 -2
  78. package/dist/{checkbox-field-Ck_VADFe.cjs.map → checkbox-field-DBUjQC_4.cjs.map} +1 -1
  79. package/dist/close-BYHgEZvZ.cjs.map +1 -1
  80. package/dist/close-DYJZ8fkh.mjs.map +1 -1
  81. package/dist/cms-layout-BXd2ncAV.cjs +2 -0
  82. package/dist/cms-layout-BXd2ncAV.cjs.map +1 -0
  83. package/dist/cms-layout-COIo9HiP.mjs +2 -0
  84. package/dist/cms-layout-COIo9HiP.mjs.map +1 -0
  85. package/dist/{collapsible-liIHmFuw.d.cts → collapsible-D3MS6pMC.d.cts} +4 -11
  86. package/dist/{collapsible-liIHmFuw.d.mts → collapsible-D3MS6pMC.d.mts} +4 -11
  87. package/dist/combobox-BFLmuV4w.d.cts +120 -0
  88. package/dist/combobox-C64Rvd7n.mjs +2 -0
  89. package/dist/combobox-C64Rvd7n.mjs.map +1 -0
  90. package/dist/{combobox-field-Bxrct4lA.cjs → combobox-field-BE9miJ3D.cjs} +2 -2
  91. package/dist/{combobox-field-Bxrct4lA.cjs.map → combobox-field-BE9miJ3D.cjs.map} +1 -1
  92. package/dist/{combobox-field-BMfA_taQ.mjs → combobox-field-Bug1qI5B.mjs} +2 -2
  93. package/dist/{combobox-field-BMfA_taQ.mjs.map → combobox-field-Bug1qI5B.mjs.map} +1 -1
  94. package/dist/combobox-kp_kPY8o.cjs +2 -0
  95. package/dist/combobox-kp_kPY8o.cjs.map +1 -0
  96. package/dist/combobox-wOpqEFBq.d.mts +120 -0
  97. package/dist/{command-Bb6SneVI.d.mts → command-BM9cIuFp.d.cts} +11 -42
  98. package/dist/{command-CHSJVU9o.d.cts → command-DLnIGYou.d.mts} +11 -42
  99. package/dist/{context-menu-BOlGSuep.d.cts → context-menu-z_-DdL8k.d.cts} +16 -64
  100. package/dist/{context-menu-BOlGSuep.d.mts → context-menu-z_-DdL8k.d.mts} +16 -64
  101. package/dist/conversion-funnel-chart-CW_zDfKS.mjs.map +1 -1
  102. package/dist/conversion-funnel-chart-r2m2QbiQ.cjs.map +1 -1
  103. package/dist/correlation-scatter-chart-Djtt7NU7.mjs.map +1 -1
  104. package/dist/correlation-scatter-chart-HF48YUIB.cjs.map +1 -1
  105. package/dist/{country-C8QijcHF.d.mts → country-8m51pdnj.d.mts} +3 -3
  106. package/dist/{country-CJIaO0I7.d.cts → country-BPlbbV9W.d.cts} +3 -3
  107. package/dist/currency-display-Buxc6Ph5.cjs.map +1 -1
  108. package/dist/currency-display-CEg_HRYv.mjs.map +1 -1
  109. package/dist/data-display/country.cjs.map +1 -1
  110. package/dist/data-display/country.d.cts +1 -1
  111. package/dist/data-display/country.d.mts +1 -1
  112. package/dist/data-display/country.mjs.map +1 -1
  113. package/dist/data-display/data-list.cjs.map +1 -1
  114. package/dist/data-display/data-list.d.cts +1 -1
  115. package/dist/data-display/data-list.d.mts +1 -1
  116. package/dist/data-display/data-list.mjs.map +1 -1
  117. package/dist/data-display/date-tooltip.cjs.map +1 -1
  118. package/dist/data-display/date-tooltip.d.cts +1 -1
  119. package/dist/data-display/date-tooltip.d.mts +1 -1
  120. package/dist/data-display/date-tooltip.mjs.map +1 -1
  121. package/dist/data-display/empty.cjs.map +1 -1
  122. package/dist/data-display/empty.d.cts +1 -1
  123. package/dist/data-display/empty.d.mts +1 -1
  124. package/dist/data-display/empty.mjs.map +1 -1
  125. package/dist/data-display/name.cjs.map +1 -1
  126. package/dist/data-display/name.d.cts +1 -1
  127. package/dist/data-display/name.d.mts +1 -1
  128. package/dist/data-display/name.mjs.map +1 -1
  129. package/dist/data-display/phone-number.cjs.map +1 -1
  130. package/dist/data-display/phone-number.d.cts +1 -1
  131. package/dist/data-display/phone-number.d.mts +1 -1
  132. package/dist/data-display/phone-number.mjs.map +1 -1
  133. package/dist/data-display/role-badge.cjs.map +1 -1
  134. package/dist/data-display/role-badge.d.cts +1 -1
  135. package/dist/data-display/role-badge.d.mts +1 -1
  136. package/dist/data-display/role-badge.mjs.map +1 -1
  137. package/dist/data-display/statistic.cjs.map +1 -1
  138. package/dist/data-display/statistic.d.cts +1 -1
  139. package/dist/data-display/statistic.d.mts +1 -1
  140. package/dist/data-display/statistic.mjs.map +1 -1
  141. package/dist/data-display/user.cjs.map +1 -1
  142. package/dist/data-display/user.d.cts +1 -1
  143. package/dist/data-display/user.d.mts +1 -1
  144. package/dist/data-display/user.mjs.map +1 -1
  145. package/dist/{data-list-Cg510z2m.d.cts → data-list-BRHjqVUT.d.cts} +10 -5
  146. package/dist/{data-list-Cg510z2m.d.mts → data-list-BRHjqVUT.d.mts} +10 -5
  147. package/dist/date-B3cozmfV.cjs.map +1 -1
  148. package/dist/date-Nsz0Pewe.mjs.map +1 -1
  149. package/dist/date-display-BgI7Wjqf.cjs.map +1 -1
  150. package/dist/date-display-DGfHQhpu.mjs.map +1 -1
  151. package/dist/{date-field-Ba6O0uV3.cjs → date-field-CYoPe74G.cjs} +2 -2
  152. package/dist/{date-field-Ba6O0uV3.cjs.map → date-field-CYoPe74G.cjs.map} +1 -1
  153. package/dist/{date-field-DUx13OiJ.mjs → date-field-D_qpBb-t.mjs} +2 -2
  154. package/dist/{date-field-DUx13OiJ.mjs.map → date-field-D_qpBb-t.mjs.map} +1 -1
  155. package/dist/{date-tooltip-DptxGOj_.d.cts → date-tooltip-BZ4JiwfW.d.cts} +3 -2
  156. package/dist/{date-tooltip-DptxGOj_.d.mts → date-tooltip-BZ4JiwfW.d.mts} +3 -2
  157. package/dist/description-display-BR8nXqc_.cjs.map +1 -1
  158. package/dist/description-display-CW0g3aJa.mjs.map +1 -1
  159. package/dist/detail-dialog-Ct0vAjFe.mjs +2 -0
  160. package/dist/detail-dialog-Ct0vAjFe.mjs.map +1 -0
  161. package/dist/detail-dialog-uN5mrCa7.cjs +2 -0
  162. package/dist/detail-dialog-uN5mrCa7.cjs.map +1 -0
  163. package/dist/{dialog-BASlxWF_.d.cts → dialog-c1vBnso8.d.cts} +13 -41
  164. package/dist/{dialog-BASlxWF_.d.mts → dialog-c1vBnso8.d.mts} +13 -41
  165. package/dist/{dialog-form-B_kgYxZg.cjs → dialog-form-BTZZwz3T.cjs} +2 -2
  166. package/dist/{dialog-form-B_kgYxZg.cjs.map → dialog-form-BTZZwz3T.cjs.map} +1 -1
  167. package/dist/{dialog-form-SyBJUlDB.mjs → dialog-form-CCIcht28.mjs} +2 -2
  168. package/dist/{dialog-form-SyBJUlDB.mjs.map → dialog-form-CCIcht28.mjs.map} +1 -1
  169. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  170. package/dist/dialogs/confirm-dialog.mjs.map +1 -1
  171. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  172. package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +1 -1
  173. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +64 -133
  174. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +64 -133
  175. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  176. package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +1 -1
  177. package/dist/dialogs/detail-dialog/index.cjs +1 -2
  178. package/dist/dialogs/detail-dialog/index.d.cts +1 -1
  179. package/dist/dialogs/detail-dialog/index.d.mts +1 -1
  180. package/dist/dialogs/detail-dialog/index.mjs +1 -2
  181. package/dist/dialogs/error-dialog.cjs.map +1 -1
  182. package/dist/dialogs/error-dialog.d.cts +1 -1
  183. package/dist/dialogs/error-dialog.d.mts +1 -1
  184. package/dist/dialogs/error-dialog.mjs.map +1 -1
  185. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  186. package/dist/dialogs/loading-dialog.d.cts +1 -1
  187. package/dist/dialogs/loading-dialog.d.mts +1 -1
  188. package/dist/dialogs/loading-dialog.mjs.map +1 -1
  189. package/dist/donut-chart-CsPPKy0G.cjs.map +1 -1
  190. package/dist/donut-chart-eKZjuzW0.mjs.map +1 -1
  191. package/dist/{drawer-Dwx99ff3.d.cts → drawer-B8cntcg3.d.cts} +11 -39
  192. package/dist/{drawer-Dwx99ff3.d.mts → drawer-B8cntcg3.d.mts} +11 -39
  193. package/dist/{dropdown-menu-CcMccVns.d.cts → dropdown-menu-wdaYl-q0.d.cts} +16 -66
  194. package/dist/{dropdown-menu-CcMccVns.d.mts → dropdown-menu-wdaYl-q0.d.mts} +16 -66
  195. package/dist/{edit-qfS5kOtM.d.cts → edit-C8JDClC3.d.cts} +3 -2
  196. package/dist/{edit-qfS5kOtM.d.mts → edit-C8JDClC3.d.mts} +3 -2
  197. package/dist/edit-button-0_FLZoT3.cjs.map +1 -1
  198. package/dist/edit-button-DmMFMzG0.mjs.map +1 -1
  199. package/dist/email-display-BKcoWmPK.mjs.map +1 -1
  200. package/dist/email-display-DqKYq0iM.cjs.map +1 -1
  201. package/dist/{email-field-CO_BZHod.cjs → email-field-DJa7iASY.cjs} +2 -2
  202. package/dist/{email-field-CO_BZHod.cjs.map → email-field-DJa7iASY.cjs.map} +1 -1
  203. package/dist/{email-field-BGYZUVl0.mjs → email-field-DxSNJ6tf.mjs} +2 -2
  204. package/dist/{email-field-BGYZUVl0.mjs.map → email-field-DxSNJ6tf.mjs.map} +1 -1
  205. package/dist/{empty-CaNJjp05.d.cts → empty-B-Nd7s_O.d.cts} +7 -27
  206. package/dist/{empty-CaNJjp05.d.mts → empty-B-Nd7s_O.d.mts} +7 -27
  207. package/dist/{empty-ClQptIZH.d.cts → empty-CHTdH5fg.d.cts} +4 -2
  208. package/dist/{empty-ClQptIZH.d.mts → empty-CHTdH5fg.d.mts} +4 -2
  209. package/dist/{error-dialog-D4jOPhmw.d.cts → error-dialog-DYQSm_JC.d.cts} +6 -3
  210. package/dist/{error-dialog-D4jOPhmw.d.mts → error-dialog-DYQSm_JC.d.mts} +6 -3
  211. package/dist/features/charts/index.cjs.map +1 -1
  212. package/dist/features/charts/index.d.cts +1 -1
  213. package/dist/features/charts/index.d.mts +1 -1
  214. package/dist/features/charts/index.mjs.map +1 -1
  215. package/dist/features/descriptions/index.cjs.map +1 -1
  216. package/dist/features/descriptions/index.d.cts +1 -1
  217. package/dist/features/descriptions/index.d.mts +1 -1
  218. package/dist/features/descriptions/index.mjs.map +1 -1
  219. package/dist/features/logo/index.cjs.map +1 -1
  220. package/dist/features/logo/index.d.cts +3 -8
  221. package/dist/features/logo/index.d.mts +3 -8
  222. package/dist/features/logo/index.mjs.map +1 -1
  223. package/dist/features/tables/index.d.cts +1 -1
  224. package/dist/features/tables/index.d.mts +1 -1
  225. package/dist/features/tanstack-form/index.cjs +1 -1
  226. package/dist/features/tanstack-form/index.d.cts +1 -1
  227. package/dist/features/tanstack-form/index.d.mts +1 -1
  228. package/dist/features/tanstack-form/index.mjs +1 -1
  229. package/dist/features/text-editor/index.cjs +1 -1
  230. package/dist/features/text-editor/index.d.cts +1 -1
  231. package/dist/features/text-editor/index.d.mts +1 -1
  232. package/dist/features/text-editor/index.mjs +1 -1
  233. package/dist/field-BSLi-P0Q.cjs.map +1 -1
  234. package/dist/field-V2DoD8qL.mjs.map +1 -1
  235. package/dist/{file-uploader-U64lH0zG.d.cts → file-uploader-DyHOMFK3.d.cts} +1 -2
  236. package/dist/{file-uploader-U64lH0zG.d.mts → file-uploader-DyHOMFK3.d.mts} +1 -2
  237. package/dist/filter-CWuRGTl4.mjs.map +1 -1
  238. package/dist/filter-DqedvThM.cjs.map +1 -1
  239. package/dist/{flex-bw7U4hXn.d.cts → flex-BTPF2-F6.d.cts} +7 -18
  240. package/dist/{flex-bw7U4hXn.d.mts → flex-BTPF2-F6.d.mts} +7 -18
  241. package/dist/{form-CMP15S4r.d.cts → form-D0M_qGX_.d.cts} +8 -45
  242. package/dist/{form-CMP15S4r.d.mts → form-D0M_qGX_.d.mts} +8 -45
  243. package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs.map +1 -1
  244. package/dist/gain-loss-bar-chart-FUzN7DxF.cjs.map +1 -1
  245. package/dist/{google-Bl-jBW8L.d.cts → google-vajkoOiC.d.cts} +9 -5
  246. package/dist/{google-Bl-jBW8L.d.mts → google-vajkoOiC.d.mts} +9 -5
  247. package/dist/{grid-product-card-bpADqDOQ.d.cts → grid-product-card-P5X8ZPQF.d.cts} +14 -7
  248. package/dist/{grid-product-card-bpADqDOQ.d.mts → grid-product-card-P5X8ZPQF.d.mts} +14 -7
  249. package/dist/group-field-gejvx_Td.mjs.map +1 -1
  250. package/dist/group-field-sVykO2JZ.cjs.map +1 -1
  251. package/dist/{hover-card-Prwm-0Q4.d.cts → hover-card-JeShfV9g.d.cts} +4 -14
  252. package/dist/{hover-card-Prwm-0Q4.d.mts → hover-card-JeShfV9g.d.mts} +4 -14
  253. package/dist/image-BvDGi_G7.d.cts +36 -0
  254. package/dist/image-BvDGi_G7.d.mts +36 -0
  255. package/dist/{index-DJiiPHPf.d.cts → index-BBMKb5q2.d.cts} +28 -13
  256. package/dist/{index-DJiiPHPf.d.mts → index-BBMKb5q2.d.mts} +28 -13
  257. package/dist/{index-CS7oydGk.d.cts → index-BMuVmm7f.d.mts} +26 -26
  258. package/dist/index-BOifmu0V.d.cts +51 -0
  259. package/dist/index-BOifmu0V.d.mts +51 -0
  260. package/dist/{index-FEMPGfwO.d.cts → index-C9JAujMq.d.cts} +304 -142
  261. package/dist/{index-DmvXR2Cn.d.mts → index-CLx89ATZ.d.cts} +26 -26
  262. package/dist/{index-CBntsHIg.d.cts → index-DJKJt7oV.d.cts} +111 -54
  263. package/dist/{index-CBntsHIg.d.mts → index-DJKJt7oV.d.mts} +111 -54
  264. package/dist/{index-DOaKN0wJ.d.cts → index-DRAyYm8g.d.cts} +4 -34
  265. package/dist/{index-DOaKN0wJ.d.mts → index-DRAyYm8g.d.mts} +4 -34
  266. package/dist/{index-_GTjwUdG.d.mts → index-DnHoBjv7.d.mts} +304 -142
  267. package/dist/{index-BoYnKWwg.d.cts → index-DvC1inRy.d.cts} +789 -689
  268. package/dist/{index-BoYnKWwg.d.mts → index-DvC1inRy.d.mts} +789 -689
  269. package/dist/{index-teY5hw2R.d.cts → index-KgI9KqIf.d.cts} +33 -15
  270. package/dist/{index-teY5hw2R.d.mts → index-KgI9KqIf.d.mts} +33 -15
  271. package/dist/index.cjs +1 -1
  272. package/dist/index.d.cts +92 -91
  273. package/dist/index.d.mts +92 -91
  274. package/dist/index.mjs +1 -1
  275. package/dist/indexed-performance-line-chart-CT79KOM6.cjs.map +1 -1
  276. package/dist/indexed-performance-line-chart-D7F-rIMv.mjs.map +1 -1
  277. package/dist/{input-BieGEIDf.d.cts → input-D73TrUof.d.cts} +8 -13
  278. package/dist/{input-BieGEIDf.d.mts → input-D73TrUof.d.mts} +8 -13
  279. package/dist/{input-otp-6hJfhBHX.d.cts → input-otp-DGf28Nq2.d.cts} +7 -20
  280. package/dist/{input-otp-6hJfhBHX.d.mts → input-otp-DGf28Nq2.d.mts} +7 -20
  281. package/dist/{item-DTR2f2CX.d.cts → item-BxUBO7Hd.d.cts} +12 -47
  282. package/dist/{item-cIhkI3ZI.d.mts → item-ChW41yKF.d.mts} +12 -47
  283. package/dist/{label-DPG_GY7h.d.cts → label-CKywNz0h.d.cts} +2 -6
  284. package/dist/{label-DPG_GY7h.d.mts → label-CKywNz0h.d.mts} +2 -6
  285. package/dist/layouts/cms-layout/index.cjs +1 -1
  286. package/dist/layouts/cms-layout/index.d.cts +1 -1
  287. package/dist/layouts/cms-layout/index.d.mts +1 -1
  288. package/dist/layouts/cms-layout/index.mjs +1 -1
  289. package/dist/layouts/flex.d.cts +1 -1
  290. package/dist/layouts/flex.d.mts +1 -1
  291. package/dist/layouts/grid.cjs.map +1 -1
  292. package/dist/layouts/grid.mjs.map +1 -1
  293. package/dist/layouts/payment-layout/index.cjs +1 -1
  294. package/dist/layouts/payment-layout/index.d.cts +1 -1
  295. package/dist/layouts/payment-layout/index.d.mts +1 -1
  296. package/dist/layouts/payment-layout/index.mjs +1 -1
  297. package/dist/list-display-BRJVmji0.cjs.map +1 -1
  298. package/dist/list-display-Co94sV4H.mjs.map +1 -1
  299. package/dist/{loading-dialog-C73EJx9s.d.cts → loading-dialog-DXjQSQnC.d.cts} +4 -2
  300. package/dist/{loading-dialog-C73EJx9s.d.mts → loading-dialog-DXjQSQnC.d.mts} +4 -2
  301. package/dist/{menubar-CFrn3S96.d.cts → menubar-PDJeDtHh.d.cts} +17 -72
  302. package/dist/{menubar-CFrn3S96.d.mts → menubar-PDJeDtHh.d.mts} +17 -72
  303. package/dist/metric-radar-chart-6LTGQHsL.mjs.map +1 -1
  304. package/dist/metric-radar-chart-DwgbXgJX.cjs.map +1 -1
  305. package/dist/mirrored-bar-chart-BT7AYPJB.mjs.map +1 -1
  306. package/dist/mirrored-bar-chart-BwjtExjh.cjs.map +1 -1
  307. package/dist/more-button-BKBcXz6E.mjs.map +1 -1
  308. package/dist/more-button-RYvZgYiu.cjs.map +1 -1
  309. package/dist/{multi-select-BbiKgAYs.d.cts → multi-select-C4ae_jaX.d.mts} +2 -3
  310. package/dist/{multi-select-BoBHt_Z9.d.mts → multi-select-V3chK_bJ.d.cts} +2 -3
  311. package/dist/name-display-B-FtblLL.cjs.map +1 -1
  312. package/dist/name-display-CB9XAhXP.mjs.map +1 -1
  313. package/dist/{name-7aoM5rAW.d.cts → name-tnVKGZN7.d.cts} +3 -2
  314. package/dist/{name-7aoM5rAW.d.mts → name-tnVKGZN7.d.mts} +3 -2
  315. package/dist/{navigation-menu-B1BY9Zll.d.cts → navigation-menu-BCjjeblq.d.cts} +11 -38
  316. package/dist/{navigation-menu-B1BY9Zll.d.mts → navigation-menu-BCjjeblq.d.mts} +11 -38
  317. package/dist/{number-field-B89VeU2r.mjs → number-field-5INgdUUv.mjs} +2 -2
  318. package/dist/{number-field-B89VeU2r.mjs.map → number-field-5INgdUUv.mjs.map} +1 -1
  319. package/dist/{number-field-C7iEv5GJ.cjs → number-field-DKZz-27X.cjs} +2 -2
  320. package/dist/{number-field-C7iEv5GJ.cjs.map → number-field-DKZz-27X.cjs.map} +1 -1
  321. package/dist/number-input-CAr3JaA-.cjs +2 -0
  322. package/dist/{number-input-kTh9zzr7.cjs.map → number-input-CAr3JaA-.cjs.map} +1 -1
  323. package/dist/number-input-CJcEV9Cg.mjs +2 -0
  324. package/dist/{number-input-CqkegUWs.mjs.map → number-input-CJcEV9Cg.mjs.map} +1 -1
  325. package/dist/orders-bar-chart-9RmtP6In.cjs.map +1 -1
  326. package/dist/orders-bar-chart-DQhJGmwY.mjs.map +1 -1
  327. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  328. package/dist/pages/FeatureDeveloping.d.cts +1 -1
  329. package/dist/pages/FeatureDeveloping.d.mts +1 -1
  330. package/dist/pages/FeatureDeveloping.mjs.map +1 -1
  331. package/dist/pages/FeatureFixing.cjs.map +1 -1
  332. package/dist/pages/FeatureFixing.d.cts +1 -1
  333. package/dist/pages/FeatureFixing.d.mts +1 -1
  334. package/dist/pages/FeatureFixing.mjs.map +1 -1
  335. package/dist/pages/LoginPage.cjs.map +1 -1
  336. package/dist/pages/LoginPage.d.cts +1 -1
  337. package/dist/pages/LoginPage.d.mts +1 -1
  338. package/dist/pages/LoginPage.mjs.map +1 -1
  339. package/dist/pages/NotAuthorized.cjs.map +1 -1
  340. package/dist/pages/NotAuthorized.d.cts +1 -1
  341. package/dist/pages/NotAuthorized.d.mts +1 -1
  342. package/dist/pages/NotAuthorized.mjs.map +1 -1
  343. package/dist/pages/NotFound.cjs.map +1 -1
  344. package/dist/pages/NotFound.d.cts +1 -1
  345. package/dist/pages/NotFound.d.mts +1 -1
  346. package/dist/pages/NotFound.mjs.map +1 -1
  347. package/dist/pages/RegisterPage.cjs.map +1 -1
  348. package/dist/pages/RegisterPage.d.cts +1 -1
  349. package/dist/pages/RegisterPage.d.mts +1 -1
  350. package/dist/pages/RegisterPage.mjs.map +1 -1
  351. package/dist/pages/VerifyEmailPage.cjs.map +1 -1
  352. package/dist/pages/VerifyEmailPage.d.cts +1 -1
  353. package/dist/pages/VerifyEmailPage.d.mts +1 -1
  354. package/dist/pages/VerifyEmailPage.mjs.map +1 -1
  355. package/dist/{pagination-B2fyP0J2.d.cts → pagination-BRw-yZBY.d.cts} +11 -33
  356. package/dist/{pagination-DY0PBCnI.d.mts → pagination-BlLiOvY9.d.mts} +11 -33
  357. package/dist/{paragraph-BTmvVS1S.d.mts → paragraph-CRo5eC7H.d.mts} +2 -7
  358. package/dist/{paragraph-DbYYv0A0.d.cts → paragraph-CkCNIsvz.d.cts} +2 -7
  359. package/dist/{password-field-9RZ84TNz.cjs → password-field-BuWARi35.cjs} +2 -2
  360. package/dist/{password-field-9RZ84TNz.cjs.map → password-field-BuWARi35.cjs.map} +1 -1
  361. package/dist/{password-field-pqUgUcgf.mjs → password-field-DOIe6wTv.mjs} +2 -2
  362. package/dist/{password-field-pqUgUcgf.mjs.map → password-field-DOIe6wTv.mjs.map} +1 -1
  363. package/dist/{payment-layout-DS5CEH1h.mjs → payment-layout-BSl9DYQA.mjs} +2 -2
  364. package/dist/{payment-layout-DS5CEH1h.mjs.map → payment-layout-BSl9DYQA.mjs.map} +1 -1
  365. package/dist/payment-layout-DDcLanA0.cjs +2 -0
  366. package/dist/{payment-layout-Cb-Q8KD2.cjs.map → payment-layout-DDcLanA0.cjs.map} +1 -1
  367. package/dist/permalink-CUIKG9VA.cjs.map +1 -1
  368. package/dist/permalink-I-INEarM.mjs.map +1 -1
  369. package/dist/phone-number-Cu7Mnl6J.mjs.map +1 -1
  370. package/dist/{phone-number-6b_pkGI1.d.cts → phone-number-D9j5xYDW.d.cts} +3 -2
  371. package/dist/{phone-number-6b_pkGI1.d.mts → phone-number-D9j5xYDW.d.mts} +3 -2
  372. package/dist/phone-number-DJvfJg1b.cjs.map +1 -1
  373. package/dist/{popover-form-CLr6xIl5.cjs → popover-form-Bq2GcuZu.cjs} +2 -2
  374. package/dist/{popover-form-CLr6xIl5.cjs.map → popover-form-Bq2GcuZu.cjs.map} +1 -1
  375. package/dist/{popover-form-BmOqFjQM.mjs → popover-form-BsapHJck.mjs} +2 -2
  376. package/dist/{popover-form-BmOqFjQM.mjs.map → popover-form-BsapHJck.mjs.map} +1 -1
  377. package/dist/{popover-CdOCi0xg.d.cts → popover-qfF3o0zL.d.cts} +6 -21
  378. package/dist/{popover-CdOCi0xg.d.mts → popover-qfF3o0zL.d.mts} +6 -21
  379. package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs.map +1 -1
  380. package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs.map +1 -1
  381. package/dist/price-range-area-chart-BW6RQb_9.cjs.map +1 -1
  382. package/dist/price-range-area-chart-Dy01mhWJ.mjs.map +1 -1
  383. package/dist/{product-card-CvXLXbpV.d.cts → product-card-CYNh0CT5.d.cts} +14 -7
  384. package/dist/{product-card-CvXLXbpV.d.mts → product-card-CYNh0CT5.d.mts} +14 -7
  385. package/dist/{progress-Bp-5keO8.d.cts → progress-BpWaSlPG.d.cts} +2 -7
  386. package/dist/{progress-Bp-5keO8.d.mts → progress-BpWaSlPG.d.mts} +2 -7
  387. package/dist/progress-display-DbfN7U8m.cjs.map +1 -1
  388. package/dist/progress-display-qgvclwy9.mjs.map +1 -1
  389. package/dist/{radio-group-ycQQrPGn.d.cts → radio-group-D_ssq0Q2.d.cts} +3 -10
  390. package/dist/{radio-group-ycQQrPGn.d.mts → radio-group-D_ssq0Q2.d.mts} +3 -10
  391. package/dist/{radio-group-field-DsUi8uCy.mjs → radio-group-field-DOJ4jVSr.mjs} +2 -2
  392. package/dist/{radio-group-field-DsUi8uCy.mjs.map → radio-group-field-DOJ4jVSr.mjs.map} +1 -1
  393. package/dist/{radio-group-field-Bm2nkk1W.cjs → radio-group-field-kTgtvp1p.cjs} +2 -2
  394. package/dist/{radio-group-field-Bm2nkk1W.cjs.map → radio-group-field-kTgtvp1p.cjs.map} +1 -1
  395. package/dist/{refresh-BiyrZAXL.d.cts → refresh-CWvkHT0L.d.cts} +3 -2
  396. package/dist/{refresh-BiyrZAXL.d.mts → refresh-CWvkHT0L.d.mts} +3 -2
  397. package/dist/remove-button-B3qFw-M5.cjs.map +1 -1
  398. package/dist/remove-button-Db5oSj4h.mjs.map +1 -1
  399. package/dist/{resizable-B1BHdSAr.d.cts → resizable-CWmitx5U.d.cts} +2 -3
  400. package/dist/{resizable-B1BHdSAr.d.mts → resizable-CWmitx5U.d.mts} +2 -3
  401. package/dist/revenue-area-chart-BwzeTRzD.mjs.map +1 -1
  402. package/dist/revenue-area-chart-w2FZCl_7.cjs.map +1 -1
  403. package/dist/revenue-orders-composed-chart-BttOWYGt.cjs.map +1 -1
  404. package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs.map +1 -1
  405. package/dist/{role-badge-IdZW0tsN.d.cts → role-badge-CojpT6hX.d.cts} +3 -3
  406. package/dist/{role-badge-Bl4Rimpk.d.mts → role-badge-NTpnTz8M.d.mts} +3 -3
  407. package/dist/sales-target-radial-chart-BFLxBT2m.mjs.map +1 -1
  408. package/dist/sales-target-radial-chart-BoxSk7hW.cjs.map +1 -1
  409. package/dist/sankey-flow-chart-CDUqIRMZ.cjs.map +1 -1
  410. package/dist/sankey-flow-chart-bQ3Dffet.mjs.map +1 -1
  411. package/dist/{scroll-area-PbkqIAaH.d.cts → scroll-area-BpSwutyr.d.cts} +3 -14
  412. package/dist/{scroll-area-PbkqIAaH.d.mts → scroll-area-BpSwutyr.d.mts} +3 -14
  413. package/dist/{search-input-Bq4enQzR.d.cts → search-input-DEvYI6Rm.d.mts} +3 -7
  414. package/dist/{search-input-D51_mAY-.d.mts → search-input-h_3MoMqK.d.cts} +3 -7
  415. package/dist/search-modal-CMhsIxae.cjs.map +1 -1
  416. package/dist/search-modal-Cdmi2iyV.mjs.map +1 -1
  417. package/dist/section-form-BJWWflUR.mjs.map +1 -1
  418. package/dist/section-form-C_pHiBEW.cjs.map +1 -1
  419. package/dist/{select-B5j4WvPM.d.cts → select-UNtSe_Fs.d.cts} +11 -37
  420. package/dist/{select-B5j4WvPM.d.mts → select-UNtSe_Fs.d.mts} +11 -37
  421. package/dist/{select-field-ikKFoatc.mjs → select-field-BcsFBbNJ.mjs} +2 -2
  422. package/dist/{select-field-ikKFoatc.mjs.map → select-field-BcsFBbNJ.mjs.map} +1 -1
  423. package/dist/{select-field-F9eikYws.cjs → select-field-CURv37h4.cjs} +2 -2
  424. package/dist/{select-field-F9eikYws.cjs.map → select-field-CURv37h4.cjs.map} +1 -1
  425. package/dist/{separator-D6_fMJtM.d.cts → separator-Cvxkpzrj.d.cts} +2 -8
  426. package/dist/{separator-D6_fMJtM.d.mts → separator-Cvxkpzrj.d.mts} +2 -8
  427. package/dist/{sheet-cHLLSvvt.d.cts → sheet-BBvQsKM_.d.cts} +11 -34
  428. package/dist/{sheet-cHLLSvvt.d.mts → sheet-BBvQsKM_.d.mts} +11 -34
  429. package/dist/sidebar-core-Bz_LtXZy.mjs +2 -0
  430. package/dist/sidebar-core-Bz_LtXZy.mjs.map +1 -0
  431. package/dist/sidebar-core-DUdB9WCv.cjs +2 -0
  432. package/dist/sidebar-core-DUdB9WCv.cjs.map +1 -0
  433. package/dist/{simple-array-field-Bm_5b8pE.cjs → simple-array-field-bCUuPMgT.cjs} +2 -2
  434. package/dist/{simple-array-field-Bm_5b8pE.cjs.map → simple-array-field-bCUuPMgT.cjs.map} +1 -1
  435. package/dist/{simple-array-field-CeqZJfVs.mjs → simple-array-field-wFE_DUOV.mjs} +2 -2
  436. package/dist/{simple-array-field-CeqZJfVs.mjs.map → simple-array-field-wFE_DUOV.mjs.map} +1 -1
  437. package/dist/{simple-boolean-field-BeL9WjD5.cjs → simple-boolean-field-DRapzNrB.cjs} +2 -2
  438. package/dist/{simple-boolean-field-BeL9WjD5.cjs.map → simple-boolean-field-DRapzNrB.cjs.map} +1 -1
  439. package/dist/{simple-boolean-field-DZ0J-Pk0.mjs → simple-boolean-field-GQJyeyVS.mjs} +2 -2
  440. package/dist/{simple-boolean-field-DZ0J-Pk0.mjs.map → simple-boolean-field-GQJyeyVS.mjs.map} +1 -1
  441. package/dist/simple-card-Dhf9UXBg.d.cts +27 -0
  442. package/dist/simple-card-Dhf9UXBg.d.mts +27 -0
  443. package/dist/{simple-combobox-field-CeV40wnv.cjs → simple-combobox-field-Cp5dfQv3.cjs} +2 -2
  444. package/dist/{simple-combobox-field-CeV40wnv.cjs.map → simple-combobox-field-Cp5dfQv3.cjs.map} +1 -1
  445. package/dist/{simple-combobox-field-BQXmNATZ.mjs → simple-combobox-field-D6IaMJKl.mjs} +2 -2
  446. package/dist/{simple-combobox-field-BQXmNATZ.mjs.map → simple-combobox-field-D6IaMJKl.mjs.map} +1 -1
  447. package/dist/{simple-date-field-CrH-92i4.cjs → simple-date-field-_PSkIXAt.cjs} +2 -2
  448. package/dist/{simple-date-field-CrH-92i4.cjs.map → simple-date-field-_PSkIXAt.cjs.map} +1 -1
  449. package/dist/{simple-date-field-D9ymav2L.mjs → simple-date-field-dszQs7Ik.mjs} +2 -2
  450. package/dist/{simple-date-field-D9ymav2L.mjs.map → simple-date-field-dszQs7Ik.mjs.map} +1 -1
  451. package/dist/{simple-email-field-8IiVOYa-.mjs → simple-email-field-CwyoXqWo.mjs} +2 -2
  452. package/dist/{simple-email-field-8IiVOYa-.mjs.map → simple-email-field-CwyoXqWo.mjs.map} +1 -1
  453. package/dist/{simple-email-field-CsMmMSvS.cjs → simple-email-field-DIHwYrhk.cjs} +2 -2
  454. package/dist/{simple-email-field-CsMmMSvS.cjs.map → simple-email-field-DIHwYrhk.cjs.map} +1 -1
  455. package/dist/{simple-number-field-C6hE1Qlj.mjs → simple-number-field-Id1kV5yR.mjs} +2 -2
  456. package/dist/{simple-number-field-C6hE1Qlj.mjs.map → simple-number-field-Id1kV5yR.mjs.map} +1 -1
  457. package/dist/{simple-number-field-CrU2A2yp.cjs → simple-number-field-VdEeaIiC.cjs} +2 -2
  458. package/dist/{simple-number-field-CrU2A2yp.cjs.map → simple-number-field-VdEeaIiC.cjs.map} +1 -1
  459. package/dist/{simple-password-field-DWmUR_5_.cjs → simple-password-field-7xbVB1H3.cjs} +2 -2
  460. package/dist/{simple-password-field-DWmUR_5_.cjs.map → simple-password-field-7xbVB1H3.cjs.map} +1 -1
  461. package/dist/{simple-password-field-CabyA9Y7.mjs → simple-password-field-DIO9FwQy.mjs} +2 -2
  462. package/dist/{simple-password-field-CabyA9Y7.mjs.map → simple-password-field-DIO9FwQy.mjs.map} +1 -1
  463. package/dist/{simple-radio-group-field-BNFgrTSb.mjs → simple-radio-group-field-BmHWRnns.mjs} +2 -2
  464. package/dist/{simple-radio-group-field-BNFgrTSb.mjs.map → simple-radio-group-field-BmHWRnns.mjs.map} +1 -1
  465. package/dist/{simple-radio-group-field-CpTX_Xoy.cjs → simple-radio-group-field-CxVAr6yW.cjs} +2 -2
  466. package/dist/{simple-radio-group-field-CpTX_Xoy.cjs.map → simple-radio-group-field-CxVAr6yW.cjs.map} +1 -1
  467. package/dist/{simple-select-field-VibM3I3D.cjs → simple-select-field-C9u7Pg9u.cjs} +2 -2
  468. package/dist/{simple-select-field-VibM3I3D.cjs.map → simple-select-field-C9u7Pg9u.cjs.map} +1 -1
  469. package/dist/{simple-select-field-CiUfRHCo.mjs → simple-select-field-DfZk0zPa.mjs} +2 -2
  470. package/dist/{simple-select-field-CiUfRHCo.mjs.map → simple-select-field-DfZk0zPa.mjs.map} +1 -1
  471. package/dist/{simple-text-field-DRlcBB-3.cjs → simple-text-field-BxPjcB4c.cjs} +2 -2
  472. package/dist/{simple-text-field-DRlcBB-3.cjs.map → simple-text-field-BxPjcB4c.cjs.map} +1 -1
  473. package/dist/{simple-text-field-Cmmmci4R.mjs → simple-text-field-CT9KFUSK.mjs} +2 -2
  474. package/dist/{simple-text-field-Cmmmci4R.mjs.map → simple-text-field-CT9KFUSK.mjs.map} +1 -1
  475. package/dist/{simple-textarea-field-BDqw8ewE.mjs → simple-textarea-field-B22rT6zS.mjs} +2 -2
  476. package/dist/{simple-textarea-field-BDqw8ewE.mjs.map → simple-textarea-field-B22rT6zS.mjs.map} +1 -1
  477. package/dist/{simple-textarea-field-B0fOG7nh.cjs → simple-textarea-field-DG9oPtP-.cjs} +2 -2
  478. package/dist/{simple-textarea-field-B0fOG7nh.cjs.map → simple-textarea-field-DG9oPtP-.cjs.map} +1 -1
  479. package/dist/{skeleton-Ct4sYEKk.d.cts → skeleton-BL19ZqPB.d.cts} +2 -5
  480. package/dist/{skeleton-Ct4sYEKk.d.mts → skeleton-BL19ZqPB.d.mts} +2 -5
  481. package/dist/{slider-DwR1MhR8.d.cts → slider-KvzhtIbT.d.cts} +2 -10
  482. package/dist/{slider-DwR1MhR8.d.mts → slider-KvzhtIbT.d.mts} +2 -10
  483. package/dist/{sonner-B6LxJMYT.d.mts → sonner-C-sM3xU2.d.mts} +1 -2
  484. package/dist/{sonner-BcNgR0GP.d.cts → sonner-D-rrTnjn.d.cts} +1 -2
  485. package/dist/sparkline-chart-TbGzakUl.mjs.map +1 -1
  486. package/dist/sparkline-chart-sPqaJHep.cjs.map +1 -1
  487. package/dist/{spinner-CXuqcoB5.d.cts → spinner-Cz20qsxS.d.cts} +2 -5
  488. package/dist/{spinner-CXuqcoB5.d.mts → spinner-Cz20qsxS.d.mts} +2 -5
  489. package/dist/stacked-area-chart-DyxY96_l.cjs.map +1 -1
  490. package/dist/stacked-area-chart-UIWIxTmq.mjs.map +1 -1
  491. package/dist/statistic-Bpif8p8R.d.cts +42 -0
  492. package/dist/statistic-Bpif8p8R.d.mts +42 -0
  493. package/dist/statistic-ClkqqDfk.mjs.map +1 -1
  494. package/dist/statistic-LL4uHlRb.cjs.map +1 -1
  495. package/dist/status-display-BUphOF18.mjs.map +1 -1
  496. package/dist/status-display-o9inMVvb.cjs.map +1 -1
  497. package/dist/submit-button-CGBaPzE9.mjs.map +1 -1
  498. package/dist/submit-button-CvINfld5.cjs.map +1 -1
  499. package/dist/summary-bar-CYfgdxrQ.mjs.map +1 -1
  500. package/dist/summary-bar-Mb1B9Dnf.cjs.map +1 -1
  501. package/dist/{switch-9v4AYqJb.d.cts → switch-Ce5Pre2e.d.cts} +2 -6
  502. package/dist/{switch-9v4AYqJb.d.mts → switch-Ce5Pre2e.d.mts} +2 -6
  503. package/dist/{switch-field-BDVIJ21m.mjs → switch-field-Cz4lDf1D.mjs} +2 -2
  504. package/dist/{switch-field-BDVIJ21m.mjs.map → switch-field-Cz4lDf1D.mjs.map} +1 -1
  505. package/dist/{switch-field-D6CCxaEX.cjs → switch-field-yE4A6EoF.cjs} +2 -2
  506. package/dist/{switch-field-D6CCxaEX.cjs.map → switch-field-yE4A6EoF.cjs.map} +1 -1
  507. package/dist/systems/google.cjs.map +1 -1
  508. package/dist/systems/google.d.cts +1 -1
  509. package/dist/systems/google.d.mts +1 -1
  510. package/dist/systems/google.mjs.map +1 -1
  511. package/dist/{table-Dg2D0v87.d.cts → table-D354-TpC.d.cts} +9 -33
  512. package/dist/{table-Dg2D0v87.d.mts → table-D354-TpC.d.mts} +9 -33
  513. package/dist/tables-078i-X0d.cjs.map +1 -1
  514. package/dist/tables-BGzwkdFO.mjs.map +1 -1
  515. package/dist/{tabs-CJ6qZcFU.d.cts → tabs-DLEtBGOr.d.cts} +5 -18
  516. package/dist/{tabs-CJ6qZcFU.d.mts → tabs-DLEtBGOr.d.mts} +5 -18
  517. package/dist/{tanstack-form-Bae0TOEr.cjs → tanstack-form-BxqS40rB.cjs} +2 -2
  518. package/dist/{tanstack-form-Bae0TOEr.cjs.map → tanstack-form-BxqS40rB.cjs.map} +1 -1
  519. package/dist/{tanstack-form-AGwPfwiM.mjs → tanstack-form-q9hDCc0Y.mjs} +2 -2
  520. package/dist/{tanstack-form-AGwPfwiM.mjs.map → tanstack-form-q9hDCc0Y.mjs.map} +1 -1
  521. package/dist/text-editor-BtfyZSgR.cjs +2 -0
  522. package/dist/{text-editor-DJYQXXtP.cjs.map → text-editor-BtfyZSgR.cjs.map} +1 -1
  523. package/dist/text-editor-CtR27_PR.mjs +2 -0
  524. package/dist/{text-editor-BQtIXOpM.mjs.map → text-editor-CtR27_PR.mjs.map} +1 -1
  525. package/dist/{text-editor-field-C2KDtfZV.mjs → text-editor-field-CQ8tnZFw.mjs} +2 -2
  526. package/dist/{text-editor-field-C2KDtfZV.mjs.map → text-editor-field-CQ8tnZFw.mjs.map} +1 -1
  527. package/dist/{text-editor-field-DF8lkOc_.cjs → text-editor-field-CxU-KMMn.cjs} +2 -2
  528. package/dist/{text-editor-field-DF8lkOc_.cjs.map → text-editor-field-CxU-KMMn.cjs.map} +1 -1
  529. package/dist/{text-field-BJciq-S8.mjs → text-field-B3xlvEUN.mjs} +2 -2
  530. package/dist/{text-field-BJciq-S8.mjs.map → text-field-B3xlvEUN.mjs.map} +1 -1
  531. package/dist/{text-field-B1n5Xd-k.cjs → text-field-BQovKYN-.cjs} +2 -2
  532. package/dist/{text-field-B1n5Xd-k.cjs.map → text-field-BQovKYN-.cjs.map} +1 -1
  533. package/dist/{textarea-C8ZIZh-y.d.cts → textarea-D1diQohb.d.cts} +4 -8
  534. package/dist/{textarea-C8ZIZh-y.d.mts → textarea-D1diQohb.d.mts} +4 -8
  535. package/dist/{textarea-field-Bm7bsyjB.cjs → textarea-field-B38SnNv4.cjs} +2 -2
  536. package/dist/{textarea-field-Bm7bsyjB.cjs.map → textarea-field-B38SnNv4.cjs.map} +1 -1
  537. package/dist/{textarea-field-BjdX2Qjt.mjs → textarea-field-u2UUwtr_.mjs} +2 -2
  538. package/dist/{textarea-field-BjdX2Qjt.mjs.map → textarea-field-u2UUwtr_.mjs.map} +1 -1
  539. package/dist/{title-BT9guhSU.d.cts → title-D8BSkLsi.d.cts} +6 -9
  540. package/dist/{title-BT9guhSU.d.mts → title-D8BSkLsi.d.mts} +6 -9
  541. package/dist/title-field-B2hM3S_S.cjs.map +1 -1
  542. package/dist/title-field-oAqHRw59.mjs.map +1 -1
  543. package/dist/{toggle-Bh4EazxT.d.cts → toggle-CqTmiPDi.d.cts} +2 -8
  544. package/dist/{toggle-Bh4EazxT.d.mts → toggle-CqTmiPDi.d.mts} +2 -8
  545. package/dist/toggle-button-DNLtfjJC.mjs.map +1 -1
  546. package/dist/toggle-button-Dq78v8cH.cjs.map +1 -1
  547. package/dist/{toggle-group-BpqkL1ds.d.cts → toggle-group--bJylFDV.d.cts} +4 -17
  548. package/dist/{toggle-group-DzNE38v5.d.mts → toggle-group-l_Mi7NRg.d.mts} +4 -17
  549. package/dist/{tooltip-D4U-RhIu.d.cts → tooltip-BVYKhsC2.d.cts} +5 -18
  550. package/dist/{tooltip-D4U-RhIu.d.mts → tooltip-BVYKhsC2.d.mts} +5 -18
  551. package/dist/tooltip-BcfELg8e.cjs.map +1 -1
  552. package/dist/tooltip-TGmzPdoR.mjs.map +1 -1
  553. package/dist/top-products-bar-chart-5EJFSkeo.cjs.map +1 -1
  554. package/dist/top-products-bar-chart-CKYaOGWT.mjs.map +1 -1
  555. package/dist/{trash-BfWSqlL4.d.cts → trash-DBDuSVzW.d.cts} +3 -2
  556. package/dist/{trash-BfWSqlL4.d.mts → trash-DBDuSVzW.d.mts} +3 -2
  557. package/dist/typography/paragraph.d.cts +1 -1
  558. package/dist/typography/paragraph.d.mts +1 -1
  559. package/dist/typography/title.d.cts +1 -1
  560. package/dist/typography/title.d.mts +1 -1
  561. package/dist/ui/alert-dialog.d.cts +1 -1
  562. package/dist/ui/alert-dialog.d.mts +1 -1
  563. package/dist/ui/alert.d.cts +1 -1
  564. package/dist/ui/alert.d.mts +1 -1
  565. package/dist/ui/aspect-ratio.d.cts +1 -1
  566. package/dist/ui/aspect-ratio.d.mts +1 -1
  567. package/dist/ui/avatar.d.cts +1 -1
  568. package/dist/ui/avatar.d.mts +1 -1
  569. package/dist/ui/badge.cjs +1 -1
  570. package/dist/ui/badge.cjs.map +1 -1
  571. package/dist/ui/badge.d.cts +1 -1
  572. package/dist/ui/badge.d.mts +1 -1
  573. package/dist/ui/badge.mjs +1 -1
  574. package/dist/ui/badge.mjs.map +1 -1
  575. package/dist/ui/breadcrumb.cjs.map +1 -1
  576. package/dist/ui/breadcrumb.d.cts +1 -1
  577. package/dist/ui/breadcrumb.d.mts +1 -1
  578. package/dist/ui/breadcrumb.mjs.map +1 -1
  579. package/dist/ui/button-group.d.cts +1 -1
  580. package/dist/ui/button-group.d.mts +1 -1
  581. package/dist/ui/button.cjs.map +1 -1
  582. package/dist/ui/button.d.cts +1 -1
  583. package/dist/ui/button.d.mts +1 -1
  584. package/dist/ui/button.mjs.map +1 -1
  585. package/dist/ui/buttons/add-new.cjs.map +1 -1
  586. package/dist/ui/buttons/add-new.d.cts +1 -1
  587. package/dist/ui/buttons/add-new.d.mts +1 -1
  588. package/dist/ui/buttons/add-new.mjs.map +1 -1
  589. package/dist/ui/buttons/edit.cjs.map +1 -1
  590. package/dist/ui/buttons/edit.d.cts +1 -1
  591. package/dist/ui/buttons/edit.d.mts +1 -1
  592. package/dist/ui/buttons/edit.mjs.map +1 -1
  593. package/dist/ui/buttons/refresh.cjs.map +1 -1
  594. package/dist/ui/buttons/refresh.d.cts +1 -1
  595. package/dist/ui/buttons/refresh.d.mts +1 -1
  596. package/dist/ui/buttons/refresh.mjs.map +1 -1
  597. package/dist/ui/buttons/trash.cjs.map +1 -1
  598. package/dist/ui/buttons/trash.d.cts +1 -1
  599. package/dist/ui/buttons/trash.d.mts +1 -1
  600. package/dist/ui/buttons/trash.mjs.map +1 -1
  601. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  602. package/dist/ui/buttons/upload-image.d.cts +1 -1
  603. package/dist/ui/buttons/upload-image.d.mts +1 -1
  604. package/dist/ui/buttons/upload-image.mjs.map +1 -1
  605. package/dist/ui/calendar.cjs.map +1 -1
  606. package/dist/ui/calendar.d.cts +1 -1
  607. package/dist/ui/calendar.d.mts +1 -1
  608. package/dist/ui/calendar.mjs.map +1 -1
  609. package/dist/ui/card.d.cts +1 -1
  610. package/dist/ui/card.d.mts +1 -1
  611. package/dist/ui/carousel.cjs.map +1 -1
  612. package/dist/ui/carousel.d.cts +1 -1
  613. package/dist/ui/carousel.d.mts +1 -1
  614. package/dist/ui/carousel.mjs.map +1 -1
  615. package/dist/ui/chart.cjs +1 -1
  616. package/dist/ui/chart.cjs.map +1 -1
  617. package/dist/ui/chart.d.cts +1 -1
  618. package/dist/ui/chart.d.mts +1 -1
  619. package/dist/ui/chart.mjs +1 -1
  620. package/dist/ui/chart.mjs.map +1 -1
  621. package/dist/ui/checkbox.cjs.map +1 -1
  622. package/dist/ui/checkbox.d.cts +1 -1
  623. package/dist/ui/checkbox.d.mts +1 -1
  624. package/dist/ui/checkbox.mjs.map +1 -1
  625. package/dist/ui/collapsible.d.cts +1 -1
  626. package/dist/ui/collapsible.d.mts +1 -1
  627. package/dist/ui/combobox.cjs +1 -0
  628. package/dist/ui/combobox.d.cts +2 -0
  629. package/dist/ui/combobox.d.mts +2 -0
  630. package/dist/ui/combobox.mjs +1 -0
  631. package/dist/ui/command.cjs +1 -1
  632. package/dist/ui/command.cjs.map +1 -1
  633. package/dist/ui/command.d.cts +1 -1
  634. package/dist/ui/command.d.mts +1 -1
  635. package/dist/ui/command.mjs +1 -1
  636. package/dist/ui/command.mjs.map +1 -1
  637. package/dist/ui/context-menu.cjs.map +1 -1
  638. package/dist/ui/context-menu.d.cts +1 -1
  639. package/dist/ui/context-menu.d.mts +1 -1
  640. package/dist/ui/context-menu.mjs.map +1 -1
  641. package/dist/ui/dialog.cjs.map +1 -1
  642. package/dist/ui/dialog.d.cts +1 -1
  643. package/dist/ui/dialog.d.mts +1 -1
  644. package/dist/ui/dialog.mjs.map +1 -1
  645. package/dist/ui/drawer.cjs.map +1 -1
  646. package/dist/ui/drawer.d.cts +1 -1
  647. package/dist/ui/drawer.d.mts +1 -1
  648. package/dist/ui/drawer.mjs.map +1 -1
  649. package/dist/ui/dropdown-menu.cjs.map +1 -1
  650. package/dist/ui/dropdown-menu.d.cts +1 -1
  651. package/dist/ui/dropdown-menu.d.mts +1 -1
  652. package/dist/ui/dropdown-menu.mjs.map +1 -1
  653. package/dist/ui/empty.d.cts +1 -1
  654. package/dist/ui/empty.d.mts +1 -1
  655. package/dist/ui/field.cjs.map +1 -1
  656. package/dist/ui/field.d.cts +11 -47
  657. package/dist/ui/field.d.mts +11 -47
  658. package/dist/ui/field.mjs.map +1 -1
  659. package/dist/ui/file-uploader.cjs.map +1 -1
  660. package/dist/ui/file-uploader.d.cts +1 -1
  661. package/dist/ui/file-uploader.d.mts +1 -1
  662. package/dist/ui/file-uploader.mjs.map +1 -1
  663. package/dist/ui/form.cjs.map +1 -1
  664. package/dist/ui/form.d.cts +1 -1
  665. package/dist/ui/form.d.mts +1 -1
  666. package/dist/ui/form.mjs.map +1 -1
  667. package/dist/ui/hover-card.cjs.map +1 -1
  668. package/dist/ui/hover-card.d.cts +1 -1
  669. package/dist/ui/hover-card.d.mts +1 -1
  670. package/dist/ui/hover-card.mjs.map +1 -1
  671. package/dist/ui/image.cjs +1 -1
  672. package/dist/ui/image.cjs.map +1 -1
  673. package/dist/ui/image.d.cts +1 -1
  674. package/dist/ui/image.d.mts +1 -1
  675. package/dist/ui/image.mjs +1 -1
  676. package/dist/ui/image.mjs.map +1 -1
  677. package/dist/ui/input-otp.cjs.map +1 -1
  678. package/dist/ui/input-otp.d.cts +1 -1
  679. package/dist/ui/input-otp.d.mts +1 -1
  680. package/dist/ui/input-otp.mjs.map +1 -1
  681. package/dist/ui/input.d.cts +1 -1
  682. package/dist/ui/input.d.mts +1 -1
  683. package/dist/ui/inputs/search-input.cjs.map +1 -1
  684. package/dist/ui/inputs/search-input.d.cts +1 -1
  685. package/dist/ui/inputs/search-input.d.mts +1 -1
  686. package/dist/ui/inputs/search-input.mjs.map +1 -1
  687. package/dist/ui/item.d.cts +1 -1
  688. package/dist/ui/item.d.mts +1 -1
  689. package/dist/ui/label.d.cts +1 -1
  690. package/dist/ui/label.d.mts +1 -1
  691. package/dist/ui/menubar.cjs.map +1 -1
  692. package/dist/ui/menubar.d.cts +1 -1
  693. package/dist/ui/menubar.d.mts +1 -1
  694. package/dist/ui/menubar.mjs.map +1 -1
  695. package/dist/ui/multi-select.cjs +1 -1
  696. package/dist/ui/multi-select.cjs.map +1 -1
  697. package/dist/ui/multi-select.d.cts +1 -1
  698. package/dist/ui/multi-select.d.mts +1 -1
  699. package/dist/ui/multi-select.mjs +1 -1
  700. package/dist/ui/multi-select.mjs.map +1 -1
  701. package/dist/ui/navigation-menu.cjs.map +1 -1
  702. package/dist/ui/navigation-menu.d.cts +1 -1
  703. package/dist/ui/navigation-menu.d.mts +1 -1
  704. package/dist/ui/navigation-menu.mjs.map +1 -1
  705. package/dist/ui/pagination.cjs.map +1 -1
  706. package/dist/ui/pagination.d.cts +1 -1
  707. package/dist/ui/pagination.d.mts +1 -1
  708. package/dist/ui/pagination.mjs.map +1 -1
  709. package/dist/ui/popover.cjs.map +1 -1
  710. package/dist/ui/popover.d.cts +1 -1
  711. package/dist/ui/popover.d.mts +1 -1
  712. package/dist/ui/popover.mjs.map +1 -1
  713. package/dist/ui/progress.cjs.map +1 -1
  714. package/dist/ui/progress.d.cts +1 -1
  715. package/dist/ui/progress.d.mts +1 -1
  716. package/dist/ui/progress.mjs.map +1 -1
  717. package/dist/ui/radio-group.cjs.map +1 -1
  718. package/dist/ui/radio-group.d.cts +1 -1
  719. package/dist/ui/radio-group.d.mts +1 -1
  720. package/dist/ui/radio-group.mjs.map +1 -1
  721. package/dist/ui/resizable.cjs.map +1 -1
  722. package/dist/ui/resizable.d.cts +1 -1
  723. package/dist/ui/resizable.d.mts +1 -1
  724. package/dist/ui/resizable.mjs.map +1 -1
  725. package/dist/ui/scroll-area.cjs.map +1 -1
  726. package/dist/ui/scroll-area.d.cts +1 -1
  727. package/dist/ui/scroll-area.d.mts +1 -1
  728. package/dist/ui/scroll-area.mjs.map +1 -1
  729. package/dist/ui/select.cjs.map +1 -1
  730. package/dist/ui/select.d.cts +1 -1
  731. package/dist/ui/select.d.mts +1 -1
  732. package/dist/ui/select.mjs.map +1 -1
  733. package/dist/ui/separator.d.cts +1 -1
  734. package/dist/ui/separator.d.mts +1 -1
  735. package/dist/ui/sheet.cjs.map +1 -1
  736. package/dist/ui/sheet.d.cts +1 -1
  737. package/dist/ui/sheet.d.mts +1 -1
  738. package/dist/ui/sheet.mjs.map +1 -1
  739. package/dist/ui/skeleton.d.cts +1 -1
  740. package/dist/ui/skeleton.d.mts +1 -1
  741. package/dist/ui/slider.cjs.map +1 -1
  742. package/dist/ui/slider.d.cts +1 -1
  743. package/dist/ui/slider.d.mts +1 -1
  744. package/dist/ui/slider.mjs.map +1 -1
  745. package/dist/ui/sonner.d.cts +1 -1
  746. package/dist/ui/sonner.d.mts +1 -1
  747. package/dist/ui/spinner.d.cts +1 -1
  748. package/dist/ui/spinner.d.mts +1 -1
  749. package/dist/ui/status.cjs.map +1 -1
  750. package/dist/ui/status.d.cts +1 -9
  751. package/dist/ui/status.d.mts +1 -9
  752. package/dist/ui/status.mjs.map +1 -1
  753. package/dist/ui/switch.cjs.map +1 -1
  754. package/dist/ui/switch.d.cts +1 -1
  755. package/dist/ui/switch.d.mts +1 -1
  756. package/dist/ui/switch.mjs.map +1 -1
  757. package/dist/ui/table.d.cts +1 -1
  758. package/dist/ui/table.d.mts +1 -1
  759. package/dist/ui/tabs.d.cts +1 -1
  760. package/dist/ui/tabs.d.mts +1 -1
  761. package/dist/ui/textarea.d.cts +1 -1
  762. package/dist/ui/textarea.d.mts +1 -1
  763. package/dist/ui/toggle-group.cjs.map +1 -1
  764. package/dist/ui/toggle-group.d.cts +1 -1
  765. package/dist/ui/toggle-group.d.mts +1 -1
  766. package/dist/ui/toggle-group.mjs.map +1 -1
  767. package/dist/ui/toggle.d.cts +1 -1
  768. package/dist/ui/toggle.d.mts +1 -1
  769. package/dist/ui/tooltip.cjs.map +1 -1
  770. package/dist/ui/tooltip.d.cts +1 -1
  771. package/dist/ui/tooltip.d.mts +1 -1
  772. package/dist/ui/tooltip.mjs.map +1 -1
  773. package/dist/{upload-image-D4VZU3IA.d.cts → upload-image-DM-tkZuR.d.cts} +3 -3
  774. package/dist/{upload-image-D4VZU3IA.d.mts → upload-image-DM-tkZuR.d.mts} +3 -3
  775. package/dist/user-BymzvsYp.mjs.map +1 -1
  776. package/dist/{user-CvesQf42.d.cts → user-D46H2MOh.d.cts} +6 -3
  777. package/dist/{user-CvesQf42.d.mts → user-D46H2MOh.d.mts} +6 -3
  778. package/dist/user-Dn53Fu5q.cjs.map +1 -1
  779. package/dist/volume-bar-chart-BRpC_8-X.mjs.map +1 -1
  780. package/dist/volume-bar-chart-CRxZPZIn.cjs.map +1 -1
  781. package/dist/waterfall-chart-CTB2f5eh.cjs.map +1 -1
  782. package/dist/waterfall-chart-DwetaJFJ.mjs.map +1 -1
  783. package/package.json +5 -1
  784. package/dist/cms-layout-CGGJqbr0.cjs +0 -2
  785. package/dist/cms-layout-CGGJqbr0.cjs.map +0 -1
  786. package/dist/cms-layout-ePySxIQN.mjs +0 -2
  787. package/dist/cms-layout-ePySxIQN.mjs.map +0 -1
  788. package/dist/dialogs/detail-dialog/index.cjs.map +0 -1
  789. package/dist/dialogs/detail-dialog/index.mjs.map +0 -1
  790. package/dist/image-Cln0r7Eb.d.cts +0 -27
  791. package/dist/image-Cln0r7Eb.d.mts +0 -27
  792. package/dist/index-C9eXmnvk.d.cts +0 -36
  793. package/dist/index-C9eXmnvk.d.mts +0 -36
  794. package/dist/number-input-CqkegUWs.mjs +0 -2
  795. package/dist/number-input-kTh9zzr7.cjs +0 -2
  796. package/dist/payment-layout-Cb-Q8KD2.cjs +0 -2
  797. package/dist/sidebar-core-Bh0dZXsm.mjs +0 -2
  798. package/dist/sidebar-core-Bh0dZXsm.mjs.map +0 -1
  799. package/dist/sidebar-core-DQE6ymo4.cjs +0 -2
  800. package/dist/sidebar-core-DQE6ymo4.cjs.map +0 -1
  801. package/dist/simple-card-6P377r4A.d.cts +0 -29
  802. package/dist/simple-card-6P377r4A.d.mts +0 -29
  803. package/dist/statistic-8zBJMdRa.d.cts +0 -45
  804. package/dist/statistic-8zBJMdRa.d.mts +0 -45
  805. package/dist/text-editor-BQtIXOpM.mjs +0 -2
  806. package/dist/text-editor-DJYQXXtP.cjs +0 -2
@@ -1,5 +1,4 @@
1
1
  import { Tooltip } from "radix-ui";
2
-
3
2
  //#region packages/components/ui/tooltip.d.ts
4
3
  /**
5
4
  * Context provider that controls the open delay for all child `Tooltip` components; defaults to `0` ms for instant display.
@@ -14,10 +13,7 @@ import { Tooltip } from "radix-ui";
14
13
  * </TooltipProvider>
15
14
  * ```
16
15
  */
17
- declare function TooltipProvider({
18
- delayDuration,
19
- ...props
20
- }: React.ComponentProps<typeof Tooltip.Provider>): import("react").JSX.Element;
16
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip.Provider>): import("react").JSX.Element;
21
17
  /**
22
18
  * Floating label that reveals supplementary text when the user hovers or focuses its trigger element.
23
19
  *
@@ -34,20 +30,11 @@ declare function TooltipProvider({
34
30
  * </Tooltip>
35
31
  * ```
36
32
  */
37
- declare function Tooltip$1({
38
- ...props
39
- }: React.ComponentProps<typeof Tooltip.Root>): import("react").JSX.Element;
33
+ declare function Tooltip$1({ ...props }: React.ComponentProps<typeof Tooltip.Root>): import("react").JSX.Element;
40
34
  /** Element that opens the tooltip on hover/focus; use `asChild` to forward props to a custom child element. */
41
- declare function TooltipTrigger({
42
- ...props
43
- }: React.ComponentProps<typeof Tooltip.Trigger>): import("react").JSX.Element;
35
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof Tooltip.Trigger>): import("react").JSX.Element;
44
36
  /** Floating panel rendered in a portal that displays the tooltip text with a directional arrow. */
45
- declare function TooltipContent({
46
- className,
47
- sideOffset,
48
- children,
49
- ...props
50
- }: React.ComponentProps<typeof Tooltip.Content>): import("react").JSX.Element;
37
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof Tooltip.Content>): import("react").JSX.Element;
51
38
  //#endregion
52
39
  export { TooltipTrigger as i, TooltipContent as n, TooltipProvider as r, Tooltip$1 as t };
53
- //# sourceMappingURL=tooltip-D4U-RhIu.d.cts.map
40
+ //# sourceMappingURL=tooltip-BVYKhsC2.d.cts.map
@@ -1,5 +1,4 @@
1
1
  import { Tooltip } from "radix-ui";
2
-
3
2
  //#region packages/components/ui/tooltip.d.ts
4
3
  /**
5
4
  * Context provider that controls the open delay for all child `Tooltip` components; defaults to `0` ms for instant display.
@@ -14,10 +13,7 @@ import { Tooltip } from "radix-ui";
14
13
  * </TooltipProvider>
15
14
  * ```
16
15
  */
17
- declare function TooltipProvider({
18
- delayDuration,
19
- ...props
20
- }: React.ComponentProps<typeof Tooltip.Provider>): import("react").JSX.Element;
16
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip.Provider>): import("react").JSX.Element;
21
17
  /**
22
18
  * Floating label that reveals supplementary text when the user hovers or focuses its trigger element.
23
19
  *
@@ -34,20 +30,11 @@ declare function TooltipProvider({
34
30
  * </Tooltip>
35
31
  * ```
36
32
  */
37
- declare function Tooltip$1({
38
- ...props
39
- }: React.ComponentProps<typeof Tooltip.Root>): import("react").JSX.Element;
33
+ declare function Tooltip$1({ ...props }: React.ComponentProps<typeof Tooltip.Root>): import("react").JSX.Element;
40
34
  /** Element that opens the tooltip on hover/focus; use `asChild` to forward props to a custom child element. */
41
- declare function TooltipTrigger({
42
- ...props
43
- }: React.ComponentProps<typeof Tooltip.Trigger>): import("react").JSX.Element;
35
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof Tooltip.Trigger>): import("react").JSX.Element;
44
36
  /** Floating panel rendered in a portal that displays the tooltip text with a directional arrow. */
45
- declare function TooltipContent({
46
- className,
47
- sideOffset,
48
- children,
49
- ...props
50
- }: React.ComponentProps<typeof Tooltip.Content>): import("react").JSX.Element;
37
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof Tooltip.Content>): import("react").JSX.Element;
51
38
  //#endregion
52
39
  export { TooltipTrigger as i, TooltipContent as n, TooltipProvider as r, Tooltip$1 as t };
53
- //# sourceMappingURL=tooltip-D4U-RhIu.d.mts.map
40
+ //# sourceMappingURL=tooltip-BVYKhsC2.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-BcfELg8e.cjs","names":["Input","SearchIcon","ArrowRightIcon","useUITableContext","useUITableAnalysisContext","useUITableSummaryContext","CirclePlus","RefreshCwIcon","DownloadIcon","LayoutDashboardIcon","BarChart2Icon"],"sources":["../packages/components/features/tables/utils/csv.ts","../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport type { CsvCell } from '../types';\n\nfunction formatCell(value: CsvCell['value']): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'number') return String(value);\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n const str = String(value);\n if (str.includes(',') || str.includes('\"') || str.includes('\\n') || str.includes('\\r')) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n}\n\nexport function buildCsvContent(rows: CsvCell[][]): string {\n if (rows.length === 0) return '';\n const headers = rows[0].map(cell => formatCell(cell.label));\n const dataRows = rows.map(row => row.map(cell => formatCell(cell.value)).join(','));\n return [headers.join(','), ...dataRows].join('\\n');\n}\n\nexport function downloadCsv(rows: CsvCell[][], fileName: string): void {\n const content = buildCsvContent(rows);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${fileName}.csv`;\n link.click();\n URL.revokeObjectURL(url);\n}\n","/**\n * @file tooltip.tsx\n * Toolbar components rendered above the table: a debounced search input,\n * an action button group (create / refresh / download), and the outer\n * toolbar shell that displays the table title.\n */\nimport { useCallback } from 'react';\n\nimport { ArrowRightIcon, BarChart2Icon, CirclePlus, DownloadIcon, LayoutDashboardIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { useDebounceCallback } from '@customafk/react-toolkit/hooks/useDebounceCallback';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableAnalysisContext, useUITableContext, useUITableSummaryContext } from '../../hooks/use-context';\nimport { downloadCsv } from '../../utils/csv';\n\n/**\n * Debounced search input rendered inside the table toolbar.\n *\n * Fires `onSearch` 500 ms after the user stops typing and delegates all other\n * native input events via the spread `props`.\n *\n * @example\n * ```tsx\n * import { UITableTooltipFilter } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipFilter\n * placeholder=\"Search users…\"\n * onSearch={value => setQuery(value)}\n * />\n * ```\n */\nexport const UITableTooltipFilter: React.FC<\n Omit<React.ComponentProps<typeof Input>, 'className'> & {\n onSearch?: (value: string) => void;\n }\n> = ({ onSearch, onChange, ...props }) => {\n const debouncedSearch = useDebounceCallback((value: string) => {\n onSearch?.(value);\n }, 500);\n return (\n <div className=\"relative w-full max-w-80 flex-1\">\n <Input\n {...props}\n size=\"lg\"\n type=\"search\"\n placeholder=\"Tìm kiếm...\"\n className=\"flex-1 ps-9 pe-9\"\n onChange={e => {\n onChange?.(e);\n debouncedSearch(e.target.value ?? '');\n }}\n />\n <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\">\n <SearchIcon size={16} />\n </div>\n <button\n 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\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren<React.ComponentProps<'button'>>> = ({ children, disabled, onClick, className, ...props }) => {\n return (\n <button\n type=\"button\"\n disabled={disabled}\n className={cn(\n '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',\n className\n )}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/**\n * Grouped action buttons (create, refresh, download) displayed in the table\n * toolbar.\n *\n * Each button is disabled automatically when the corresponding handler prop is\n * omitted, so only the actions relevant to a given table need to be provided.\n * A toggle for `UITableSummaryBar` appears automatically when `summary` is\n * non-empty, and a toggle for `UITableAnalysisPanel` appears when\n * `showAnalysisPanel` is `true` (both set on `UITableProvider`).\n *\n * @example\n * ```tsx\n * import { UITableTooltipActions } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipActions\n * onCreate={() => setOpenCreate(true)}\n * onRefresh={() => refetch()}\n * />\n * ```\n */\nexport const UITableTooltipActions: React.FC<{\n onCreate?: () => void;\n onRefresh?: () => void;\n onDownload?: () => void;\n}> = ({ onCreate, onDownload, onRefresh }) => {\n const { table, csvData, csvFileName, title, showAnalysisPanel, summary } = useUITableContext();\n const { isOpen: isAnalysisOpen, toggle: toggleAnalysis } = useUITableAnalysisContext();\n const { isOpen: isSummaryOpen, toggle: toggleSummary } = useUITableSummaryContext();\n\n const handleDownload = useCallback(() => {\n if (onDownload) {\n onDownload();\n return;\n }\n if (!csvData || csvData.length === 0) return;\n const selectedRows = table.getSelectedRowModel().flatRows;\n const rows = selectedRows.length > 0 ? selectedRows.map(row => csvData[row.index]).filter(Boolean) : csvData;\n downloadCsv(rows, csvFileName || title);\n }, [onDownload, csvData, csvFileName, table, title]);\n\n const isDownloadEnabled = !!(onDownload || (csvData && csvData.length > 0));\n\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton\n disabled={!onCreate}\n onClick={e => {\n onCreate?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <CirclePlus />\n </ActionButton>\n <ActionButton\n disabled={!onRefresh}\n onClick={e => {\n onRefresh?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton\n disabled={!isDownloadEnabled}\n onClick={e => {\n handleDownload();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <DownloadIcon />\n </ActionButton>\n {summary && summary.length > 0 && (\n <ActionButton\n onClick={e => {\n toggleSummary();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isSummaryOpen}\n aria-label={isSummaryOpen ? 'Ẩn tổng quan' : 'Hiện tổng quan'}\n className={isSummaryOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <LayoutDashboardIcon />\n </ActionButton>\n )}\n {showAnalysisPanel && (\n <ActionButton\n onClick={e => {\n toggleAnalysis();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isAnalysisOpen}\n className={isAnalysisOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <BarChart2Icon />\n </ActionButton>\n )}\n </div>\n );\n};\n\n/**\n * Outer toolbar shell for the UITable component.\n *\n * Reads the table `title` from `UITableContext` and renders it as a heading\n * above the `children` slot, which typically contains a\n * `UITableTooltipFilter` and/or `UITableTooltipActions`.\n *\n * @example\n * ```tsx\n * import {\n * UITableTooltip,\n * UITableTooltipFilter,\n * UITableTooltipActions,\n * } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltip>\n * <UITableTooltipFilter onSearch={setQuery} />\n * <UITableTooltipActions onCreate={handleCreate} onRefresh={refetch} />\n * </UITableTooltip>\n * ```\n */\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title, description, headerActions } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative flex w-full flex-col gap-2 px-2 py-0 text-sm\">\n <div className=\"flex w-full items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-0.5\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n {headerActions && <div className=\"flex items-center gap-2 shrink-0\">{headerActions}</div>}\n </div>\n <div className=\"flex w-full flex-1 justify-between gap-x-2\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'UITableTooltip';\n"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip-BcfELg8e.cjs","names":["Input","SearchIcon","ArrowRightIcon","useUITableContext","useUITableAnalysisContext","useUITableSummaryContext","CirclePlus","RefreshCwIcon","DownloadIcon","LayoutDashboardIcon","BarChart2Icon"],"sources":["../packages/components/features/tables/utils/csv.ts","../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport type { CsvCell } from '../types';\n\nfunction formatCell(value: CsvCell['value']): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'number') return String(value);\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n const str = String(value);\n if (str.includes(',') || str.includes('\"') || str.includes('\\n') || str.includes('\\r')) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n}\n\nexport function buildCsvContent(rows: CsvCell[][]): string {\n if (rows.length === 0) return '';\n const headers = rows[0].map(cell => formatCell(cell.label));\n const dataRows = rows.map(row => row.map(cell => formatCell(cell.value)).join(','));\n return [headers.join(','), ...dataRows].join('\\n');\n}\n\nexport function downloadCsv(rows: CsvCell[][], fileName: string): void {\n const content = buildCsvContent(rows);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${fileName}.csv`;\n link.click();\n URL.revokeObjectURL(url);\n}\n","/**\n * @file tooltip.tsx\n * Toolbar components rendered above the table: a debounced search input,\n * an action button group (create / refresh / download), and the outer\n * toolbar shell that displays the table title.\n */\nimport { useCallback } from 'react';\n\nimport { ArrowRightIcon, BarChart2Icon, CirclePlus, DownloadIcon, LayoutDashboardIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { useDebounceCallback } from '@customafk/react-toolkit/hooks/useDebounceCallback';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableAnalysisContext, useUITableContext, useUITableSummaryContext } from '../../hooks/use-context';\nimport { downloadCsv } from '../../utils/csv';\n\n/**\n * Debounced search input rendered inside the table toolbar.\n *\n * Fires `onSearch` 500 ms after the user stops typing and delegates all other\n * native input events via the spread `props`.\n *\n * @example\n * ```tsx\n * import { UITableTooltipFilter } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipFilter\n * placeholder=\"Search users…\"\n * onSearch={value => setQuery(value)}\n * />\n * ```\n */\nexport const UITableTooltipFilter: React.FC<\n Omit<React.ComponentProps<typeof Input>, 'className'> & {\n onSearch?: (value: string) => void;\n }\n> = ({ onSearch, onChange, ...props }) => {\n const debouncedSearch = useDebounceCallback((value: string) => {\n onSearch?.(value);\n }, 500);\n return (\n <div className=\"relative w-full max-w-80 flex-1\">\n <Input\n {...props}\n size=\"lg\"\n type=\"search\"\n placeholder=\"Tìm kiếm...\"\n className=\"flex-1 ps-9 pe-9\"\n onChange={e => {\n onChange?.(e);\n debouncedSearch(e.target.value ?? '');\n }}\n />\n <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\">\n <SearchIcon size={16} />\n </div>\n <button\n 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\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren<React.ComponentProps<'button'>>> = ({ children, disabled, onClick, className, ...props }) => {\n return (\n <button\n type=\"button\"\n disabled={disabled}\n className={cn(\n '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',\n className\n )}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/**\n * Grouped action buttons (create, refresh, download) displayed in the table\n * toolbar.\n *\n * Each button is disabled automatically when the corresponding handler prop is\n * omitted, so only the actions relevant to a given table need to be provided.\n * A toggle for `UITableSummaryBar` appears automatically when `summary` is\n * non-empty, and a toggle for `UITableAnalysisPanel` appears when\n * `showAnalysisPanel` is `true` (both set on `UITableProvider`).\n *\n * @example\n * ```tsx\n * import { UITableTooltipActions } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipActions\n * onCreate={() => setOpenCreate(true)}\n * onRefresh={() => refetch()}\n * />\n * ```\n */\nexport const UITableTooltipActions: React.FC<{\n onCreate?: () => void;\n onRefresh?: () => void;\n onDownload?: () => void;\n}> = ({ onCreate, onDownload, onRefresh }) => {\n const { table, csvData, csvFileName, title, showAnalysisPanel, summary } = useUITableContext();\n const { isOpen: isAnalysisOpen, toggle: toggleAnalysis } = useUITableAnalysisContext();\n const { isOpen: isSummaryOpen, toggle: toggleSummary } = useUITableSummaryContext();\n\n const handleDownload = useCallback(() => {\n if (onDownload) {\n onDownload();\n return;\n }\n if (!csvData || csvData.length === 0) return;\n const selectedRows = table.getSelectedRowModel().flatRows;\n const rows = selectedRows.length > 0 ? selectedRows.map(row => csvData[row.index]).filter(Boolean) : csvData;\n downloadCsv(rows, csvFileName || title);\n }, [onDownload, csvData, csvFileName, table, title]);\n\n const isDownloadEnabled = !!(onDownload || (csvData && csvData.length > 0));\n\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton\n disabled={!onCreate}\n onClick={e => {\n onCreate?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <CirclePlus />\n </ActionButton>\n <ActionButton\n disabled={!onRefresh}\n onClick={e => {\n onRefresh?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton\n disabled={!isDownloadEnabled}\n onClick={e => {\n handleDownload();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <DownloadIcon />\n </ActionButton>\n {summary && summary.length > 0 && (\n <ActionButton\n onClick={e => {\n toggleSummary();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isSummaryOpen}\n aria-label={isSummaryOpen ? 'Ẩn tổng quan' : 'Hiện tổng quan'}\n className={isSummaryOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <LayoutDashboardIcon />\n </ActionButton>\n )}\n {showAnalysisPanel && (\n <ActionButton\n onClick={e => {\n toggleAnalysis();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isAnalysisOpen}\n className={isAnalysisOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <BarChart2Icon />\n </ActionButton>\n )}\n </div>\n );\n};\n\n/**\n * Outer toolbar shell for the UITable component.\n *\n * Reads the table `title` from `UITableContext` and renders it as a heading\n * above the `children` slot, which typically contains a\n * `UITableTooltipFilter` and/or `UITableTooltipActions`.\n *\n * @example\n * ```tsx\n * import {\n * UITableTooltip,\n * UITableTooltipFilter,\n * UITableTooltipActions,\n * } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltip>\n * <UITableTooltipFilter onSearch={setQuery} />\n * <UITableTooltipActions onCreate={handleCreate} onRefresh={refetch} />\n * </UITableTooltip>\n * ```\n */\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title, description, headerActions } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative flex w-full flex-col gap-2 px-2 py-0 text-sm\">\n <div className=\"flex w-full items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-0.5\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n {headerActions && <div className=\"flex items-center gap-2 shrink-0\">{headerActions}</div>}\n </div>\n <div className=\"flex w-full flex-1 justify-between gap-x-2\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'UITableTooltip';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-TGmzPdoR.mjs","names":[],"sources":["../packages/components/features/tables/utils/csv.ts","../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport type { CsvCell } from '../types';\n\nfunction formatCell(value: CsvCell['value']): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'number') return String(value);\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n const str = String(value);\n if (str.includes(',') || str.includes('\"') || str.includes('\\n') || str.includes('\\r')) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n}\n\nexport function buildCsvContent(rows: CsvCell[][]): string {\n if (rows.length === 0) return '';\n const headers = rows[0].map(cell => formatCell(cell.label));\n const dataRows = rows.map(row => row.map(cell => formatCell(cell.value)).join(','));\n return [headers.join(','), ...dataRows].join('\\n');\n}\n\nexport function downloadCsv(rows: CsvCell[][], fileName: string): void {\n const content = buildCsvContent(rows);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${fileName}.csv`;\n link.click();\n URL.revokeObjectURL(url);\n}\n","/**\n * @file tooltip.tsx\n * Toolbar components rendered above the table: a debounced search input,\n * an action button group (create / refresh / download), and the outer\n * toolbar shell that displays the table title.\n */\nimport { useCallback } from 'react';\n\nimport { ArrowRightIcon, BarChart2Icon, CirclePlus, DownloadIcon, LayoutDashboardIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { useDebounceCallback } from '@customafk/react-toolkit/hooks/useDebounceCallback';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableAnalysisContext, useUITableContext, useUITableSummaryContext } from '../../hooks/use-context';\nimport { downloadCsv } from '../../utils/csv';\n\n/**\n * Debounced search input rendered inside the table toolbar.\n *\n * Fires `onSearch` 500 ms after the user stops typing and delegates all other\n * native input events via the spread `props`.\n *\n * @example\n * ```tsx\n * import { UITableTooltipFilter } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipFilter\n * placeholder=\"Search users…\"\n * onSearch={value => setQuery(value)}\n * />\n * ```\n */\nexport const UITableTooltipFilter: React.FC<\n Omit<React.ComponentProps<typeof Input>, 'className'> & {\n onSearch?: (value: string) => void;\n }\n> = ({ onSearch, onChange, ...props }) => {\n const debouncedSearch = useDebounceCallback((value: string) => {\n onSearch?.(value);\n }, 500);\n return (\n <div className=\"relative w-full max-w-80 flex-1\">\n <Input\n {...props}\n size=\"lg\"\n type=\"search\"\n placeholder=\"Tìm kiếm...\"\n className=\"flex-1 ps-9 pe-9\"\n onChange={e => {\n onChange?.(e);\n debouncedSearch(e.target.value ?? '');\n }}\n />\n <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\">\n <SearchIcon size={16} />\n </div>\n <button\n 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\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren<React.ComponentProps<'button'>>> = ({ children, disabled, onClick, className, ...props }) => {\n return (\n <button\n type=\"button\"\n disabled={disabled}\n className={cn(\n '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',\n className\n )}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/**\n * Grouped action buttons (create, refresh, download) displayed in the table\n * toolbar.\n *\n * Each button is disabled automatically when the corresponding handler prop is\n * omitted, so only the actions relevant to a given table need to be provided.\n * A toggle for `UITableSummaryBar` appears automatically when `summary` is\n * non-empty, and a toggle for `UITableAnalysisPanel` appears when\n * `showAnalysisPanel` is `true` (both set on `UITableProvider`).\n *\n * @example\n * ```tsx\n * import { UITableTooltipActions } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipActions\n * onCreate={() => setOpenCreate(true)}\n * onRefresh={() => refetch()}\n * />\n * ```\n */\nexport const UITableTooltipActions: React.FC<{\n onCreate?: () => void;\n onRefresh?: () => void;\n onDownload?: () => void;\n}> = ({ onCreate, onDownload, onRefresh }) => {\n const { table, csvData, csvFileName, title, showAnalysisPanel, summary } = useUITableContext();\n const { isOpen: isAnalysisOpen, toggle: toggleAnalysis } = useUITableAnalysisContext();\n const { isOpen: isSummaryOpen, toggle: toggleSummary } = useUITableSummaryContext();\n\n const handleDownload = useCallback(() => {\n if (onDownload) {\n onDownload();\n return;\n }\n if (!csvData || csvData.length === 0) return;\n const selectedRows = table.getSelectedRowModel().flatRows;\n const rows = selectedRows.length > 0 ? selectedRows.map(row => csvData[row.index]).filter(Boolean) : csvData;\n downloadCsv(rows, csvFileName || title);\n }, [onDownload, csvData, csvFileName, table, title]);\n\n const isDownloadEnabled = !!(onDownload || (csvData && csvData.length > 0));\n\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton\n disabled={!onCreate}\n onClick={e => {\n onCreate?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <CirclePlus />\n </ActionButton>\n <ActionButton\n disabled={!onRefresh}\n onClick={e => {\n onRefresh?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton\n disabled={!isDownloadEnabled}\n onClick={e => {\n handleDownload();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <DownloadIcon />\n </ActionButton>\n {summary && summary.length > 0 && (\n <ActionButton\n onClick={e => {\n toggleSummary();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isSummaryOpen}\n aria-label={isSummaryOpen ? 'Ẩn tổng quan' : 'Hiện tổng quan'}\n className={isSummaryOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <LayoutDashboardIcon />\n </ActionButton>\n )}\n {showAnalysisPanel && (\n <ActionButton\n onClick={e => {\n toggleAnalysis();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isAnalysisOpen}\n className={isAnalysisOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <BarChart2Icon />\n </ActionButton>\n )}\n </div>\n );\n};\n\n/**\n * Outer toolbar shell for the UITable component.\n *\n * Reads the table `title` from `UITableContext` and renders it as a heading\n * above the `children` slot, which typically contains a\n * `UITableTooltipFilter` and/or `UITableTooltipActions`.\n *\n * @example\n * ```tsx\n * import {\n * UITableTooltip,\n * UITableTooltipFilter,\n * UITableTooltipActions,\n * } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltip>\n * <UITableTooltipFilter onSearch={setQuery} />\n * <UITableTooltipActions onCreate={handleCreate} onRefresh={refetch} />\n * </UITableTooltip>\n * ```\n */\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title, description, headerActions } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative flex w-full flex-col gap-2 px-2 py-0 text-sm\">\n <div className=\"flex w-full items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-0.5\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n {headerActions && <div className=\"flex items-center gap-2 shrink-0\">{headerActions}</div>}\n </div>\n <div className=\"flex w-full flex-1 justify-between gap-x-2\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'UITableTooltip';\n"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip-TGmzPdoR.mjs","names":[],"sources":["../packages/components/features/tables/utils/csv.ts","../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport type { CsvCell } from '../types';\n\nfunction formatCell(value: CsvCell['value']): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'number') return String(value);\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n const str = String(value);\n if (str.includes(',') || str.includes('\"') || str.includes('\\n') || str.includes('\\r')) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n}\n\nexport function buildCsvContent(rows: CsvCell[][]): string {\n if (rows.length === 0) return '';\n const headers = rows[0].map(cell => formatCell(cell.label));\n const dataRows = rows.map(row => row.map(cell => formatCell(cell.value)).join(','));\n return [headers.join(','), ...dataRows].join('\\n');\n}\n\nexport function downloadCsv(rows: CsvCell[][], fileName: string): void {\n const content = buildCsvContent(rows);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${fileName}.csv`;\n link.click();\n URL.revokeObjectURL(url);\n}\n","/**\n * @file tooltip.tsx\n * Toolbar components rendered above the table: a debounced search input,\n * an action button group (create / refresh / download), and the outer\n * toolbar shell that displays the table title.\n */\nimport { useCallback } from 'react';\n\nimport { ArrowRightIcon, BarChart2Icon, CirclePlus, DownloadIcon, LayoutDashboardIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { useDebounceCallback } from '@customafk/react-toolkit/hooks/useDebounceCallback';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableAnalysisContext, useUITableContext, useUITableSummaryContext } from '../../hooks/use-context';\nimport { downloadCsv } from '../../utils/csv';\n\n/**\n * Debounced search input rendered inside the table toolbar.\n *\n * Fires `onSearch` 500 ms after the user stops typing and delegates all other\n * native input events via the spread `props`.\n *\n * @example\n * ```tsx\n * import { UITableTooltipFilter } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipFilter\n * placeholder=\"Search users…\"\n * onSearch={value => setQuery(value)}\n * />\n * ```\n */\nexport const UITableTooltipFilter: React.FC<\n Omit<React.ComponentProps<typeof Input>, 'className'> & {\n onSearch?: (value: string) => void;\n }\n> = ({ onSearch, onChange, ...props }) => {\n const debouncedSearch = useDebounceCallback((value: string) => {\n onSearch?.(value);\n }, 500);\n return (\n <div className=\"relative w-full max-w-80 flex-1\">\n <Input\n {...props}\n size=\"lg\"\n type=\"search\"\n placeholder=\"Tìm kiếm...\"\n className=\"flex-1 ps-9 pe-9\"\n onChange={e => {\n onChange?.(e);\n debouncedSearch(e.target.value ?? '');\n }}\n />\n <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\">\n <SearchIcon size={16} />\n </div>\n <button\n 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\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren<React.ComponentProps<'button'>>> = ({ children, disabled, onClick, className, ...props }) => {\n return (\n <button\n type=\"button\"\n disabled={disabled}\n className={cn(\n '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',\n className\n )}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/**\n * Grouped action buttons (create, refresh, download) displayed in the table\n * toolbar.\n *\n * Each button is disabled automatically when the corresponding handler prop is\n * omitted, so only the actions relevant to a given table need to be provided.\n * A toggle for `UITableSummaryBar` appears automatically when `summary` is\n * non-empty, and a toggle for `UITableAnalysisPanel` appears when\n * `showAnalysisPanel` is `true` (both set on `UITableProvider`).\n *\n * @example\n * ```tsx\n * import { UITableTooltipActions } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltipActions\n * onCreate={() => setOpenCreate(true)}\n * onRefresh={() => refetch()}\n * />\n * ```\n */\nexport const UITableTooltipActions: React.FC<{\n onCreate?: () => void;\n onRefresh?: () => void;\n onDownload?: () => void;\n}> = ({ onCreate, onDownload, onRefresh }) => {\n const { table, csvData, csvFileName, title, showAnalysisPanel, summary } = useUITableContext();\n const { isOpen: isAnalysisOpen, toggle: toggleAnalysis } = useUITableAnalysisContext();\n const { isOpen: isSummaryOpen, toggle: toggleSummary } = useUITableSummaryContext();\n\n const handleDownload = useCallback(() => {\n if (onDownload) {\n onDownload();\n return;\n }\n if (!csvData || csvData.length === 0) return;\n const selectedRows = table.getSelectedRowModel().flatRows;\n const rows = selectedRows.length > 0 ? selectedRows.map(row => csvData[row.index]).filter(Boolean) : csvData;\n downloadCsv(rows, csvFileName || title);\n }, [onDownload, csvData, csvFileName, table, title]);\n\n const isDownloadEnabled = !!(onDownload || (csvData && csvData.length > 0));\n\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton\n disabled={!onCreate}\n onClick={e => {\n onCreate?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <CirclePlus />\n </ActionButton>\n <ActionButton\n disabled={!onRefresh}\n onClick={e => {\n onRefresh?.();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton\n disabled={!isDownloadEnabled}\n onClick={e => {\n handleDownload();\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <DownloadIcon />\n </ActionButton>\n {summary && summary.length > 0 && (\n <ActionButton\n onClick={e => {\n toggleSummary();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isSummaryOpen}\n aria-label={isSummaryOpen ? 'Ẩn tổng quan' : 'Hiện tổng quan'}\n className={isSummaryOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <LayoutDashboardIcon />\n </ActionButton>\n )}\n {showAnalysisPanel && (\n <ActionButton\n onClick={e => {\n toggleAnalysis();\n e.stopPropagation();\n e.preventDefault();\n }}\n aria-pressed={isAnalysisOpen}\n className={isAnalysisOpen ? 'bg-muted-muted text-text-positive' : undefined}\n >\n <BarChart2Icon />\n </ActionButton>\n )}\n </div>\n );\n};\n\n/**\n * Outer toolbar shell for the UITable component.\n *\n * Reads the table `title` from `UITableContext` and renders it as a heading\n * above the `children` slot, which typically contains a\n * `UITableTooltipFilter` and/or `UITableTooltipActions`.\n *\n * @example\n * ```tsx\n * import {\n * UITableTooltip,\n * UITableTooltipFilter,\n * UITableTooltipActions,\n * } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableTooltip>\n * <UITableTooltipFilter onSearch={setQuery} />\n * <UITableTooltipActions onCreate={handleCreate} onRefresh={refetch} />\n * </UITableTooltip>\n * ```\n */\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title, description, headerActions } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative flex w-full flex-col gap-2 px-2 py-0 text-sm\">\n <div className=\"flex w-full items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-0.5\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n {headerActions && <div className=\"flex items-center gap-2 shrink-0\">{headerActions}</div>}\n </div>\n <div className=\"flex w-full flex-1 justify-between gap-x-2\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'UITableTooltip';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"top-products-bar-chart-5EJFSkeo.cjs","names":["formatCompactNumber","ChartContainer","BarChart","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Bar","LabelList"],"sources":["../packages/components/features/charts/components/top-products-bar-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Bar, BarChart, LabelList, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber } from '../utils';\n\nexport type TopProductsBarChartProps = BaseChartProps & {\n data: NamedValue[];\n /** Series label. Defaults to `'Sales'`. */\n label?: string;\n /** Number of items shown after sorting descending. Defaults to `8`. */\n maxItems?: number;\n color?: string;\n valueFormatter?: (value: number) => string;\n /** Value labels at the end of each bar. Defaults to `true`. */\n showValueLabels?: boolean;\n};\n\n/**\n * A horizontal bar ranking chart — top products, best categories, top customers.\n *\n * @example\n * ```tsx\n * import { TopProductsBarChart } from '@customafk/lunas-ui/features/charts';\n *\n * <TopProductsBarChart\n * data={[\n * { name: 'Wireless Earbuds', value: 1245 },\n * { name: 'Smart Watch', value: 986 },\n * ]}\n * />\n * ```\n */\nexport const TopProductsBarChart = ({\n data,\n label = 'Sales',\n maxItems = 8,\n color = 'var(--chart-1)',\n valueFormatter = formatCompactNumber,\n showValueLabels = true,\n className,\n animate = true,\n height,\n}: TopProductsBarChartProps) => {\n const chartData = useMemo(() => [...data].sort((a, b) => b.value - a.value).slice(0, maxItems), [data, maxItems]);\n\n const config = useMemo<ChartConfig>(() => ({ value: { label, color } }), [label, color]);\n\n return (\n <ChartContainer\n data-slot=\"top-products-bar-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <BarChart data={chartData} layout=\"vertical\" margin={{ top: 0, right: showValueLabels ? 48 : 12, bottom: 0, left: 12 }}>\n <XAxis type=\"number\" dataKey=\"value\" hide />\n <YAxis type=\"category\" dataKey=\"name\" tickLine={false} axisLine={false} tickMargin={8} width={120} />\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n <Bar dataKey=\"value\" fill={color} radius={4} isAnimationActive={animate}>\n {showValueLabels && (\n <LabelList\n dataKey=\"value\"\n position=\"right\"\n offset={8}\n className=\"fill-muted-strong\"\n fontSize={12}\n formatter={(value: React.ReactNode) => valueFormatter(Number(value))}\n />\n )}\n </Bar>\n </BarChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAuCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,WAAW,EACX,QAAQ,iBACR,iBAAiBA,EAAAA,oBACjB,kBAAkB,GAClB,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,GAAA,EAAA,EAAA,QAAA,KAA0B,CAAC,GAAG,CAAI,CAAC,CAAC,MAAM,EAAG,IAAM,EAAE,MAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAG,CAAQ,EAAG,CAAC,EAAM,CAAQ,CAAC,EAIhH,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,yBACV,QAAA,EAAA,EAAA,QAAA,MALuC,CAAE,MAAO,CAAE,QAAO,OAAM,CAAE,GAAI,CAAC,EAAO,CAAK,CAKrE,EACb,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,YAE5D,EAAA,EAAA,KAAA,CAACC,EAAAA,SAAD,CAAU,KAAM,EAAW,OAAO,WAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,EAAkB,GAAK,GAAI,OAAQ,EAAG,KAAM,EAAG,WAArH,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,KAAK,SAAS,QAAQ,QAAQ,KAAA,EAAM,CAAA,GAC3C,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,KAAK,WAAW,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAM,CAAA,GACpG,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAc,OAAQ,GAAO,SAAS,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CAAqB,UAAA,EAAW,CAAA,CAAI,CAAA,GAC1E,EAAA,EAAA,IAAA,CAACC,EAAAA,IAAD,CAAK,QAAQ,QAAQ,KAAM,EAAO,OAAQ,EAAG,kBAAmB,WAC7D,IACC,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CACE,QAAQ,QACR,SAAS,QACT,OAAQ,EACR,UAAU,oBACV,SAAU,GACV,UAAY,GAA2B,EAAe,OAAO,CAAK,CAAC,CACpE,CAAA,CAEA,CAAA,CACG,GACI,CAAA,CAEpB"}
1
+ {"version":3,"file":"top-products-bar-chart-5EJFSkeo.cjs","names":["formatCompactNumber","ChartContainer","BarChart","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Bar","LabelList"],"sources":["../packages/components/features/charts/components/top-products-bar-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Bar, BarChart, LabelList, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber } from '../utils';\n\nexport type TopProductsBarChartProps = BaseChartProps & {\n data: NamedValue[];\n /** Series label. Defaults to `'Sales'`. */\n label?: string;\n /** Number of items shown after sorting descending. Defaults to `8`. */\n maxItems?: number;\n color?: string;\n valueFormatter?: (value: number) => string;\n /** Value labels at the end of each bar. Defaults to `true`. */\n showValueLabels?: boolean;\n};\n\n/**\n * A horizontal bar ranking chart — top products, best categories, top customers.\n *\n * @example\n * ```tsx\n * import { TopProductsBarChart } from '@customafk/lunas-ui/features/charts';\n *\n * <TopProductsBarChart\n * data={[\n * { name: 'Wireless Earbuds', value: 1245 },\n * { name: 'Smart Watch', value: 986 },\n * ]}\n * />\n * ```\n */\nexport const TopProductsBarChart = ({\n data,\n label = 'Sales',\n maxItems = 8,\n color = 'var(--chart-1)',\n valueFormatter = formatCompactNumber,\n showValueLabels = true,\n className,\n animate = true,\n height,\n}: TopProductsBarChartProps) => {\n const chartData = useMemo(() => [...data].sort((a, b) => b.value - a.value).slice(0, maxItems), [data, maxItems]);\n\n const config = useMemo<ChartConfig>(() => ({ value: { label, color } }), [label, color]);\n\n return (\n <ChartContainer\n data-slot=\"top-products-bar-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <BarChart data={chartData} layout=\"vertical\" margin={{ top: 0, right: showValueLabels ? 48 : 12, bottom: 0, left: 12 }}>\n <XAxis type=\"number\" dataKey=\"value\" hide />\n <YAxis type=\"category\" dataKey=\"name\" tickLine={false} axisLine={false} tickMargin={8} width={120} />\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n <Bar dataKey=\"value\" fill={color} radius={4} isAnimationActive={animate}>\n {showValueLabels && (\n <LabelList\n dataKey=\"value\"\n position=\"right\"\n offset={8}\n className=\"fill-muted-strong\"\n fontSize={12}\n formatter={(value: React.ReactNode) => valueFormatter(Number(value))}\n />\n )}\n </Bar>\n </BarChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAuCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,WAAW,EACX,QAAQ,iBACR,iBAAiBA,EAAAA,oBACjB,kBAAkB,GAClB,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,GAAA,EAAA,EAAA,QAAA,KAA0B,CAAC,GAAG,CAAI,CAAC,CAAC,MAAM,EAAG,IAAM,EAAE,MAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAG,CAAQ,EAAG,CAAC,EAAM,CAAQ,CAAC,EAIhH,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,yBACV,QAAA,EAAA,EAAA,QAAA,MALuC,CAAE,MAAO,CAAE,QAAO,OAAM,CAAE,GAAI,CAAC,EAAO,CAAK,CAKrE,EACb,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,EAE5D,UAAA,EAAA,EAAA,KAAA,CAACC,EAAAA,SAAD,CAAU,KAAM,EAAW,OAAO,WAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,EAAkB,GAAK,GAAI,OAAQ,EAAG,KAAM,EAAG,EAArH,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,KAAK,SAAS,QAAQ,QAAQ,KAAA,EAAM,CAAA,GAC3C,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,KAAK,WAAW,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAM,CAAA,GACpG,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAc,OAAQ,GAAO,SAAS,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CAAqB,UAAA,EAAW,CAAA,CAAI,CAAA,GAC1E,EAAA,EAAA,IAAA,CAACC,EAAAA,IAAD,CAAK,QAAQ,QAAQ,KAAM,EAAO,OAAQ,EAAG,kBAAmB,EAC7D,SAAA,IACC,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CACE,QAAQ,QACR,SAAS,QACT,OAAQ,EACR,UAAU,oBACV,SAAU,GACV,UAAY,GAA2B,EAAe,OAAO,CAAK,CAAC,CACpE,CAAA,CAEA,CAAA,CACG,GACI,CAAA,CAEpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"top-products-bar-chart-CKYaOGWT.mjs","names":[],"sources":["../packages/components/features/charts/components/top-products-bar-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Bar, BarChart, LabelList, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber } from '../utils';\n\nexport type TopProductsBarChartProps = BaseChartProps & {\n data: NamedValue[];\n /** Series label. Defaults to `'Sales'`. */\n label?: string;\n /** Number of items shown after sorting descending. Defaults to `8`. */\n maxItems?: number;\n color?: string;\n valueFormatter?: (value: number) => string;\n /** Value labels at the end of each bar. Defaults to `true`. */\n showValueLabels?: boolean;\n};\n\n/**\n * A horizontal bar ranking chart — top products, best categories, top customers.\n *\n * @example\n * ```tsx\n * import { TopProductsBarChart } from '@customafk/lunas-ui/features/charts';\n *\n * <TopProductsBarChart\n * data={[\n * { name: 'Wireless Earbuds', value: 1245 },\n * { name: 'Smart Watch', value: 986 },\n * ]}\n * />\n * ```\n */\nexport const TopProductsBarChart = ({\n data,\n label = 'Sales',\n maxItems = 8,\n color = 'var(--chart-1)',\n valueFormatter = formatCompactNumber,\n showValueLabels = true,\n className,\n animate = true,\n height,\n}: TopProductsBarChartProps) => {\n const chartData = useMemo(() => [...data].sort((a, b) => b.value - a.value).slice(0, maxItems), [data, maxItems]);\n\n const config = useMemo<ChartConfig>(() => ({ value: { label, color } }), [label, color]);\n\n return (\n <ChartContainer\n data-slot=\"top-products-bar-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <BarChart data={chartData} layout=\"vertical\" margin={{ top: 0, right: showValueLabels ? 48 : 12, bottom: 0, left: 12 }}>\n <XAxis type=\"number\" dataKey=\"value\" hide />\n <YAxis type=\"category\" dataKey=\"name\" tickLine={false} axisLine={false} tickMargin={8} width={120} />\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n <Bar dataKey=\"value\" fill={color} radius={4} isAnimationActive={animate}>\n {showValueLabels && (\n <LabelList\n dataKey=\"value\"\n position=\"right\"\n offset={8}\n className=\"fill-muted-strong\"\n fontSize={12}\n formatter={(value: React.ReactNode) => valueFormatter(Number(value))}\n />\n )}\n </Bar>\n </BarChart>\n </ChartContainer>\n );\n};\n"],"mappings":"qXAuCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,WAAW,EACX,QAAQ,iBACR,iBAAiB,EACjB,kBAAkB,GAClB,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,EAAY,MAAc,CAAC,GAAG,CAAI,CAAC,CAAC,MAAM,EAAG,IAAM,EAAE,MAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAG,CAAQ,EAAG,CAAC,EAAM,CAAQ,CAAC,EAIhH,OACE,EAAC,EAAD,CACE,YAAU,yBACV,OALW,OAA4B,CAAE,MAAO,CAAE,QAAO,OAAM,CAAE,GAAI,CAAC,EAAO,CAAK,CAKrE,EACb,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,WAE5D,EAAC,EAAD,CAAU,KAAM,EAAW,OAAO,WAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,EAAkB,GAAK,GAAI,OAAQ,EAAG,KAAM,EAAG,WAArH,CACE,EAAC,EAAD,CAAO,KAAK,SAAS,QAAQ,QAAQ,KAAA,EAAM,CAAA,EAC3C,EAAC,EAAD,CAAO,KAAK,WAAW,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAM,CAAA,EACpG,EAAC,EAAD,CAAc,OAAQ,GAAO,QAAS,EAAC,EAAD,CAAqB,UAAA,EAAW,CAAA,CAAI,CAAA,EAC1E,EAAC,EAAD,CAAK,QAAQ,QAAQ,KAAM,EAAO,OAAQ,EAAG,kBAAmB,WAC7D,GACC,EAAC,EAAD,CACE,QAAQ,QACR,SAAS,QACT,OAAQ,EACR,UAAU,oBACV,SAAU,GACV,UAAY,GAA2B,EAAe,OAAO,CAAK,CAAC,CACpE,CAAA,CAEA,CAAA,CACG,GACI,CAAA,CAEpB"}
1
+ {"version":3,"file":"top-products-bar-chart-CKYaOGWT.mjs","names":[],"sources":["../packages/components/features/charts/components/top-products-bar-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Bar, BarChart, LabelList, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber } from '../utils';\n\nexport type TopProductsBarChartProps = BaseChartProps & {\n data: NamedValue[];\n /** Series label. Defaults to `'Sales'`. */\n label?: string;\n /** Number of items shown after sorting descending. Defaults to `8`. */\n maxItems?: number;\n color?: string;\n valueFormatter?: (value: number) => string;\n /** Value labels at the end of each bar. Defaults to `true`. */\n showValueLabels?: boolean;\n};\n\n/**\n * A horizontal bar ranking chart — top products, best categories, top customers.\n *\n * @example\n * ```tsx\n * import { TopProductsBarChart } from '@customafk/lunas-ui/features/charts';\n *\n * <TopProductsBarChart\n * data={[\n * { name: 'Wireless Earbuds', value: 1245 },\n * { name: 'Smart Watch', value: 986 },\n * ]}\n * />\n * ```\n */\nexport const TopProductsBarChart = ({\n data,\n label = 'Sales',\n maxItems = 8,\n color = 'var(--chart-1)',\n valueFormatter = formatCompactNumber,\n showValueLabels = true,\n className,\n animate = true,\n height,\n}: TopProductsBarChartProps) => {\n const chartData = useMemo(() => [...data].sort((a, b) => b.value - a.value).slice(0, maxItems), [data, maxItems]);\n\n const config = useMemo<ChartConfig>(() => ({ value: { label, color } }), [label, color]);\n\n return (\n <ChartContainer\n data-slot=\"top-products-bar-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <BarChart data={chartData} layout=\"vertical\" margin={{ top: 0, right: showValueLabels ? 48 : 12, bottom: 0, left: 12 }}>\n <XAxis type=\"number\" dataKey=\"value\" hide />\n <YAxis type=\"category\" dataKey=\"name\" tickLine={false} axisLine={false} tickMargin={8} width={120} />\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n <Bar dataKey=\"value\" fill={color} radius={4} isAnimationActive={animate}>\n {showValueLabels && (\n <LabelList\n dataKey=\"value\"\n position=\"right\"\n offset={8}\n className=\"fill-muted-strong\"\n fontSize={12}\n formatter={(value: React.ReactNode) => valueFormatter(Number(value))}\n />\n )}\n </Bar>\n </BarChart>\n </ChartContainer>\n );\n};\n"],"mappings":"qXAuCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,WAAW,EACX,QAAQ,iBACR,iBAAiB,EACjB,kBAAkB,GAClB,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,EAAY,MAAc,CAAC,GAAG,CAAI,CAAC,CAAC,MAAM,EAAG,IAAM,EAAE,MAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAG,CAAQ,EAAG,CAAC,EAAM,CAAQ,CAAC,EAIhH,OACE,EAAC,EAAD,CACE,YAAU,yBACV,OALW,OAA4B,CAAE,MAAO,CAAE,QAAO,OAAM,CAAE,GAAI,CAAC,EAAO,CAAK,CAKrE,EACb,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,EAE5D,SAAA,EAAC,EAAD,CAAU,KAAM,EAAW,OAAO,WAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,EAAkB,GAAK,GAAI,OAAQ,EAAG,KAAM,EAAG,EAArH,SAAA,CACE,EAAC,EAAD,CAAO,KAAK,SAAS,QAAQ,QAAQ,KAAA,EAAM,CAAA,EAC3C,EAAC,EAAD,CAAO,KAAK,WAAW,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAM,CAAA,EACpG,EAAC,EAAD,CAAc,OAAQ,GAAO,QAAS,EAAC,EAAD,CAAqB,UAAA,EAAW,CAAA,CAAI,CAAA,EAC1E,EAAC,EAAD,CAAK,QAAQ,QAAQ,KAAM,EAAO,OAAQ,EAAG,kBAAmB,EAC7D,SAAA,GACC,EAAC,EAAD,CACE,QAAQ,QACR,SAAS,QACT,OAAQ,EACR,UAAU,oBACV,SAAU,GACV,UAAY,GAA2B,EAAe,OAAO,CAAK,CAAC,CACpE,CAAA,CAEA,CAAA,CACG,GACI,CAAA,CAEpB"}
@@ -1,6 +1,7 @@
1
1
  //#region packages/components/ui/buttons/trash.d.ts
2
2
  type Props = {
3
- /** Callback invoked when the button is clicked. */onClick?: () => void;
3
+ /** Callback invoked when the button is clicked. */
4
+ onClick?: () => void;
4
5
  };
5
6
  /**
6
7
  * An icon-only ghost button that triggers a delete action, rendered with a trash-can icon.
@@ -13,4 +14,4 @@ type Props = {
13
14
  declare const TrashBtn: React.FC<Props>;
14
15
  //#endregion
15
16
  export { TrashBtn as t };
16
- //# sourceMappingURL=trash-BfWSqlL4.d.cts.map
17
+ //# sourceMappingURL=trash-DBDuSVzW.d.cts.map
@@ -1,6 +1,7 @@
1
1
  //#region packages/components/ui/buttons/trash.d.ts
2
2
  type Props = {
3
- /** Callback invoked when the button is clicked. */onClick?: () => void;
3
+ /** Callback invoked when the button is clicked. */
4
+ onClick?: () => void;
4
5
  };
5
6
  /**
6
7
  * An icon-only ghost button that triggers a delete action, rendered with a trash-can icon.
@@ -13,4 +14,4 @@ type Props = {
13
14
  declare const TrashBtn: React.FC<Props>;
14
15
  //#endregion
15
16
  export { TrashBtn as t };
16
- //# sourceMappingURL=trash-BfWSqlL4.d.mts.map
17
+ //# sourceMappingURL=trash-DBDuSVzW.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as ParagraphProps, r as paragraphVariants, t as Paragraph } from "../paragraph-DbYYv0A0.cjs";
1
+ import { n as ParagraphProps, r as paragraphVariants, t as Paragraph } from "../paragraph-CkCNIsvz.cjs";
2
2
  export { Paragraph, ParagraphProps, paragraphVariants };
@@ -1,2 +1,2 @@
1
- import { n as ParagraphProps, r as paragraphVariants, t as Paragraph } from "../paragraph-BTmvVS1S.mjs";
1
+ import { n as ParagraphProps, r as paragraphVariants, t as Paragraph } from "../paragraph-CRo5eC7H.mjs";
2
2
  export { Paragraph, ParagraphProps, paragraphVariants };
@@ -1,2 +1,2 @@
1
- import { n as TitleProps, t as Title } from "../title-BT9guhSU.cjs";
1
+ import { n as TitleProps, t as Title } from "../title-D8BSkLsi.cjs";
2
2
  export { Title, TitleProps };
@@ -1,2 +1,2 @@
1
- import { n as TitleProps, t as Title } from "../title-BT9guhSU.mjs";
1
+ import { n as TitleProps, t as Title } from "../title-D8BSkLsi.mjs";
2
2
  export { Title, TitleProps };
@@ -1,2 +1,2 @@
1
- import { a as AlertDialogDescription, c as AlertDialogOverlay, d as AlertDialogTrigger, i as AlertDialogContent, l as AlertDialogPortal, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog, u as AlertDialogTitle } from "../alert-dialog-Cdhz7jSj.cjs";
1
+ import { a as AlertDialogDescription, c as AlertDialogOverlay, d as AlertDialogTrigger, i as AlertDialogContent, l as AlertDialogPortal, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog, u as AlertDialogTitle } from "../alert-dialog-8aDimwPK.cjs";
2
2
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -1,2 +1,2 @@
1
- import { a as AlertDialogDescription, c as AlertDialogOverlay, d as AlertDialogTrigger, i as AlertDialogContent, l as AlertDialogPortal, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog, u as AlertDialogTitle } from "../alert-dialog-Cdhz7jSj.mjs";
1
+ import { a as AlertDialogDescription, c as AlertDialogOverlay, d as AlertDialogTrigger, i as AlertDialogContent, l as AlertDialogPortal, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog, u as AlertDialogTitle } from "../alert-dialog-8aDimwPK.mjs";
2
2
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -1,2 +1,2 @@
1
- import { a as AlertTitle, i as AlertProps, n as AlertDescription, o as AlertTitleProps, r as AlertDescriptionProps, t as Alert } from "../alert-Bip5XjBw.cjs";
1
+ import { a as AlertTitle, i as AlertProps, n as AlertDescription, o as AlertTitleProps, r as AlertDescriptionProps, t as Alert } from "../alert-C8wdckO8.cjs";
2
2
  export { Alert, AlertDescription, AlertDescriptionProps, AlertProps, AlertTitle, AlertTitleProps };
@@ -1,2 +1,2 @@
1
- import { a as AlertTitle, i as AlertProps, n as AlertDescription, o as AlertTitleProps, r as AlertDescriptionProps, t as Alert } from "../alert-Bip5XjBw.mjs";
1
+ import { a as AlertTitle, i as AlertProps, n as AlertDescription, o as AlertTitleProps, r as AlertDescriptionProps, t as Alert } from "../alert-C8wdckO8.mjs";
2
2
  export { Alert, AlertDescription, AlertDescriptionProps, AlertProps, AlertTitle, AlertTitleProps };
@@ -1,2 +1,2 @@
1
- import { t as AspectRatio } from "../aspect-ratio-huscluwJ.cjs";
1
+ import { t as AspectRatio } from "../aspect-ratio-DqXWkGJQ.cjs";
2
2
  export { AspectRatio };
@@ -1,2 +1,2 @@
1
- import { t as AspectRatio } from "../aspect-ratio-huscluwJ.mjs";
1
+ import { t as AspectRatio } from "../aspect-ratio-DqXWkGJQ.mjs";
2
2
  export { AspectRatio };
@@ -1,2 +1,2 @@
1
- import { n as AvatarFallback, r as AvatarImage, t as Avatar } from "../avatar-BpeFwSkQ.cjs";
1
+ import { n as AvatarFallback, r as AvatarImage, t as Avatar } from "../avatar-yN3dNBsZ.cjs";
2
2
  export { Avatar, AvatarFallback, AvatarImage };
@@ -1,2 +1,2 @@
1
- import { n as AvatarFallback, r as AvatarImage, t as Avatar } from "../avatar-BpeFwSkQ.mjs";
1
+ import { n as AvatarFallback, r as AvatarImage, t as Avatar } from "../avatar-yN3dNBsZ.mjs";
2
2
  export { Avatar, AvatarFallback, AvatarImage };
package/dist/ui/badge.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@customafk/react-toolkit/utils"),t=require("class-variance-authority"),n=require("react/jsx-runtime");const r=(0,t.cva)(`inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline`,{variants:{variant:{solid:`shadow-btn`,soft:``,outline:`bg-transparent border`},color:{primary:``,secondary:``,muted:``,accent:``,info:``,success:``,warning:``,danger:``},size:{xs:`text-[10px]/3 px-1.5 py-0.5 gap-1`,sm:`text-xs px-2 py-0.5 gap-1`,md:`text-sm px-2.5 py-0.5 gap-1.5`,lg:`text-base px-3 py-1 gap-1.5`,xl:`text-lg px-3.5 py-1 gap-1.5`},pill:{true:`rounded-full`,false:`rounded-sm`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`,pill:!0},compoundVariants:[{variant:`solid`,color:`primary`,className:`bg-primary text-primary-foreground`},{variant:`solid`,color:`secondary`,className:`bg-secondary text-secondary-foreground`},{variant:`solid`,color:`muted`,className:`bg-muted text-text-negative`},{variant:`solid`,color:`accent`,className:`bg-accent text-text-negative`},{variant:`solid`,color:`info`,className:`bg-info text-info-foreground`},{variant:`solid`,color:`success`,className:`bg-success text-success-foreground`},{variant:`solid`,color:`warning`,className:`bg-warning text-text-negative`},{variant:`solid`,color:`danger`,className:`bg-danger text-danger-foreground`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary-intense`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary-intense`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted-intense`},{variant:`soft`,color:`accent`,className:`bg-accent-bg-subtle text-accent-intense`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info-intense`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success-intense`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning-intense`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger-intense`},{variant:`outline`,color:`primary`,className:`border-primary text-primary`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary`},{variant:`outline`,color:`muted`,className:`border-muted text-muted`},{variant:`outline`,color:`accent`,className:`border-accent text-accent`},{variant:`outline`,color:`info`,className:`border-info text-info`},{variant:`outline`,color:`success`,className:`border-success text-success`},{variant:`outline`,color:`warning`,className:`border-warning text-warning`},{variant:`outline`,color:`danger`,className:`border-danger text-danger`}]});function i({className:t,variant:i,color:a,size:o,pill:s,...c}){return(0,n.jsx)(`span`,{className:(0,e.cn)(r({variant:i,color:a,pill:s,size:o}),t),...c})}exports.Badge=i,exports.badgeVariants=r;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@customafk/react-toolkit/utils"),t=require("class-variance-authority"),n=require("react/jsx-runtime");const r=(0,t.cva)(`inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline`,{variants:{variant:{solid:`shadow-btn`,soft:``,outline:`bg-transparent border`},color:{primary:``,secondary:``,muted:``,accent:``,info:``,success:``,warning:``,danger:``},size:{xs:`text-[10px]/3 px-1.5 py-0.5 gap-1`,sm:`text-xs px-2 py-0.5 gap-1`,md:`text-sm px-2.5 py-0.5 gap-1.5`,lg:`text-base px-3 py-1 gap-1.5`,xl:`text-lg px-3.5 py-1 gap-1.5`},pill:{true:`rounded-full`,false:`rounded`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`,pill:!0},compoundVariants:[{variant:`solid`,color:`primary`,className:`bg-primary text-primary-foreground`},{variant:`solid`,color:`secondary`,className:`bg-secondary text-secondary-foreground`},{variant:`solid`,color:`muted`,className:`bg-muted text-text-negative`},{variant:`solid`,color:`accent`,className:`bg-accent text-text-negative`},{variant:`solid`,color:`info`,className:`bg-info text-info-foreground`},{variant:`solid`,color:`success`,className:`bg-success text-success-foreground`},{variant:`solid`,color:`warning`,className:`bg-warning text-text-negative`},{variant:`solid`,color:`danger`,className:`bg-danger text-danger-foreground`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary-intense`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary-intense`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted-intense`},{variant:`soft`,color:`accent`,className:`bg-accent-bg-subtle text-accent-intense`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info-intense`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success-intense`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning-intense`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger-intense`},{variant:`outline`,color:`primary`,className:`border-primary text-primary`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary`},{variant:`outline`,color:`muted`,className:`border-muted text-muted`},{variant:`outline`,color:`accent`,className:`border-accent text-accent`},{variant:`outline`,color:`info`,className:`border-info text-info`},{variant:`outline`,color:`success`,className:`border-success text-success`},{variant:`outline`,color:`warning`,className:`border-warning text-warning`},{variant:`outline`,color:`danger`,className:`border-danger text-danger`}]});function i({className:t,variant:i,color:a,size:o,pill:s,...c}){return(0,n.jsx)(`span`,{className:(0,e.cn)(r({variant:i,color:a,pill:s,size:o}),t),...c})}exports.Badge=i,exports.badgeVariants=r;
2
2
  //# sourceMappingURL=badge.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.cjs","names":[],"sources":["../../packages/components/ui/badge.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline',\n {\n variants: {\n variant: {\n solid: 'shadow-btn',\n soft: '',\n outline: 'bg-transparent border',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n accent: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n size: {\n xs: 'text-[10px]/3 px-1.5 py-0.5 gap-1',\n sm: 'text-xs px-2 py-0.5 gap-1',\n md: 'text-sm px-2.5 py-0.5 gap-1.5',\n lg: 'text-base px-3 py-1 gap-1.5',\n xl: 'text-lg px-3.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n false: 'rounded-sm',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n pill: true,\n },\n compoundVariants: [\n // solid\n { variant: 'solid', color: 'primary', className: 'bg-primary text-primary-foreground' },\n { variant: 'solid', color: 'secondary', className: 'bg-secondary text-secondary-foreground' },\n { variant: 'solid', color: 'muted', className: 'bg-muted text-text-negative' },\n { variant: 'solid', color: 'accent', className: 'bg-accent text-text-negative' },\n { variant: 'solid', color: 'info', className: 'bg-info text-info-foreground' },\n { variant: 'solid', color: 'success', className: 'bg-success text-success-foreground' },\n { variant: 'solid', color: 'warning', className: 'bg-warning text-text-negative' },\n { variant: 'solid', color: 'danger', className: 'bg-danger text-danger-foreground' },\n // soft\n { variant: 'soft', color: 'primary', className: 'bg-primary-bg-subtle text-primary-intense' },\n { variant: 'soft', color: 'secondary', className: 'bg-secondary-bg-subtle text-secondary-intense' },\n { variant: 'soft', color: 'muted', className: 'bg-muted-bg-subtle text-muted-intense' },\n { variant: 'soft', color: 'accent', className: 'bg-accent-bg-subtle text-accent-intense' },\n { variant: 'soft', color: 'info', className: 'bg-info-bg-subtle text-info-intense' },\n { variant: 'soft', color: 'success', className: 'bg-success-bg-subtle text-success-intense' },\n { variant: 'soft', color: 'warning', className: 'bg-warning-bg-subtle text-warning-intense' },\n { variant: 'soft', color: 'danger', className: 'bg-danger-bg-subtle text-danger-intense' },\n // outline\n { variant: 'outline', color: 'primary', className: 'border-primary text-primary' },\n { variant: 'outline', color: 'secondary', className: 'border-secondary text-secondary' },\n { variant: 'outline', color: 'muted', className: 'border-muted text-muted' },\n { variant: 'outline', color: 'accent', className: 'border-accent text-accent' },\n { variant: 'outline', color: 'info', className: 'border-info text-info' },\n { variant: 'outline', color: 'success', className: 'border-success text-success' },\n { variant: 'outline', color: 'warning', className: 'border-warning text-warning' },\n { variant: 'outline', color: 'danger', className: 'border-danger text-danger' },\n ],\n }\n);\n\n/**\n * Props for the `Badge` component.\n *\n * @property variant - Visual fill style — `'solid'` (filled, default), `'soft'` (tinted background), or `'outline'` (border only).\n * @property color - Semantic color token — `'primary'` | `'secondary'` | `'muted'` | `'accent'` | `'info'` | `'success'` | `'warning'` | `'danger'`. Defaults to `'primary'`.\n * @property size - Badge size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`.\n * @property pill - When `true` (default), renders with fully rounded corners (`rounded-full`); when `false`, uses `rounded-sm`.\n */\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>;\n\n/**\n * Inline status label rendered as a `<span>` with CVA-driven variant, color, size, and shape options.\n *\n * @example\n * ```tsx\n * import { Badge } from '@customafk/lunas-ui/ui/badge';\n *\n * <Badge variant=\"soft\" color=\"success\" size=\"sm\">Active</Badge>\n * <Badge variant=\"outline\" color=\"danger\">Overdue</Badge>\n * ```\n */\nfunction Badge({ className, variant, color, size, pill, ...props }: BadgeProps) {\n return <span className={cn(badgeVariants({ variant, color, pill, size }), className)} {...props} />;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n"],"mappings":"qMAMA,MAAM,GAAA,EAAA,EAAA,IAAA,CACJ,iLACA,CACE,SAAU,CACR,QAAS,CACP,MAAO,aACP,KAAM,GACN,QAAS,uBACX,EACA,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,OAAQ,GACR,KAAM,GACN,QAAS,GACT,QAAS,GACT,OAAQ,EACV,EACA,KAAM,CACJ,GAAI,oCACJ,GAAI,4BACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,6BACN,EACA,KAAM,CACJ,KAAM,eACN,MAAO,YACT,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,KACN,KAAM,EACR,EACA,iBAAkB,CAEhB,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,YAAa,UAAW,wCAAyC,EAC5F,CAAE,QAAS,QAAS,MAAO,QAAS,UAAW,6BAA8B,EAC7E,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,8BAA+B,EAC/E,CAAE,QAAS,QAAS,MAAO,OAAQ,UAAW,8BAA+B,EAC7E,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,+BAAgC,EACjF,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,kCAAmC,EAEnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,YAAa,UAAW,+CAAgD,EAClG,CAAE,QAAS,OAAQ,MAAO,QAAS,UAAW,uCAAwC,EACtF,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EACzF,CAAE,QAAS,OAAQ,MAAO,OAAQ,UAAW,qCAAsC,EACnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EAEzF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,YAAa,UAAW,iCAAkC,EACvF,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,yBAA0B,EAC3E,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,EAC9E,CAAE,QAAS,UAAW,MAAO,OAAQ,UAAW,uBAAwB,EACxE,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,CAChF,CACF,CACF,EAuBA,SAAS,EAAM,CAAE,YAAW,UAAS,QAAO,OAAM,OAAM,GAAG,GAAqB,CAC9E,OAAO,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,WAAA,EAAA,EAAA,GAAA,CAAc,EAAc,CAAE,UAAS,QAAO,OAAM,MAAK,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG"}
1
+ {"version":3,"file":"badge.cjs","names":[],"sources":["../../packages/components/ui/badge.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline',\n {\n variants: {\n variant: {\n solid: 'shadow-btn',\n soft: '',\n outline: 'bg-transparent border',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n accent: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n size: {\n xs: 'text-[10px]/3 px-1.5 py-0.5 gap-1',\n sm: 'text-xs px-2 py-0.5 gap-1',\n md: 'text-sm px-2.5 py-0.5 gap-1.5',\n lg: 'text-base px-3 py-1 gap-1.5',\n xl: 'text-lg px-3.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n false: 'rounded',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n pill: true,\n },\n compoundVariants: [\n // solid\n { variant: 'solid', color: 'primary', className: 'bg-primary text-primary-foreground' },\n { variant: 'solid', color: 'secondary', className: 'bg-secondary text-secondary-foreground' },\n { variant: 'solid', color: 'muted', className: 'bg-muted text-text-negative' },\n { variant: 'solid', color: 'accent', className: 'bg-accent text-text-negative' },\n { variant: 'solid', color: 'info', className: 'bg-info text-info-foreground' },\n { variant: 'solid', color: 'success', className: 'bg-success text-success-foreground' },\n { variant: 'solid', color: 'warning', className: 'bg-warning text-text-negative' },\n { variant: 'solid', color: 'danger', className: 'bg-danger text-danger-foreground' },\n // soft\n { variant: 'soft', color: 'primary', className: 'bg-primary-bg-subtle text-primary-intense' },\n { variant: 'soft', color: 'secondary', className: 'bg-secondary-bg-subtle text-secondary-intense' },\n { variant: 'soft', color: 'muted', className: 'bg-muted-bg-subtle text-muted-intense' },\n { variant: 'soft', color: 'accent', className: 'bg-accent-bg-subtle text-accent-intense' },\n { variant: 'soft', color: 'info', className: 'bg-info-bg-subtle text-info-intense' },\n { variant: 'soft', color: 'success', className: 'bg-success-bg-subtle text-success-intense' },\n { variant: 'soft', color: 'warning', className: 'bg-warning-bg-subtle text-warning-intense' },\n { variant: 'soft', color: 'danger', className: 'bg-danger-bg-subtle text-danger-intense' },\n // outline\n { variant: 'outline', color: 'primary', className: 'border-primary text-primary' },\n { variant: 'outline', color: 'secondary', className: 'border-secondary text-secondary' },\n { variant: 'outline', color: 'muted', className: 'border-muted text-muted' },\n { variant: 'outline', color: 'accent', className: 'border-accent text-accent' },\n { variant: 'outline', color: 'info', className: 'border-info text-info' },\n { variant: 'outline', color: 'success', className: 'border-success text-success' },\n { variant: 'outline', color: 'warning', className: 'border-warning text-warning' },\n { variant: 'outline', color: 'danger', className: 'border-danger text-danger' },\n ],\n }\n);\n\n/**\n * Props for the `Badge` component.\n *\n * @property variant - Visual fill style — `'solid'` (filled, default), `'soft'` (tinted background), or `'outline'` (border only).\n * @property color - Semantic color token — `'primary'` | `'secondary'` | `'muted'` | `'accent'` | `'info'` | `'success'` | `'warning'` | `'danger'`. Defaults to `'primary'`.\n * @property size - Badge size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`.\n * @property pill - When `true` (default), renders with fully rounded corners (`rounded-full`); when `false`, uses `rounded-sm`.\n */\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>;\n\n/**\n * Inline status label rendered as a `<span>` with CVA-driven variant, color, size, and shape options.\n *\n * @example\n * ```tsx\n * import { Badge } from '@customafk/lunas-ui/ui/badge';\n *\n * <Badge variant=\"soft\" color=\"success\" size=\"sm\">Active</Badge>\n * <Badge variant=\"outline\" color=\"danger\">Overdue</Badge>\n * ```\n */\nfunction Badge({ className, variant, color, size, pill, ...props }: BadgeProps) {\n return <span className={cn(badgeVariants({ variant, color, pill, size }), className)} {...props} />;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n"],"mappings":"qMAMA,MAAM,GAAA,EAAA,EAAA,IAAA,CACJ,iLACA,CACE,SAAU,CACR,QAAS,CACP,MAAO,aACP,KAAM,GACN,QAAS,uBACX,EACA,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,OAAQ,GACR,KAAM,GACN,QAAS,GACT,QAAS,GACT,OAAQ,EACV,EACA,KAAM,CACJ,GAAI,oCACJ,GAAI,4BACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,6BACN,EACA,KAAM,CACJ,KAAM,eACN,MAAO,SACT,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,KACN,KAAM,EACR,EACA,iBAAkB,CAEhB,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,YAAa,UAAW,wCAAyC,EAC5F,CAAE,QAAS,QAAS,MAAO,QAAS,UAAW,6BAA8B,EAC7E,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,8BAA+B,EAC/E,CAAE,QAAS,QAAS,MAAO,OAAQ,UAAW,8BAA+B,EAC7E,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,+BAAgC,EACjF,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,kCAAmC,EAEnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,YAAa,UAAW,+CAAgD,EAClG,CAAE,QAAS,OAAQ,MAAO,QAAS,UAAW,uCAAwC,EACtF,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EACzF,CAAE,QAAS,OAAQ,MAAO,OAAQ,UAAW,qCAAsC,EACnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EAEzF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,YAAa,UAAW,iCAAkC,EACvF,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,yBAA0B,EAC3E,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,EAC9E,CAAE,QAAS,UAAW,MAAO,OAAQ,UAAW,uBAAwB,EACxE,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,CAChF,CACF,CACF,EAuBA,SAAS,EAAM,CAAE,YAAW,UAAS,QAAO,OAAM,OAAM,GAAG,GAAqB,CAC9E,OAAO,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,WAAA,EAAA,EAAA,GAAA,CAAc,EAAc,CAAE,UAAS,QAAO,OAAM,MAAK,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG"}
@@ -1,2 +1,2 @@
1
- import { n as BadgeProps, r as badgeVariants, t as Badge } from "../badge-MRT40pxM.cjs";
1
+ import { n as BadgeProps, r as badgeVariants, t as Badge } from "../badge-BPiU1Ss2.cjs";
2
2
  export { Badge, BadgeProps, badgeVariants };
@@ -1,2 +1,2 @@
1
- import { n as BadgeProps, r as badgeVariants, t as Badge } from "../badge-MRT40pxM.mjs";
1
+ import { n as BadgeProps, r as badgeVariants, t as Badge } from "../badge-BPiU1Ss2.mjs";
2
2
  export { Badge, BadgeProps, badgeVariants };
package/dist/ui/badge.mjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{jsx as n}from"react/jsx-runtime";const r=t(`inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline`,{variants:{variant:{solid:`shadow-btn`,soft:``,outline:`bg-transparent border`},color:{primary:``,secondary:``,muted:``,accent:``,info:``,success:``,warning:``,danger:``},size:{xs:`text-[10px]/3 px-1.5 py-0.5 gap-1`,sm:`text-xs px-2 py-0.5 gap-1`,md:`text-sm px-2.5 py-0.5 gap-1.5`,lg:`text-base px-3 py-1 gap-1.5`,xl:`text-lg px-3.5 py-1 gap-1.5`},pill:{true:`rounded-full`,false:`rounded-sm`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`,pill:!0},compoundVariants:[{variant:`solid`,color:`primary`,className:`bg-primary text-primary-foreground`},{variant:`solid`,color:`secondary`,className:`bg-secondary text-secondary-foreground`},{variant:`solid`,color:`muted`,className:`bg-muted text-text-negative`},{variant:`solid`,color:`accent`,className:`bg-accent text-text-negative`},{variant:`solid`,color:`info`,className:`bg-info text-info-foreground`},{variant:`solid`,color:`success`,className:`bg-success text-success-foreground`},{variant:`solid`,color:`warning`,className:`bg-warning text-text-negative`},{variant:`solid`,color:`danger`,className:`bg-danger text-danger-foreground`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary-intense`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary-intense`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted-intense`},{variant:`soft`,color:`accent`,className:`bg-accent-bg-subtle text-accent-intense`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info-intense`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success-intense`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning-intense`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger-intense`},{variant:`outline`,color:`primary`,className:`border-primary text-primary`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary`},{variant:`outline`,color:`muted`,className:`border-muted text-muted`},{variant:`outline`,color:`accent`,className:`border-accent text-accent`},{variant:`outline`,color:`info`,className:`border-info text-info`},{variant:`outline`,color:`success`,className:`border-success text-success`},{variant:`outline`,color:`warning`,className:`border-warning text-warning`},{variant:`outline`,color:`danger`,className:`border-danger text-danger`}]});function i({className:t,variant:i,color:a,size:o,pill:s,...c}){return n(`span`,{className:e(r({variant:i,color:a,pill:s,size:o}),t),...c})}export{i as Badge,r as badgeVariants};
1
+ "use client";import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{jsx as n}from"react/jsx-runtime";const r=t(`inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline`,{variants:{variant:{solid:`shadow-btn`,soft:``,outline:`bg-transparent border`},color:{primary:``,secondary:``,muted:``,accent:``,info:``,success:``,warning:``,danger:``},size:{xs:`text-[10px]/3 px-1.5 py-0.5 gap-1`,sm:`text-xs px-2 py-0.5 gap-1`,md:`text-sm px-2.5 py-0.5 gap-1.5`,lg:`text-base px-3 py-1 gap-1.5`,xl:`text-lg px-3.5 py-1 gap-1.5`},pill:{true:`rounded-full`,false:`rounded`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`,pill:!0},compoundVariants:[{variant:`solid`,color:`primary`,className:`bg-primary text-primary-foreground`},{variant:`solid`,color:`secondary`,className:`bg-secondary text-secondary-foreground`},{variant:`solid`,color:`muted`,className:`bg-muted text-text-negative`},{variant:`solid`,color:`accent`,className:`bg-accent text-text-negative`},{variant:`solid`,color:`info`,className:`bg-info text-info-foreground`},{variant:`solid`,color:`success`,className:`bg-success text-success-foreground`},{variant:`solid`,color:`warning`,className:`bg-warning text-text-negative`},{variant:`solid`,color:`danger`,className:`bg-danger text-danger-foreground`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary-intense`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary-intense`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted-intense`},{variant:`soft`,color:`accent`,className:`bg-accent-bg-subtle text-accent-intense`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info-intense`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success-intense`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning-intense`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger-intense`},{variant:`outline`,color:`primary`,className:`border-primary text-primary`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary`},{variant:`outline`,color:`muted`,className:`border-muted text-muted`},{variant:`outline`,color:`accent`,className:`border-accent text-accent`},{variant:`outline`,color:`info`,className:`border-info text-info`},{variant:`outline`,color:`success`,className:`border-success text-success`},{variant:`outline`,color:`warning`,className:`border-warning text-warning`},{variant:`outline`,color:`danger`,className:`border-danger text-danger`}]});function i({className:t,variant:i,color:a,size:o,pill:s,...c}){return n(`span`,{className:e(r({variant:i,color:a,pill:s,size:o}),t),...c})}export{i as Badge,r as badgeVariants};
2
2
  //# sourceMappingURL=badge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.mjs","names":[],"sources":["../../packages/components/ui/badge.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline',\n {\n variants: {\n variant: {\n solid: 'shadow-btn',\n soft: '',\n outline: 'bg-transparent border',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n accent: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n size: {\n xs: 'text-[10px]/3 px-1.5 py-0.5 gap-1',\n sm: 'text-xs px-2 py-0.5 gap-1',\n md: 'text-sm px-2.5 py-0.5 gap-1.5',\n lg: 'text-base px-3 py-1 gap-1.5',\n xl: 'text-lg px-3.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n false: 'rounded-sm',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n pill: true,\n },\n compoundVariants: [\n // solid\n { variant: 'solid', color: 'primary', className: 'bg-primary text-primary-foreground' },\n { variant: 'solid', color: 'secondary', className: 'bg-secondary text-secondary-foreground' },\n { variant: 'solid', color: 'muted', className: 'bg-muted text-text-negative' },\n { variant: 'solid', color: 'accent', className: 'bg-accent text-text-negative' },\n { variant: 'solid', color: 'info', className: 'bg-info text-info-foreground' },\n { variant: 'solid', color: 'success', className: 'bg-success text-success-foreground' },\n { variant: 'solid', color: 'warning', className: 'bg-warning text-text-negative' },\n { variant: 'solid', color: 'danger', className: 'bg-danger text-danger-foreground' },\n // soft\n { variant: 'soft', color: 'primary', className: 'bg-primary-bg-subtle text-primary-intense' },\n { variant: 'soft', color: 'secondary', className: 'bg-secondary-bg-subtle text-secondary-intense' },\n { variant: 'soft', color: 'muted', className: 'bg-muted-bg-subtle text-muted-intense' },\n { variant: 'soft', color: 'accent', className: 'bg-accent-bg-subtle text-accent-intense' },\n { variant: 'soft', color: 'info', className: 'bg-info-bg-subtle text-info-intense' },\n { variant: 'soft', color: 'success', className: 'bg-success-bg-subtle text-success-intense' },\n { variant: 'soft', color: 'warning', className: 'bg-warning-bg-subtle text-warning-intense' },\n { variant: 'soft', color: 'danger', className: 'bg-danger-bg-subtle text-danger-intense' },\n // outline\n { variant: 'outline', color: 'primary', className: 'border-primary text-primary' },\n { variant: 'outline', color: 'secondary', className: 'border-secondary text-secondary' },\n { variant: 'outline', color: 'muted', className: 'border-muted text-muted' },\n { variant: 'outline', color: 'accent', className: 'border-accent text-accent' },\n { variant: 'outline', color: 'info', className: 'border-info text-info' },\n { variant: 'outline', color: 'success', className: 'border-success text-success' },\n { variant: 'outline', color: 'warning', className: 'border-warning text-warning' },\n { variant: 'outline', color: 'danger', className: 'border-danger text-danger' },\n ],\n }\n);\n\n/**\n * Props for the `Badge` component.\n *\n * @property variant - Visual fill style — `'solid'` (filled, default), `'soft'` (tinted background), or `'outline'` (border only).\n * @property color - Semantic color token — `'primary'` | `'secondary'` | `'muted'` | `'accent'` | `'info'` | `'success'` | `'warning'` | `'danger'`. Defaults to `'primary'`.\n * @property size - Badge size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`.\n * @property pill - When `true` (default), renders with fully rounded corners (`rounded-full`); when `false`, uses `rounded-sm`.\n */\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>;\n\n/**\n * Inline status label rendered as a `<span>` with CVA-driven variant, color, size, and shape options.\n *\n * @example\n * ```tsx\n * import { Badge } from '@customafk/lunas-ui/ui/badge';\n *\n * <Badge variant=\"soft\" color=\"success\" size=\"sm\">Active</Badge>\n * <Badge variant=\"outline\" color=\"danger\">Overdue</Badge>\n * ```\n */\nfunction Badge({ className, variant, color, size, pill, ...props }: BadgeProps) {\n return <span className={cn(badgeVariants({ variant, color, pill, size }), className)} {...props} />;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n"],"mappings":"wJAMA,MAAM,EAAgB,EACpB,iLACA,CACE,SAAU,CACR,QAAS,CACP,MAAO,aACP,KAAM,GACN,QAAS,uBACX,EACA,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,OAAQ,GACR,KAAM,GACN,QAAS,GACT,QAAS,GACT,OAAQ,EACV,EACA,KAAM,CACJ,GAAI,oCACJ,GAAI,4BACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,6BACN,EACA,KAAM,CACJ,KAAM,eACN,MAAO,YACT,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,KACN,KAAM,EACR,EACA,iBAAkB,CAEhB,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,YAAa,UAAW,wCAAyC,EAC5F,CAAE,QAAS,QAAS,MAAO,QAAS,UAAW,6BAA8B,EAC7E,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,8BAA+B,EAC/E,CAAE,QAAS,QAAS,MAAO,OAAQ,UAAW,8BAA+B,EAC7E,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,+BAAgC,EACjF,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,kCAAmC,EAEnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,YAAa,UAAW,+CAAgD,EAClG,CAAE,QAAS,OAAQ,MAAO,QAAS,UAAW,uCAAwC,EACtF,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EACzF,CAAE,QAAS,OAAQ,MAAO,OAAQ,UAAW,qCAAsC,EACnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EAEzF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,YAAa,UAAW,iCAAkC,EACvF,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,yBAA0B,EAC3E,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,EAC9E,CAAE,QAAS,UAAW,MAAO,OAAQ,UAAW,uBAAwB,EACxE,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,CAChF,CACF,CACF,EAuBA,SAAS,EAAM,CAAE,YAAW,UAAS,QAAO,OAAM,OAAM,GAAG,GAAqB,CAC9E,OAAO,EAAC,OAAD,CAAM,UAAW,EAAG,EAAc,CAAE,UAAS,QAAO,OAAM,MAAK,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG"}
1
+ {"version":3,"file":"badge.mjs","names":[],"sources":["../../packages/components/ui/badge.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline',\n {\n variants: {\n variant: {\n solid: 'shadow-btn',\n soft: '',\n outline: 'bg-transparent border',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n accent: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n size: {\n xs: 'text-[10px]/3 px-1.5 py-0.5 gap-1',\n sm: 'text-xs px-2 py-0.5 gap-1',\n md: 'text-sm px-2.5 py-0.5 gap-1.5',\n lg: 'text-base px-3 py-1 gap-1.5',\n xl: 'text-lg px-3.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n false: 'rounded',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n pill: true,\n },\n compoundVariants: [\n // solid\n { variant: 'solid', color: 'primary', className: 'bg-primary text-primary-foreground' },\n { variant: 'solid', color: 'secondary', className: 'bg-secondary text-secondary-foreground' },\n { variant: 'solid', color: 'muted', className: 'bg-muted text-text-negative' },\n { variant: 'solid', color: 'accent', className: 'bg-accent text-text-negative' },\n { variant: 'solid', color: 'info', className: 'bg-info text-info-foreground' },\n { variant: 'solid', color: 'success', className: 'bg-success text-success-foreground' },\n { variant: 'solid', color: 'warning', className: 'bg-warning text-text-negative' },\n { variant: 'solid', color: 'danger', className: 'bg-danger text-danger-foreground' },\n // soft\n { variant: 'soft', color: 'primary', className: 'bg-primary-bg-subtle text-primary-intense' },\n { variant: 'soft', color: 'secondary', className: 'bg-secondary-bg-subtle text-secondary-intense' },\n { variant: 'soft', color: 'muted', className: 'bg-muted-bg-subtle text-muted-intense' },\n { variant: 'soft', color: 'accent', className: 'bg-accent-bg-subtle text-accent-intense' },\n { variant: 'soft', color: 'info', className: 'bg-info-bg-subtle text-info-intense' },\n { variant: 'soft', color: 'success', className: 'bg-success-bg-subtle text-success-intense' },\n { variant: 'soft', color: 'warning', className: 'bg-warning-bg-subtle text-warning-intense' },\n { variant: 'soft', color: 'danger', className: 'bg-danger-bg-subtle text-danger-intense' },\n // outline\n { variant: 'outline', color: 'primary', className: 'border-primary text-primary' },\n { variant: 'outline', color: 'secondary', className: 'border-secondary text-secondary' },\n { variant: 'outline', color: 'muted', className: 'border-muted text-muted' },\n { variant: 'outline', color: 'accent', className: 'border-accent text-accent' },\n { variant: 'outline', color: 'info', className: 'border-info text-info' },\n { variant: 'outline', color: 'success', className: 'border-success text-success' },\n { variant: 'outline', color: 'warning', className: 'border-warning text-warning' },\n { variant: 'outline', color: 'danger', className: 'border-danger text-danger' },\n ],\n }\n);\n\n/**\n * Props for the `Badge` component.\n *\n * @property variant - Visual fill style — `'solid'` (filled, default), `'soft'` (tinted background), or `'outline'` (border only).\n * @property color - Semantic color token — `'primary'` | `'secondary'` | `'muted'` | `'accent'` | `'info'` | `'success'` | `'warning'` | `'danger'`. Defaults to `'primary'`.\n * @property size - Badge size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`.\n * @property pill - When `true` (default), renders with fully rounded corners (`rounded-full`); when `false`, uses `rounded-sm`.\n */\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>;\n\n/**\n * Inline status label rendered as a `<span>` with CVA-driven variant, color, size, and shape options.\n *\n * @example\n * ```tsx\n * import { Badge } from '@customafk/lunas-ui/ui/badge';\n *\n * <Badge variant=\"soft\" color=\"success\" size=\"sm\">Active</Badge>\n * <Badge variant=\"outline\" color=\"danger\">Overdue</Badge>\n * ```\n */\nfunction Badge({ className, variant, color, size, pill, ...props }: BadgeProps) {\n return <span className={cn(badgeVariants({ variant, color, pill, size }), className)} {...props} />;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n"],"mappings":"wJAMA,MAAM,EAAgB,EACpB,iLACA,CACE,SAAU,CACR,QAAS,CACP,MAAO,aACP,KAAM,GACN,QAAS,uBACX,EACA,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,OAAQ,GACR,KAAM,GACN,QAAS,GACT,QAAS,GACT,OAAQ,EACV,EACA,KAAM,CACJ,GAAI,oCACJ,GAAI,4BACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,6BACN,EACA,KAAM,CACJ,KAAM,eACN,MAAO,SACT,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,KACN,KAAM,EACR,EACA,iBAAkB,CAEhB,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,YAAa,UAAW,wCAAyC,EAC5F,CAAE,QAAS,QAAS,MAAO,QAAS,UAAW,6BAA8B,EAC7E,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,8BAA+B,EAC/E,CAAE,QAAS,QAAS,MAAO,OAAQ,UAAW,8BAA+B,EAC7E,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,oCAAqC,EACtF,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,+BAAgC,EACjF,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,kCAAmC,EAEnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,YAAa,UAAW,+CAAgD,EAClG,CAAE,QAAS,OAAQ,MAAO,QAAS,UAAW,uCAAwC,EACtF,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EACzF,CAAE,QAAS,OAAQ,MAAO,OAAQ,UAAW,qCAAsC,EACnF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,2CAA4C,EAC5F,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,yCAA0C,EAEzF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,YAAa,UAAW,iCAAkC,EACvF,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,yBAA0B,EAC3E,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,EAC9E,CAAE,QAAS,UAAW,MAAO,OAAQ,UAAW,uBAAwB,EACxE,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,6BAA8B,EACjF,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,2BAA4B,CAChF,CACF,CACF,EAuBA,SAAS,EAAM,CAAE,YAAW,UAAS,QAAO,OAAM,OAAM,GAAG,GAAqB,CAC9E,OAAO,EAAC,OAAD,CAAM,UAAW,EAAG,EAAc,CAAE,UAAS,QAAO,OAAM,MAAK,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CACpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.cjs","names":["Slot","ChevronRight","MoreHorizontal"],"sources":["../../packages/components/ui/breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/**\n * Root breadcrumb navigation `<nav>` element with accessible aria-label.\n *\n * @example\n * ```tsx\n * import {\n * Breadcrumb, BreadcrumbList, BreadcrumbItem,\n * BreadcrumbLink, BreadcrumbSeparator, BreadcrumbPage,\n * } from '@customafk/lunas-ui/ui/breadcrumb';\n *\n * <Breadcrumb>\n * <BreadcrumbList>\n * <BreadcrumbItem>\n * <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n * </BreadcrumbItem>\n * <BreadcrumbSeparator />\n * <BreadcrumbItem>\n * <BreadcrumbPage>Settings</BreadcrumbPage>\n * </BreadcrumbItem>\n * </BreadcrumbList>\n * </Breadcrumb>\n * ```\n */\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn('', className)} {...props} />;\n}\n\n/** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('flex flex-wrap items-center gap-1.5 sm:gap-2.5', 'text-sm break-words', 'text-text-positive-weak', className)}\n {...props}\n />\n );\n}\n\n/** Individual `<li>` item wrapper inside a BreadcrumbList. */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1.5', className)} {...props} />;\n}\n\n/**\n * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.\n *\n * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.\n */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n 'text-text-positive-weak',\n 'transition-colors duration-150',\n 'hover:text-text-positive focus-visible:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'rounded-sm',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Non-interactive span representing the current page; sets `aria-current=\"page\"`. */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"breadcrumb-page\" aria-current=\"page\" className={cn('text-text-positive-strong font-medium', className)} {...props} />;\n}\n\n/** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('text-text-positive-muted', '[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Button that represents collapsed breadcrumb segments with an ellipsis icon. */\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"breadcrumb-ellipsis\"\n type=\"button\"\n className={cn(\n 'flex items-center justify-center',\n 'size-8 rounded-sm',\n 'text-text-positive-weak',\n 'hover:bg-secondary-muted hover:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'transition-colors duration-150',\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">Show more breadcrumbs</span>\n </button>\n );\n}\n\nexport { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };\n"],"mappings":"iOA+BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,aAAW,aAAa,YAAU,aAAa,WAAA,EAAA,EAAA,GAAA,CAAc,GAAI,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAA,EAAA,IAAA,CAAC,KAAD,CACE,YAAU,kBACV,WAAA,EAAA,EAAA,GAAA,CAAc,iDAAkD,sBAAuB,0BAA2B,CAAS,EAC3H,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OAAO,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,YAAU,kBAAkB,WAAA,EAAA,EAAA,GAAA,CAAc,mCAAoC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACnH,CAOA,SAAS,EAAe,CACtB,UACA,YACA,GAAG,GAGF,CAGD,OACE,EAAA,EAAA,IAAA,CAHW,EAAUA,EAAAA,EAAO,IAG5B,CACE,YAAU,kBACV,WAAA,EAAA,EAAA,GAAA,CACE,0BACA,iCACA,4DACA,8FACA,aACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAuC,CAC7E,OAAO,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,YAAU,kBAAkB,eAAa,OAAO,WAAA,EAAA,EAAA,GAAA,CAAc,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC9I,CAGA,SAAS,EAAoB,CAAE,WAAU,YAAW,GAAG,GAAqC,CAC1F,OACE,EAAA,EAAA,IAAA,CAAC,KAAD,CACE,YAAU,uBACV,KAAK,eACL,cAAY,OACZ,WAAA,EAAA,EAAA,GAAA,CAAc,2BAA4B,mBAAoB,CAAS,EACvE,GAAI,WAEH,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAe,CAAA,CAC1B,CAAA,CAER,CAGA,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAyC,CACnF,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,YAAU,sBACV,KAAK,SACL,WAAA,EAAA,EAAA,GAAA,CACE,mCACA,oBACA,0BACA,oDACA,8FACA,iCACA,CACF,EACA,GAAI,WAZN,EAcE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,UAAU,QAAU,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,mBAAU,uBAA2B,CAAA,CAC/C,GAEZ"}
1
+ {"version":3,"file":"breadcrumb.cjs","names":["Slot","ChevronRight","MoreHorizontal"],"sources":["../../packages/components/ui/breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/**\n * Root breadcrumb navigation `<nav>` element with accessible aria-label.\n *\n * @example\n * ```tsx\n * import {\n * Breadcrumb, BreadcrumbList, BreadcrumbItem,\n * BreadcrumbLink, BreadcrumbSeparator, BreadcrumbPage,\n * } from '@customafk/lunas-ui/ui/breadcrumb';\n *\n * <Breadcrumb>\n * <BreadcrumbList>\n * <BreadcrumbItem>\n * <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n * </BreadcrumbItem>\n * <BreadcrumbSeparator />\n * <BreadcrumbItem>\n * <BreadcrumbPage>Settings</BreadcrumbPage>\n * </BreadcrumbItem>\n * </BreadcrumbList>\n * </Breadcrumb>\n * ```\n */\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn('', className)} {...props} />;\n}\n\n/** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('flex flex-wrap items-center gap-1.5 sm:gap-2.5', 'text-sm break-words', 'text-text-positive-weak', className)}\n {...props}\n />\n );\n}\n\n/** Individual `<li>` item wrapper inside a BreadcrumbList. */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1.5', className)} {...props} />;\n}\n\n/**\n * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.\n *\n * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.\n */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n 'text-text-positive-weak',\n 'transition-colors duration-150',\n 'hover:text-text-positive focus-visible:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'rounded-sm',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Non-interactive span representing the current page; sets `aria-current=\"page\"`. */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"breadcrumb-page\" aria-current=\"page\" className={cn('text-text-positive-strong font-medium', className)} {...props} />;\n}\n\n/** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('text-text-positive-muted', '[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Button that represents collapsed breadcrumb segments with an ellipsis icon. */\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"breadcrumb-ellipsis\"\n type=\"button\"\n className={cn(\n 'flex items-center justify-center',\n 'size-8 rounded-sm',\n 'text-text-positive-weak',\n 'hover:bg-secondary-muted hover:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'transition-colors duration-150',\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">Show more breadcrumbs</span>\n </button>\n );\n}\n\nexport { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };\n"],"mappings":"iOA+BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,aAAW,aAAa,YAAU,aAAa,WAAA,EAAA,EAAA,GAAA,CAAc,GAAI,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAA,EAAA,IAAA,CAAC,KAAD,CACE,YAAU,kBACV,WAAA,EAAA,EAAA,GAAA,CAAc,iDAAkD,sBAAuB,0BAA2B,CAAS,EAC3H,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OAAO,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,YAAU,kBAAkB,WAAA,EAAA,EAAA,GAAA,CAAc,mCAAoC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACnH,CAOA,SAAS,EAAe,CACtB,UACA,YACA,GAAG,GAGF,CAGD,OACE,EAAA,EAAA,IAAA,CAHW,EAAUA,EAAAA,EAAO,IAG5B,CACE,YAAU,kBACV,WAAA,EAAA,EAAA,GAAA,CACE,0BACA,iCACA,4DACA,8FACA,aACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAuC,CAC7E,OAAO,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,YAAU,kBAAkB,eAAa,OAAO,WAAA,EAAA,EAAA,GAAA,CAAc,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC9I,CAGA,SAAS,EAAoB,CAAE,WAAU,YAAW,GAAG,GAAqC,CAC1F,OACE,EAAA,EAAA,IAAA,CAAC,KAAD,CACE,YAAU,uBACV,KAAK,eACL,cAAY,OACZ,WAAA,EAAA,EAAA,GAAA,CAAc,2BAA4B,mBAAoB,CAAS,EACvE,GAAI,EAEH,SAAA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAe,CAAA,CAC1B,CAAA,CAER,CAGA,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAyC,CACnF,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,YAAU,sBACV,KAAK,SACL,WAAA,EAAA,EAAA,GAAA,CACE,mCACA,oBACA,0BACA,oDACA,8FACA,iCACA,CACF,EACA,GAAI,EAZN,SAAA,EAcE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,UAAU,QAAU,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,UAAU,SAAA,uBAA2B,CAAA,CAC/C,GAEZ"}
@@ -1,2 +1,2 @@
1
- import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "../breadcrumb-CSpScKZm.cjs";
1
+ import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "../breadcrumb-DEFTnz90.cjs";
2
2
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -1,2 +1,2 @@
1
- import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "../breadcrumb-CSpScKZm.mjs";
1
+ import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "../breadcrumb-DEFTnz90.mjs";
2
2
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../packages/components/ui/breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/**\n * Root breadcrumb navigation `<nav>` element with accessible aria-label.\n *\n * @example\n * ```tsx\n * import {\n * Breadcrumb, BreadcrumbList, BreadcrumbItem,\n * BreadcrumbLink, BreadcrumbSeparator, BreadcrumbPage,\n * } from '@customafk/lunas-ui/ui/breadcrumb';\n *\n * <Breadcrumb>\n * <BreadcrumbList>\n * <BreadcrumbItem>\n * <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n * </BreadcrumbItem>\n * <BreadcrumbSeparator />\n * <BreadcrumbItem>\n * <BreadcrumbPage>Settings</BreadcrumbPage>\n * </BreadcrumbItem>\n * </BreadcrumbList>\n * </Breadcrumb>\n * ```\n */\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn('', className)} {...props} />;\n}\n\n/** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('flex flex-wrap items-center gap-1.5 sm:gap-2.5', 'text-sm break-words', 'text-text-positive-weak', className)}\n {...props}\n />\n );\n}\n\n/** Individual `<li>` item wrapper inside a BreadcrumbList. */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1.5', className)} {...props} />;\n}\n\n/**\n * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.\n *\n * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.\n */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n 'text-text-positive-weak',\n 'transition-colors duration-150',\n 'hover:text-text-positive focus-visible:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'rounded-sm',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Non-interactive span representing the current page; sets `aria-current=\"page\"`. */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"breadcrumb-page\" aria-current=\"page\" className={cn('text-text-positive-strong font-medium', className)} {...props} />;\n}\n\n/** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('text-text-positive-muted', '[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Button that represents collapsed breadcrumb segments with an ellipsis icon. */\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"breadcrumb-ellipsis\"\n type=\"button\"\n className={cn(\n 'flex items-center justify-center',\n 'size-8 rounded-sm',\n 'text-text-positive-weak',\n 'hover:bg-secondary-muted hover:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'transition-colors duration-150',\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">Show more breadcrumbs</span>\n </button>\n );\n}\n\nexport { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };\n"],"mappings":"4NA+BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAC,MAAD,CAAK,aAAW,aAAa,YAAU,aAAa,UAAW,EAAG,GAAI,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAC,KAAD,CACE,YAAU,kBACV,UAAW,EAAG,iDAAkD,sBAAuB,0BAA2B,CAAS,EAC3H,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OAAO,EAAC,KAAD,CAAI,YAAU,kBAAkB,UAAW,EAAG,mCAAoC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACnH,CAOA,SAAS,EAAe,CACtB,UACA,YACA,GAAG,GAGF,CAGD,OACE,EAHW,EAAU,EAAO,IAG5B,CACE,YAAU,kBACV,UAAW,EACT,0BACA,iCACA,4DACA,8FACA,aACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAuC,CAC7E,OAAO,EAAC,OAAD,CAAM,YAAU,kBAAkB,eAAa,OAAO,UAAW,EAAG,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC9I,CAGA,SAAS,EAAoB,CAAE,WAAU,YAAW,GAAG,GAAqC,CAC1F,OACE,EAAC,KAAD,CACE,YAAU,uBACV,KAAK,eACL,cAAY,OACZ,UAAW,EAAG,2BAA4B,mBAAoB,CAAS,EACvE,GAAI,WAEH,GAAY,EAAC,EAAD,CAAe,CAAA,CAC1B,CAAA,CAER,CAGA,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAyC,CACnF,OACE,EAAC,SAAD,CACE,YAAU,sBACV,KAAK,SACL,UAAW,EACT,mCACA,oBACA,0BACA,oDACA,8FACA,iCACA,CACF,EACA,GAAI,WAZN,CAcE,EAAC,EAAD,CAAgB,UAAU,QAAU,CAAA,EACpC,EAAC,OAAD,CAAM,UAAU,mBAAU,uBAA2B,CAAA,CAC/C,GAEZ"}
1
+ {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../packages/components/ui/breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/**\n * Root breadcrumb navigation `<nav>` element with accessible aria-label.\n *\n * @example\n * ```tsx\n * import {\n * Breadcrumb, BreadcrumbList, BreadcrumbItem,\n * BreadcrumbLink, BreadcrumbSeparator, BreadcrumbPage,\n * } from '@customafk/lunas-ui/ui/breadcrumb';\n *\n * <Breadcrumb>\n * <BreadcrumbList>\n * <BreadcrumbItem>\n * <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n * </BreadcrumbItem>\n * <BreadcrumbSeparator />\n * <BreadcrumbItem>\n * <BreadcrumbPage>Settings</BreadcrumbPage>\n * </BreadcrumbItem>\n * </BreadcrumbList>\n * </Breadcrumb>\n * ```\n */\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn('', className)} {...props} />;\n}\n\n/** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn('flex flex-wrap items-center gap-1.5 sm:gap-2.5', 'text-sm break-words', 'text-text-positive-weak', className)}\n {...props}\n />\n );\n}\n\n/** Individual `<li>` item wrapper inside a BreadcrumbList. */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1.5', className)} {...props} />;\n}\n\n/**\n * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.\n *\n * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.\n */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n 'text-text-positive-weak',\n 'transition-colors duration-150',\n 'hover:text-text-positive focus-visible:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'rounded-sm',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Non-interactive span representing the current page; sets `aria-current=\"page\"`. */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"breadcrumb-page\" aria-current=\"page\" className={cn('text-text-positive-strong font-medium', className)} {...props} />;\n}\n\n/** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('text-text-positive-muted', '[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Button that represents collapsed breadcrumb segments with an ellipsis icon. */\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"breadcrumb-ellipsis\"\n type=\"button\"\n className={cn(\n 'flex items-center justify-center',\n 'size-8 rounded-sm',\n 'text-text-positive-weak',\n 'hover:bg-secondary-muted hover:text-text-positive',\n 'focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1',\n 'transition-colors duration-150',\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">Show more breadcrumbs</span>\n </button>\n );\n}\n\nexport { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };\n"],"mappings":"4NA+BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAC,MAAD,CAAK,aAAW,aAAa,YAAU,aAAa,UAAW,EAAG,GAAI,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAC,KAAD,CACE,YAAU,kBACV,UAAW,EAAG,iDAAkD,sBAAuB,0BAA2B,CAAS,EAC3H,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OAAO,EAAC,KAAD,CAAI,YAAU,kBAAkB,UAAW,EAAG,mCAAoC,CAAS,EAAG,GAAI,CAAQ,CAAA,CACnH,CAOA,SAAS,EAAe,CACtB,UACA,YACA,GAAG,GAGF,CAGD,OACE,EAHW,EAAU,EAAO,IAG5B,CACE,YAAU,kBACV,UAAW,EACT,0BACA,iCACA,4DACA,8FACA,aACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAGA,SAAS,EAAe,CAAE,YAAW,GAAG,GAAuC,CAC7E,OAAO,EAAC,OAAD,CAAM,YAAU,kBAAkB,eAAa,OAAO,UAAW,EAAG,wCAAyC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC9I,CAGA,SAAS,EAAoB,CAAE,WAAU,YAAW,GAAG,GAAqC,CAC1F,OACE,EAAC,KAAD,CACE,YAAU,uBACV,KAAK,eACL,cAAY,OACZ,UAAW,EAAG,2BAA4B,mBAAoB,CAAS,EACvE,GAAI,EAEH,SAAA,GAAY,EAAC,EAAD,CAAe,CAAA,CAC1B,CAAA,CAER,CAGA,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAyC,CACnF,OACE,EAAC,SAAD,CACE,YAAU,sBACV,KAAK,SACL,UAAW,EACT,mCACA,oBACA,0BACA,oDACA,8FACA,iCACA,CACF,EACA,GAAI,EAZN,SAAA,CAcE,EAAC,EAAD,CAAgB,UAAU,QAAU,CAAA,EACpC,EAAC,OAAD,CAAM,UAAU,UAAU,SAAA,uBAA2B,CAAA,CAC/C,GAEZ"}
@@ -1,2 +1,2 @@
1
- import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "../button-group-CiKhLVCg.cjs";
1
+ import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "../button-group-CP48qR0o.cjs";
2
2
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };