@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
@@ -22,48 +22,25 @@
22
22
  * </Breadcrumb>
23
23
  * ```
24
24
  */
25
- declare function Breadcrumb({
26
- className,
27
- ...props
28
- }: React.ComponentProps<'nav'>): import("react").JSX.Element;
25
+ declare function Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>): import("react").JSX.Element;
29
26
  /** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */
30
- declare function BreadcrumbList({
31
- className,
32
- ...props
33
- }: React.ComponentProps<'ol'>): import("react").JSX.Element;
27
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>): import("react").JSX.Element;
34
28
  /** Individual `<li>` item wrapper inside a BreadcrumbList. */
35
- declare function BreadcrumbItem({
36
- className,
37
- ...props
38
- }: React.ComponentProps<'li'>): import("react").JSX.Element;
29
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>): import("react").JSX.Element;
39
30
  /**
40
31
  * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.
41
32
  *
42
33
  * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.
43
34
  */
44
- declare function BreadcrumbLink({
45
- asChild,
46
- className,
47
- ...props
48
- }: React.ComponentProps<'a'> & {
35
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<'a'> & {
49
36
  asChild?: boolean;
50
37
  }): import("react").JSX.Element;
51
38
  /** Non-interactive span representing the current page; sets `aria-current="page"`. */
52
- declare function BreadcrumbPage({
53
- className,
54
- ...props
55
- }: React.ComponentProps<'span'>): import("react").JSX.Element;
39
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>): import("react").JSX.Element;
56
40
  /** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */
57
- declare function BreadcrumbSeparator({
58
- children,
59
- className,
60
- ...props
61
- }: React.ComponentProps<'li'>): import("react").JSX.Element;
41
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>): import("react").JSX.Element;
62
42
  /** Button that represents collapsed breadcrumb segments with an ellipsis icon. */
63
- declare function BreadcrumbEllipsis({
64
- className,
65
- ...props
66
- }: React.ComponentProps<'button'>): import("react").JSX.Element;
43
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>): import("react").JSX.Element;
67
44
  //#endregion
68
45
  export { BreadcrumbList as a, BreadcrumbLink as i, BreadcrumbEllipsis as n, BreadcrumbPage as o, BreadcrumbItem as r, BreadcrumbSeparator as s, Breadcrumb as t };
69
- //# sourceMappingURL=breadcrumb-CSpScKZm.d.cts.map
46
+ //# sourceMappingURL=breadcrumb-DEFTnz90.d.cts.map
@@ -22,48 +22,25 @@
22
22
  * </Breadcrumb>
23
23
  * ```
24
24
  */
25
- declare function Breadcrumb({
26
- className,
27
- ...props
28
- }: React.ComponentProps<'nav'>): import("react").JSX.Element;
25
+ declare function Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>): import("react").JSX.Element;
29
26
  /** Ordered list `<ol>` container that lays out breadcrumb items horizontally with wrapping. */
30
- declare function BreadcrumbList({
31
- className,
32
- ...props
33
- }: React.ComponentProps<'ol'>): import("react").JSX.Element;
27
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>): import("react").JSX.Element;
34
28
  /** Individual `<li>` item wrapper inside a BreadcrumbList. */
35
- declare function BreadcrumbItem({
36
- className,
37
- ...props
38
- }: React.ComponentProps<'li'>): import("react").JSX.Element;
29
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>): import("react").JSX.Element;
39
30
  /**
40
31
  * Interactive anchor link for non-current breadcrumb segments; supports `asChild` for custom routing.
41
32
  *
42
33
  * @param asChild - When true, renders as the child element via Radix Slot instead of `<a>`.
43
34
  */
44
- declare function BreadcrumbLink({
45
- asChild,
46
- className,
47
- ...props
48
- }: React.ComponentProps<'a'> & {
35
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<'a'> & {
49
36
  asChild?: boolean;
50
37
  }): import("react").JSX.Element;
51
38
  /** Non-interactive span representing the current page; sets `aria-current="page"`. */
52
- declare function BreadcrumbPage({
53
- className,
54
- ...props
55
- }: React.ComponentProps<'span'>): import("react").JSX.Element;
39
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>): import("react").JSX.Element;
56
40
  /** Visual separator `<li>` rendered between breadcrumb items; defaults to a right chevron icon. */
57
- declare function BreadcrumbSeparator({
58
- children,
59
- className,
60
- ...props
61
- }: React.ComponentProps<'li'>): import("react").JSX.Element;
41
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>): import("react").JSX.Element;
62
42
  /** Button that represents collapsed breadcrumb segments with an ellipsis icon. */
63
- declare function BreadcrumbEllipsis({
64
- className,
65
- ...props
66
- }: React.ComponentProps<'button'>): import("react").JSX.Element;
43
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'button'>): import("react").JSX.Element;
67
44
  //#endregion
68
45
  export { BreadcrumbList as a, BreadcrumbLink as i, BreadcrumbEllipsis as n, BreadcrumbPage as o, BreadcrumbItem as r, BreadcrumbSeparator as s, Breadcrumb as t };
69
- //# sourceMappingURL=breadcrumb-CSpScKZm.d.mts.map
46
+ //# sourceMappingURL=breadcrumb-DEFTnz90.d.mts.map
@@ -1,5 +1,4 @@
1
1
  import { VariantProps } from "class-variance-authority";
2
-
3
2
  //#region packages/components/ui/button.variants.d.ts
4
3
  /**
5
4
  * Button variants definition for styling using class-variance-authority
@@ -153,19 +152,7 @@ interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {
153
152
  * }
154
153
  * ```
155
154
  */
156
- declare function Button({
157
- className,
158
- variant,
159
- size,
160
- color,
161
- asChild,
162
- isLoading,
163
- children,
164
- disabled,
165
- type,
166
- innerClassName,
167
- ...props
168
- }: ButtonProps): import("react").JSX.Element;
155
+ declare function Button({ className, variant, size, color, asChild, isLoading, children, disabled, type, innerClassName, ...props }: ButtonProps): import("react").JSX.Element;
169
156
  //#endregion
170
157
  export { ButtonProps as n, Button as t };
171
- //# sourceMappingURL=button-Bk4Y6_9I.d.cts.map
158
+ //# sourceMappingURL=button-BnoPktln.d.cts.map
@@ -1,5 +1,4 @@
1
1
  import { VariantProps } from "class-variance-authority";
2
-
3
2
  //#region packages/components/ui/button.variants.d.ts
4
3
  /**
5
4
  * Button variants definition for styling using class-variance-authority
@@ -153,19 +152,7 @@ interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {
153
152
  * }
154
153
  * ```
155
154
  */
156
- declare function Button({
157
- className,
158
- variant,
159
- size,
160
- color,
161
- asChild,
162
- isLoading,
163
- children,
164
- disabled,
165
- type,
166
- innerClassName,
167
- ...props
168
- }: ButtonProps): import("react").JSX.Element;
155
+ declare function Button({ className, variant, size, color, asChild, isLoading, children, disabled, type, innerClassName, ...props }: ButtonProps): import("react").JSX.Element;
169
156
  //#endregion
170
157
  export { ButtonProps as n, Button as t };
171
- //# sourceMappingURL=button-Bk4Y6_9I.d.mts.map
158
+ //# sourceMappingURL=button-BnoPktln.d.mts.map
@@ -1,6 +1,5 @@
1
- import { t as Separator } from "./separator-D6_fMJtM.mjs";
1
+ import { t as Separator } from "./separator-Cvxkpzrj.mjs";
2
2
  import { VariantProps } from "class-variance-authority";
3
-
4
3
  //#region packages/components/ui/button-group.d.ts
5
4
  declare const buttonGroupVariants: (props?: ({
6
5
  orientation?: "vertical" | "horizontal" | null | undefined;
@@ -20,29 +19,17 @@ declare const buttonGroupVariants: (props?: ({
20
19
  * </ButtonGroup>
21
20
  * ```
22
21
  */
23
- declare function ButtonGroup({
24
- className,
25
- orientation,
26
- ...props
27
- }: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): import("react").JSX.Element;
22
+ declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): import("react").JSX.Element;
28
23
  /**
29
24
  * A static text or icon addon rendered inside a ButtonGroup with muted background styling.
30
25
  *
31
26
  * @param asChild - When true, renders as the child element via Radix Slot instead of `<div>`.
32
27
  */
33
- declare function ButtonGroupText({
34
- className,
35
- asChild,
36
- ...props
37
- }: React.ComponentProps<'div'> & {
28
+ declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<'div'> & {
38
29
  asChild?: boolean;
39
30
  }): import("react").JSX.Element;
40
31
  /** A visual Separator rendered between items inside a ButtonGroup. */
41
- declare function ButtonGroupSeparator({
42
- className,
43
- orientation,
44
- ...props
45
- }: React.ComponentProps<typeof Separator>): import("react").JSX.Element;
32
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): import("react").JSX.Element;
46
33
  //#endregion
47
34
  export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
48
- //# sourceMappingURL=button-group-Cd5m5G3p.d.mts.map
35
+ //# sourceMappingURL=button-group-Br7Cye6b.d.mts.map
@@ -1,6 +1,5 @@
1
- import { t as Separator } from "./separator-D6_fMJtM.cjs";
1
+ import { t as Separator } from "./separator-Cvxkpzrj.cjs";
2
2
  import { VariantProps } from "class-variance-authority";
3
-
4
3
  //#region packages/components/ui/button-group.d.ts
5
4
  declare const buttonGroupVariants: (props?: ({
6
5
  orientation?: "vertical" | "horizontal" | null | undefined;
@@ -20,29 +19,17 @@ declare const buttonGroupVariants: (props?: ({
20
19
  * </ButtonGroup>
21
20
  * ```
22
21
  */
23
- declare function ButtonGroup({
24
- className,
25
- orientation,
26
- ...props
27
- }: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): import("react").JSX.Element;
22
+ declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): import("react").JSX.Element;
28
23
  /**
29
24
  * A static text or icon addon rendered inside a ButtonGroup with muted background styling.
30
25
  *
31
26
  * @param asChild - When true, renders as the child element via Radix Slot instead of `<div>`.
32
27
  */
33
- declare function ButtonGroupText({
34
- className,
35
- asChild,
36
- ...props
37
- }: React.ComponentProps<'div'> & {
28
+ declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<'div'> & {
38
29
  asChild?: boolean;
39
30
  }): import("react").JSX.Element;
40
31
  /** A visual Separator rendered between items inside a ButtonGroup. */
41
- declare function ButtonGroupSeparator({
42
- className,
43
- orientation,
44
- ...props
45
- }: React.ComponentProps<typeof Separator>): import("react").JSX.Element;
32
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): import("react").JSX.Element;
46
33
  //#endregion
47
34
  export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
48
- //# sourceMappingURL=button-group-CiKhLVCg.d.cts.map
35
+ //# sourceMappingURL=button-group-CP48qR0o.d.cts.map
@@ -1,14 +1,7 @@
1
- import { t as Button } from "./button-Bk4Y6_9I.mjs";
1
+ import { t as Button } from "./button-BnoPktln.mjs";
2
2
  import { DayButton, DayPicker } from "react-day-picker";
3
-
4
3
  //#region packages/components/ui/calendar.d.ts
5
- declare const CalendarDayButton: ({
6
- className,
7
- day,
8
- modifiers,
9
- color: _,
10
- ...props
11
- }: React.ComponentProps<typeof DayButton>) => import("react").JSX.Element;
4
+ declare const CalendarDayButton: ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => import("react").JSX.Element;
12
5
  /**
13
6
  * A fully styled date-picker calendar built on top of react-day-picker, supporting single, range, and multiple selection modes.
14
7
  *
@@ -26,18 +19,10 @@ declare const CalendarDayButton: ({
26
19
  * />
27
20
  * ```
28
21
  */
29
- declare function Calendar({
30
- className,
31
- classNames,
32
- showOutsideDays,
33
- captionLayout,
34
- buttonVariant,
35
- formatters,
36
- components,
37
- ...props
38
- }: React.ComponentProps<typeof DayPicker> & {
39
- /** Variant applied to the previous/next navigation buttons. */buttonVariant?: React.ComponentProps<typeof Button>['variant'];
22
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
23
+ /** Variant applied to the previous/next navigation buttons. */
24
+ buttonVariant?: React.ComponentProps<typeof Button>['variant'];
40
25
  }): import("react").JSX.Element;
41
26
  //#endregion
42
27
  export { CalendarDayButton as n, Calendar as t };
43
- //# sourceMappingURL=calendar-DPKt7D3w.d.mts.map
28
+ //# sourceMappingURL=calendar-BkV5hTX2.d.mts.map
@@ -1,14 +1,7 @@
1
- import { t as Button } from "./button-Bk4Y6_9I.cjs";
1
+ import { t as Button } from "./button-BnoPktln.cjs";
2
2
  import { DayButton, DayPicker } from "react-day-picker";
3
-
4
3
  //#region packages/components/ui/calendar.d.ts
5
- declare const CalendarDayButton: ({
6
- className,
7
- day,
8
- modifiers,
9
- color: _,
10
- ...props
11
- }: React.ComponentProps<typeof DayButton>) => import("react").JSX.Element;
4
+ declare const CalendarDayButton: ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => import("react").JSX.Element;
12
5
  /**
13
6
  * A fully styled date-picker calendar built on top of react-day-picker, supporting single, range, and multiple selection modes.
14
7
  *
@@ -26,18 +19,10 @@ declare const CalendarDayButton: ({
26
19
  * />
27
20
  * ```
28
21
  */
29
- declare function Calendar({
30
- className,
31
- classNames,
32
- showOutsideDays,
33
- captionLayout,
34
- buttonVariant,
35
- formatters,
36
- components,
37
- ...props
38
- }: React.ComponentProps<typeof DayPicker> & {
39
- /** Variant applied to the previous/next navigation buttons. */buttonVariant?: React.ComponentProps<typeof Button>['variant'];
22
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
23
+ /** Variant applied to the previous/next navigation buttons. */
24
+ buttonVariant?: React.ComponentProps<typeof Button>['variant'];
40
25
  }): import("react").JSX.Element;
41
26
  //#endregion
42
27
  export { CalendarDayButton as n, Calendar as t };
43
- //# sourceMappingURL=calendar-stv2bJv0.d.cts.map
28
+ //# sourceMappingURL=calendar-iDMPT1kI.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"candlestick-chart-CiBiCU3y.mjs","names":[],"sources":["../packages/components/features/charts/components/candlestick-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, CartesianGrid, ComposedChart, useXAxisScale, useYAxisScale, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { getDirectionColor, toDateLabel } from '../utils';\n\ntype CandlestickSeriesProps = {\n data: OHLCPoint[];\n upColor: string;\n downColor: string;\n};\n\n/** Draws candle wicks + bodies directly against the chart's computed axis scales (recharts v3 pattern). */\nconst CandlestickSeries = ({ data, upColor, downColor }: CandlestickSeriesProps) => {\n const xScale = useXAxisScale();\n const yScale = useYAxisScale();\n\n if (!xScale || !yScale) return null;\n\n return (\n <g>\n {data.map(point => {\n const xStart = xScale(point.date, { position: 'start' });\n const xEnd = xScale(point.date, { position: 'end' });\n const yHigh = yScale(point.high);\n const yLow = yScale(point.low);\n const yOpen = yScale(point.open);\n const yClose = yScale(point.close);\n if (xStart === undefined || xEnd === undefined || yHigh === undefined || yLow === undefined || yOpen === undefined || yClose === undefined) {\n return null;\n }\n\n const bandWidth = xEnd - xStart;\n const bodyWidth = Math.max(bandWidth * 0.6, 2);\n const xCenter = xStart + bandWidth / 2;\n const color = getDirectionColor(point.close, point.open, { up: upColor, down: downColor });\n const bodyTop = Math.min(yOpen, yClose);\n const bodyHeight = Math.max(Math.abs(yClose - yOpen), 1);\n\n return (\n <g key={`${point.date}`}>\n <line x1={xCenter} x2={xCenter} y1={yHigh} y2={yLow} stroke={color} strokeWidth={1} />\n <rect x={xCenter - bodyWidth / 2} y={bodyTop} width={bodyWidth} height={bodyHeight} fill={color} />\n </g>\n );\n })}\n </g>\n );\n};\n\nexport type CandlestickChartProps = BaseChartProps & {\n data: OHLCPoint[];\n /** Series label used in the theme config. Defaults to `'Price'`. */\n label?: string;\n upColor?: string;\n downColor?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A stock candlestick chart — open/high/low/close per period, green/red bodies, high-low wicks.\n * Recharts has no native candlestick type, so bodies and wicks are drawn against the chart's\n * computed axis scales via `useXAxisScale`/`useYAxisScale` (recharts v3).\n *\n * @example\n * ```tsx\n * import { CandlestickChart } from '@customafk/lunas-ui/features/charts';\n *\n * <CandlestickChart\n * data={[\n * { date: '2026-06-01', open: 140, high: 146.2, low: 138.5, close: 144.9 },\n * { date: '2026-06-02', open: 144.9, high: 145.6, low: 141.2, close: 142.1 },\n * ]}\n * />\n * ```\n */\nexport const CandlestickChart = ({\n data,\n label = 'Price',\n upColor = 'var(--success)',\n downColor = 'var(--danger)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: CandlestickChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color: upColor } }), [label, upColor]);\n\n const yDomain = useMemo<[number, number]>(() => {\n if (data.length === 0) return [0, 1];\n const min = Math.min(...data.map(point => point.low));\n const max = Math.max(...data.map(point => point.high));\n const padding = (max - min) * 0.08 || Math.max(max, 1) * 0.08;\n return [min - padding, max + padding];\n }, [data]);\n\n return (\n <ChartContainer\n data-slot=\"candlestick-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={data} margin={{ top: 8, right: 12, bottom: 0, left: 12 }}>\n {showGrid && <CartesianGrid vertical={false} />}\n <XAxis dataKey=\"date\" tickLine={false} axisLine={false} tickMargin={8} tickFormatter={dateFormatter} />\n <YAxis domain={yDomain} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n hideIndicator\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(_value, _name, item) => {\n const point = item.payload as OHLCPoint;\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n O <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.open)}</span> H{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.high)}</span>\n </span>\n <span className=\"text-muted\">\n L <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.low)}</span> C{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.close)}</span>\n </span>\n </div>\n );\n }}\n />\n }\n />\n {/* Invisible series so the Tooltip has a graphical item to attach to; payload still carries the full OHLC row. */}\n <Bar dataKey=\"close\" fill=\"transparent\" isAnimationActive={animate} />\n <CandlestickSeries data={data} upColor={upColor} downColor={downColor} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"candlestick-chart-CiBiCU3y.mjs","names":[],"sources":["../packages/components/features/charts/components/candlestick-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, CartesianGrid, ComposedChart, useXAxisScale, useYAxisScale, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { getDirectionColor, toDateLabel } from '../utils';\n\ntype CandlestickSeriesProps = {\n data: OHLCPoint[];\n upColor: string;\n downColor: string;\n};\n\n/** Draws candle wicks + bodies directly against the chart's computed axis scales (recharts v3 pattern). */\nconst CandlestickSeries = ({ data, upColor, downColor }: CandlestickSeriesProps) => {\n const xScale = useXAxisScale();\n const yScale = useYAxisScale();\n\n if (!xScale || !yScale) return null;\n\n return (\n <g>\n {data.map(point => {\n const xStart = xScale(point.date, { position: 'start' });\n const xEnd = xScale(point.date, { position: 'end' });\n const yHigh = yScale(point.high);\n const yLow = yScale(point.low);\n const yOpen = yScale(point.open);\n const yClose = yScale(point.close);\n if (xStart === undefined || xEnd === undefined || yHigh === undefined || yLow === undefined || yOpen === undefined || yClose === undefined) {\n return null;\n }\n\n const bandWidth = xEnd - xStart;\n const bodyWidth = Math.max(bandWidth * 0.6, 2);\n const xCenter = xStart + bandWidth / 2;\n const color = getDirectionColor(point.close, point.open, { up: upColor, down: downColor });\n const bodyTop = Math.min(yOpen, yClose);\n const bodyHeight = Math.max(Math.abs(yClose - yOpen), 1);\n\n return (\n <g key={`${point.date}`}>\n <line x1={xCenter} x2={xCenter} y1={yHigh} y2={yLow} stroke={color} strokeWidth={1} />\n <rect x={xCenter - bodyWidth / 2} y={bodyTop} width={bodyWidth} height={bodyHeight} fill={color} />\n </g>\n );\n })}\n </g>\n );\n};\n\nexport type CandlestickChartProps = BaseChartProps & {\n data: OHLCPoint[];\n /** Series label used in the theme config. Defaults to `'Price'`. */\n label?: string;\n upColor?: string;\n downColor?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A stock candlestick chart — open/high/low/close per period, green/red bodies, high-low wicks.\n * Recharts has no native candlestick type, so bodies and wicks are drawn against the chart's\n * computed axis scales via `useXAxisScale`/`useYAxisScale` (recharts v3).\n *\n * @example\n * ```tsx\n * import { CandlestickChart } from '@customafk/lunas-ui/features/charts';\n *\n * <CandlestickChart\n * data={[\n * { date: '2026-06-01', open: 140, high: 146.2, low: 138.5, close: 144.9 },\n * { date: '2026-06-02', open: 144.9, high: 145.6, low: 141.2, close: 142.1 },\n * ]}\n * />\n * ```\n */\nexport const CandlestickChart = ({\n data,\n label = 'Price',\n upColor = 'var(--success)',\n downColor = 'var(--danger)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: CandlestickChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color: upColor } }), [label, upColor]);\n\n const yDomain = useMemo<[number, number]>(() => {\n if (data.length === 0) return [0, 1];\n const min = Math.min(...data.map(point => point.low));\n const max = Math.max(...data.map(point => point.high));\n const padding = (max - min) * 0.08 || Math.max(max, 1) * 0.08;\n return [min - padding, max + padding];\n }, [data]);\n\n return (\n <ChartContainer\n data-slot=\"candlestick-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={data} margin={{ top: 8, right: 12, bottom: 0, left: 12 }}>\n {showGrid && <CartesianGrid vertical={false} />}\n <XAxis dataKey=\"date\" tickLine={false} axisLine={false} tickMargin={8} tickFormatter={dateFormatter} />\n <YAxis domain={yDomain} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n hideIndicator\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(_value, _name, item) => {\n const point = item.payload as OHLCPoint;\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n O <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.open)}</span> H{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.high)}</span>\n </span>\n <span className=\"text-muted\">\n L <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.low)}</span> C{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.close)}</span>\n </span>\n </div>\n );\n }}\n />\n }\n />\n {/* Invisible series so the Tooltip has a graphical item to attach to; payload still carries the full OHLC row. */}\n <Bar dataKey=\"close\" fill=\"transparent\" isAnimationActive={animate} />\n <CandlestickSeries data={data} upColor={upColor} downColor={downColor} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"candlestick-chart-CqmRkfXj.cjs","names":["getDirectionColor","toDateLabel","ChartContainer","ComposedChart","CartesianGrid","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Bar"],"sources":["../packages/components/features/charts/components/candlestick-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, CartesianGrid, ComposedChart, useXAxisScale, useYAxisScale, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { getDirectionColor, toDateLabel } from '../utils';\n\ntype CandlestickSeriesProps = {\n data: OHLCPoint[];\n upColor: string;\n downColor: string;\n};\n\n/** Draws candle wicks + bodies directly against the chart's computed axis scales (recharts v3 pattern). */\nconst CandlestickSeries = ({ data, upColor, downColor }: CandlestickSeriesProps) => {\n const xScale = useXAxisScale();\n const yScale = useYAxisScale();\n\n if (!xScale || !yScale) return null;\n\n return (\n <g>\n {data.map(point => {\n const xStart = xScale(point.date, { position: 'start' });\n const xEnd = xScale(point.date, { position: 'end' });\n const yHigh = yScale(point.high);\n const yLow = yScale(point.low);\n const yOpen = yScale(point.open);\n const yClose = yScale(point.close);\n if (xStart === undefined || xEnd === undefined || yHigh === undefined || yLow === undefined || yOpen === undefined || yClose === undefined) {\n return null;\n }\n\n const bandWidth = xEnd - xStart;\n const bodyWidth = Math.max(bandWidth * 0.6, 2);\n const xCenter = xStart + bandWidth / 2;\n const color = getDirectionColor(point.close, point.open, { up: upColor, down: downColor });\n const bodyTop = Math.min(yOpen, yClose);\n const bodyHeight = Math.max(Math.abs(yClose - yOpen), 1);\n\n return (\n <g key={`${point.date}`}>\n <line x1={xCenter} x2={xCenter} y1={yHigh} y2={yLow} stroke={color} strokeWidth={1} />\n <rect x={xCenter - bodyWidth / 2} y={bodyTop} width={bodyWidth} height={bodyHeight} fill={color} />\n </g>\n );\n })}\n </g>\n );\n};\n\nexport type CandlestickChartProps = BaseChartProps & {\n data: OHLCPoint[];\n /** Series label used in the theme config. Defaults to `'Price'`. */\n label?: string;\n upColor?: string;\n downColor?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A stock candlestick chart — open/high/low/close per period, green/red bodies, high-low wicks.\n * Recharts has no native candlestick type, so bodies and wicks are drawn against the chart's\n * computed axis scales via `useXAxisScale`/`useYAxisScale` (recharts v3).\n *\n * @example\n * ```tsx\n * import { CandlestickChart } from '@customafk/lunas-ui/features/charts';\n *\n * <CandlestickChart\n * data={[\n * { date: '2026-06-01', open: 140, high: 146.2, low: 138.5, close: 144.9 },\n * { date: '2026-06-02', open: 144.9, high: 145.6, low: 141.2, close: 142.1 },\n * ]}\n * />\n * ```\n */\nexport const CandlestickChart = ({\n data,\n label = 'Price',\n upColor = 'var(--success)',\n downColor = 'var(--danger)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: CandlestickChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color: upColor } }), [label, upColor]);\n\n const yDomain = useMemo<[number, number]>(() => {\n if (data.length === 0) return [0, 1];\n const min = Math.min(...data.map(point => point.low));\n const max = Math.max(...data.map(point => point.high));\n const padding = (max - min) * 0.08 || Math.max(max, 1) * 0.08;\n return [min - padding, max + padding];\n }, [data]);\n\n return (\n <ChartContainer\n data-slot=\"candlestick-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={data} margin={{ top: 8, right: 12, bottom: 0, left: 12 }}>\n {showGrid && <CartesianGrid vertical={false} />}\n <XAxis dataKey=\"date\" tickLine={false} axisLine={false} tickMargin={8} tickFormatter={dateFormatter} />\n <YAxis domain={yDomain} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n hideIndicator\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(_value, _name, item) => {\n const point = item.payload as OHLCPoint;\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n O <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.open)}</span> H{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.high)}</span>\n </span>\n <span className=\"text-muted\">\n L <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.low)}</span> C{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.close)}</span>\n </span>\n </div>\n );\n }}\n />\n }\n />\n {/* Invisible series so the Tooltip has a graphical item to attach to; payload still carries the full OHLC row. */}\n <Bar dataKey=\"close\" fill=\"transparent\" isAnimationActive={animate} />\n <CandlestickSeries data={data} upColor={upColor} downColor={downColor} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"candlestick-chart-CqmRkfXj.cjs","names":["getDirectionColor","toDateLabel","ChartContainer","ComposedChart","CartesianGrid","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Bar"],"sources":["../packages/components/features/charts/components/candlestick-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, CartesianGrid, ComposedChart, useXAxisScale, useYAxisScale, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { getDirectionColor, toDateLabel } from '../utils';\n\ntype CandlestickSeriesProps = {\n data: OHLCPoint[];\n upColor: string;\n downColor: string;\n};\n\n/** Draws candle wicks + bodies directly against the chart's computed axis scales (recharts v3 pattern). */\nconst CandlestickSeries = ({ data, upColor, downColor }: CandlestickSeriesProps) => {\n const xScale = useXAxisScale();\n const yScale = useYAxisScale();\n\n if (!xScale || !yScale) return null;\n\n return (\n <g>\n {data.map(point => {\n const xStart = xScale(point.date, { position: 'start' });\n const xEnd = xScale(point.date, { position: 'end' });\n const yHigh = yScale(point.high);\n const yLow = yScale(point.low);\n const yOpen = yScale(point.open);\n const yClose = yScale(point.close);\n if (xStart === undefined || xEnd === undefined || yHigh === undefined || yLow === undefined || yOpen === undefined || yClose === undefined) {\n return null;\n }\n\n const bandWidth = xEnd - xStart;\n const bodyWidth = Math.max(bandWidth * 0.6, 2);\n const xCenter = xStart + bandWidth / 2;\n const color = getDirectionColor(point.close, point.open, { up: upColor, down: downColor });\n const bodyTop = Math.min(yOpen, yClose);\n const bodyHeight = Math.max(Math.abs(yClose - yOpen), 1);\n\n return (\n <g key={`${point.date}`}>\n <line x1={xCenter} x2={xCenter} y1={yHigh} y2={yLow} stroke={color} strokeWidth={1} />\n <rect x={xCenter - bodyWidth / 2} y={bodyTop} width={bodyWidth} height={bodyHeight} fill={color} />\n </g>\n );\n })}\n </g>\n );\n};\n\nexport type CandlestickChartProps = BaseChartProps & {\n data: OHLCPoint[];\n /** Series label used in the theme config. Defaults to `'Price'`. */\n label?: string;\n upColor?: string;\n downColor?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A stock candlestick chart — open/high/low/close per period, green/red bodies, high-low wicks.\n * Recharts has no native candlestick type, so bodies and wicks are drawn against the chart's\n * computed axis scales via `useXAxisScale`/`useYAxisScale` (recharts v3).\n *\n * @example\n * ```tsx\n * import { CandlestickChart } from '@customafk/lunas-ui/features/charts';\n *\n * <CandlestickChart\n * data={[\n * { date: '2026-06-01', open: 140, high: 146.2, low: 138.5, close: 144.9 },\n * { date: '2026-06-02', open: 144.9, high: 145.6, low: 141.2, close: 142.1 },\n * ]}\n * />\n * ```\n */\nexport const CandlestickChart = ({\n data,\n label = 'Price',\n upColor = 'var(--success)',\n downColor = 'var(--danger)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: CandlestickChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color: upColor } }), [label, upColor]);\n\n const yDomain = useMemo<[number, number]>(() => {\n if (data.length === 0) return [0, 1];\n const min = Math.min(...data.map(point => point.low));\n const max = Math.max(...data.map(point => point.high));\n const padding = (max - min) * 0.08 || Math.max(max, 1) * 0.08;\n return [min - padding, max + padding];\n }, [data]);\n\n return (\n <ChartContainer\n data-slot=\"candlestick-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={data} margin={{ top: 8, right: 12, bottom: 0, left: 12 }}>\n {showGrid && <CartesianGrid vertical={false} />}\n <XAxis dataKey=\"date\" tickLine={false} axisLine={false} tickMargin={8} tickFormatter={dateFormatter} />\n <YAxis domain={yDomain} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n hideIndicator\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(_value, _name, item) => {\n const point = item.payload as OHLCPoint;\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n O <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.open)}</span> H{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.high)}</span>\n </span>\n <span className=\"text-muted\">\n L <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.low)}</span> C{' '}\n <span className=\"font-number text-text-positive-strong\">{valueFormatter(point.close)}</span>\n </span>\n </div>\n );\n }}\n />\n }\n />\n {/* Invisible series so the Tooltip has a graphical item to attach to; payload still carries the full OHLC row. */}\n <Bar dataKey=\"close\" fill=\"transparent\" isAnimationActive={animate} />\n <CandlestickSeries data={data} upColor={upColor} downColor={downColor} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAmBA,MAAM,GAAqB,CAAE,OAAM,UAAS,eAAwC,CAClF,IAAM,GAAA,EAAA,EAAA,cAAA,CAAuB,EACvB,GAAA,EAAA,EAAA,cAAA,CAAuB,EAI7B,MAFI,CAAC,GAAU,CAAC,EAAe,MAG7B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAK,IAAI,GAAS,CACjB,IAAM,EAAS,EAAO,EAAM,KAAM,CAAE,SAAU,OAAQ,CAAC,EACjD,EAAO,EAAO,EAAM,KAAM,CAAE,SAAU,KAAM,CAAC,EAC7C,EAAQ,EAAO,EAAM,IAAI,EACzB,EAAO,EAAO,EAAM,GAAG,EACvB,EAAQ,EAAO,EAAM,IAAI,EACzB,EAAS,EAAO,EAAM,KAAK,EACjC,GAAI,IAAW,IAAA,IAAa,IAAS,IAAA,IAAa,IAAU,IAAA,IAAa,IAAS,IAAA,IAAa,IAAU,IAAA,IAAa,IAAW,IAAA,GAC/H,OAAO,KAGT,IAAM,EAAY,EAAO,EACnB,EAAY,KAAK,IAAI,EAAY,GAAK,CAAC,EACvC,EAAU,EAAS,EAAY,EAC/B,EAAQA,EAAAA,kBAAkB,EAAM,MAAO,EAAM,KAAM,CAAE,GAAI,EAAS,KAAM,CAAU,CAAC,EACnF,EAAU,KAAK,IAAI,EAAO,CAAM,EAChC,EAAa,KAAK,IAAI,KAAK,IAAI,EAAS,CAAK,EAAG,CAAC,EAEvD,OACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAI,EAAS,GAAI,EAAS,GAAI,EAAO,GAAI,EAAM,OAAQ,EAAO,YAAa,CAAI,CAAA,GACrF,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,EAAG,EAAU,EAAY,EAAG,EAAG,EAAS,MAAO,EAAW,OAAQ,EAAY,KAAM,CAAQ,CAAA,CACjG,CAAA,EAHK,GAAG,EAAM,MAGd,CAEP,CAAC,CACA,CAAA,CAEP,EA8Ba,GAAoB,CAC/B,OACA,QAAQ,QACR,UAAU,iBACV,YAAY,gBACZ,iBAAiB,GAAS,EAAM,eAAe,OAAO,EACtD,gBAAgBC,EAAAA,YAChB,WAAW,GACX,YACA,UAAU,GACV,YAC2B,CAC3B,IAAM,GAAA,EAAA,EAAA,QAAA,MAAqC,CAAE,MAAO,CAAE,QAAO,MAAO,CAAQ,CAAE,GAAI,CAAC,EAAO,CAAO,CAAC,EAE5F,GAAA,EAAA,EAAA,QAAA,KAA0C,CAC9C,GAAI,EAAK,SAAW,EAAG,MAAO,CAAC,EAAG,CAAC,EACnC,IAAM,EAAM,KAAK,IAAI,GAAG,EAAK,IAAI,GAAS,EAAM,GAAG,CAAC,EAC9C,EAAM,KAAK,IAAI,GAAG,EAAK,IAAI,GAAS,EAAM,IAAI,CAAC,EAC/C,GAAW,EAAM,GAAO,KAAQ,KAAK,IAAI,EAAK,CAAC,EAAI,IACzD,MAAO,CAAC,EAAM,EAAS,EAAM,CAAO,CACtC,EAAG,CAAC,CAAI,CAAC,EAET,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,oBACF,SACR,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,cAAD,CAAqB,OAAM,OAAQ,CAAE,IAAK,EAAG,MAAO,GAAI,OAAQ,EAAG,KAAM,EAAG,EAA5E,SAAA,CACG,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAe,SAAU,EAAQ,CAAA,GAC9C,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,cAAe,CAAgB,CAAA,GACtG,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,OAAQ,EAAS,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAI,cAAe,CAAiB,CAAA,GACpH,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CACE,OAAQ,GACR,SACE,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CACE,cAAA,GACA,gBAAiB,EAAG,IAAY,CAC9B,IAAM,EAAO,IAAU,EAAE,EAAE,SAAS,KACpC,OAAO,EAAO,EAAc,CAAI,EAAI,IACtC,EACA,WAAY,EAAQ,EAAO,IAAS,CAClC,IAAM,EAAQ,EAAK,QACnB,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,eAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,aAAhB,SAAA,CAA6B,MACzB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wCAAyC,SAAA,EAAe,EAAM,IAAI,CAAQ,CAAA,EAAC,KAAG,KAChG,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wCAAyC,SAAA,EAAe,EAAM,IAAI,CAAQ,CAAA,CACtF,CACN,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,aAAhB,SAAA,CAA6B,MACzB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wCAAyC,SAAA,EAAe,EAAM,GAAG,CAAQ,CAAA,EAAC,KAAG,KAC/F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wCAAyC,SAAA,EAAe,EAAM,KAAK,CAAQ,CAAA,CACvF,CACH,CAAA,CAAA,GAET,CACD,CAAA,CAEJ,CAAA,GAED,EAAA,EAAA,IAAA,CAACC,EAAAA,IAAD,CAAK,QAAQ,QAAQ,KAAK,cAAc,kBAAmB,CAAU,CAAA,GACrE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAyB,OAAe,UAAoB,WAAY,CAAA,CAC3D,GACD,CAAA,CAEpB"}
@@ -21,40 +21,19 @@
21
21
  * </Card>
22
22
  * ```
23
23
  */
24
- declare function Card({
25
- className,
26
- ...props
27
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
24
+ declare function Card({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
28
25
  /** Top section of the card that holds the title, description, and optional action slot. */
29
- declare function CardHeader({
30
- className,
31
- ...props
32
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
26
+ declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
33
27
  /** Primary heading for the card, styled with the h3 heading variant. */
34
- declare function CardTitle({
35
- className,
36
- ...props
37
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
28
+ declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
38
29
  /** Muted supporting text displayed beneath the card title. */
39
- declare function CardDescription({
40
- className,
41
- ...props
42
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
30
+ declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
43
31
  /** Optional slot in the card header for a contextual action (e.g. a button or menu); positioned in the top-right grid cell. */
44
- declare function CardAction({
45
- className,
46
- ...props
47
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
32
+ declare function CardAction({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
48
33
  /** Main body area of the card with horizontal padding for content alignment. */
49
- declare function CardContent({
50
- className,
51
- ...props
52
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
34
+ declare function CardContent({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
53
35
  /** Bottom section of the card, typically used for supplementary text or secondary actions. */
54
- declare function CardFooter({
55
- className,
56
- ...props
57
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
36
+ declare function CardFooter({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
58
37
  //#endregion
59
38
  export { CardFooter as a, CardDescription as i, CardAction as n, CardHeader as o, CardContent as r, CardTitle as s, Card as t };
60
- //# sourceMappingURL=card-DOnx7RKz.d.cts.map
39
+ //# sourceMappingURL=card-C7jG9mCZ.d.cts.map
@@ -21,40 +21,19 @@
21
21
  * </Card>
22
22
  * ```
23
23
  */
24
- declare function Card({
25
- className,
26
- ...props
27
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
24
+ declare function Card({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
28
25
  /** Top section of the card that holds the title, description, and optional action slot. */
29
- declare function CardHeader({
30
- className,
31
- ...props
32
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
26
+ declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
33
27
  /** Primary heading for the card, styled with the h3 heading variant. */
34
- declare function CardTitle({
35
- className,
36
- ...props
37
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
28
+ declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
38
29
  /** Muted supporting text displayed beneath the card title. */
39
- declare function CardDescription({
40
- className,
41
- ...props
42
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
30
+ declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
43
31
  /** Optional slot in the card header for a contextual action (e.g. a button or menu); positioned in the top-right grid cell. */
44
- declare function CardAction({
45
- className,
46
- ...props
47
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
32
+ declare function CardAction({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
48
33
  /** Main body area of the card with horizontal padding for content alignment. */
49
- declare function CardContent({
50
- className,
51
- ...props
52
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
34
+ declare function CardContent({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
53
35
  /** Bottom section of the card, typically used for supplementary text or secondary actions. */
54
- declare function CardFooter({
55
- className,
56
- ...props
57
- }: React.ComponentProps<'div'>): import("react").JSX.Element;
36
+ declare function CardFooter({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
58
37
  //#endregion
59
38
  export { CardFooter as a, CardDescription as i, CardAction as n, CardHeader as o, CardContent as r, CardTitle as s, Card as t };
60
- //# sourceMappingURL=card-DOnx7RKz.d.mts.map
39
+ //# sourceMappingURL=card-C7jG9mCZ.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-form-BR5kDTzB.cjs","names":["Separator","Button","Trash2Icon"],"sources":["../packages/components/features/tanstack-form/components/forms/card-form.tsx"],"sourcesContent":["'use client';\n\nimport { Trash2Icon } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\n\nimport { Separator } from '../ui/separator';\n\n/**\n * Renders a card-style form section with a header, optional description, a delete button, and a content area for fields.\n *\n * @example\n * import { TanStackCardForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackCardForm\n * title=\"Shipping Address\"\n * description=\"Where should we deliver your order?\"\n * onDelete={() => removeAddress(id)}\n * >\n * <TextField name=\"street\" />\n * </TanStackCardForm>\n */\nexport const TanStackCardForm: React.FC<\n React.PropsWithChildren<{\n /** Bold heading text shown at the top of the card. */\n title: string;\n /** Optional secondary text rendered beneath the title. */\n description?: string;\n /** When provided, renders a danger \"Remove\" button in the card's top-right corner. */\n onDelete?: () => void | Promise<void>;\n }>\n> = ({ title, description, onDelete, children }) => {\n return (\n <section data-slot=\"card-form\" className=\"relative flex flex-col rounded-md bg-card pb-4 shadow-card ring-1 ring-border\">\n <div data-slot=\"card-form-header\" className=\"flex flex-col space-y-0.5 px-4 py-3\">\n <p className=\"font-semibold text-base tracking-tight\">{title}</p>\n {!!description && <p className=\"text-text-positive-weak text-sm\">{description}</p>}\n </div>\n <Separator />\n <div data-slot=\"card-form-main\" className=\"flex flex-col py-4\">\n {children}\n </div>\n {!!onDelete && (\n <Button\n color=\"danger\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2.5 right-3\"\n onClick={e => {\n onDelete?.();\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Trash2Icon />\n Remove\n </Button>\n )}\n </section>\n );\n};\n"],"mappings":"sIAsBA,MAAa,GASR,CAAE,QAAO,cAAa,WAAU,eAEjC,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,YAAU,YAAY,UAAU,yFAAzC,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,YAAU,mBAAmB,UAAU,+CAA5C,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,kDAA0C,CAAS,CAAA,EAC/D,CAAC,CAAC,IAAe,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,2CAAmC,CAAe,CAAA,CAC9E,KACL,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAY,CAAA,GACZ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,qBACvC,UACE,CAAA,EACJ,CAAC,CAAC,IACD,EAAA,EAAA,KAAA,CAACC,EAAAA,OAAD,CACE,MAAM,SACN,QAAQ,QACR,KAAK,KACL,UAAU,2BACV,QAAS,GAAK,CACZ,IAAW,EACX,EAAE,eAAe,EACjB,EAAE,gBAAgB,CACpB,WATF,EAWE,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAa,CAAA,EAAC,QAER,GAEH"}
1
+ {"version":3,"file":"card-form-BR5kDTzB.cjs","names":["Separator","Button","Trash2Icon"],"sources":["../packages/components/features/tanstack-form/components/forms/card-form.tsx"],"sourcesContent":["'use client';\n\nimport { Trash2Icon } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\n\nimport { Separator } from '../ui/separator';\n\n/**\n * Renders a card-style form section with a header, optional description, a delete button, and a content area for fields.\n *\n * @example\n * import { TanStackCardForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackCardForm\n * title=\"Shipping Address\"\n * description=\"Where should we deliver your order?\"\n * onDelete={() => removeAddress(id)}\n * >\n * <TextField name=\"street\" />\n * </TanStackCardForm>\n */\nexport const TanStackCardForm: React.FC<\n React.PropsWithChildren<{\n /** Bold heading text shown at the top of the card. */\n title: string;\n /** Optional secondary text rendered beneath the title. */\n description?: string;\n /** When provided, renders a danger \"Remove\" button in the card's top-right corner. */\n onDelete?: () => void | Promise<void>;\n }>\n> = ({ title, description, onDelete, children }) => {\n return (\n <section data-slot=\"card-form\" className=\"relative flex flex-col rounded-md bg-card pb-4 shadow-card ring-1 ring-border\">\n <div data-slot=\"card-form-header\" className=\"flex flex-col space-y-0.5 px-4 py-3\">\n <p className=\"font-semibold text-base tracking-tight\">{title}</p>\n {!!description && <p className=\"text-text-positive-weak text-sm\">{description}</p>}\n </div>\n <Separator />\n <div data-slot=\"card-form-main\" className=\"flex flex-col py-4\">\n {children}\n </div>\n {!!onDelete && (\n <Button\n color=\"danger\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2.5 right-3\"\n onClick={e => {\n onDelete?.();\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Trash2Icon />\n Remove\n </Button>\n )}\n </section>\n );\n};\n"],"mappings":"sIAsBA,MAAa,GASR,CAAE,QAAO,cAAa,WAAU,eAEjC,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,YAAU,YAAY,UAAU,gFAAzC,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,YAAU,mBAAmB,UAAU,sCAA5C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,yCAA0C,SAAA,CAAS,CAAA,EAC/D,CAAC,CAAC,IAAe,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,kCAAmC,SAAA,CAAe,CAAA,CAC9E,KACL,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAY,CAAA,GACZ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,qBACvC,UACE,CAAA,EACJ,CAAC,CAAC,IACD,EAAA,EAAA,KAAA,CAACC,EAAAA,OAAD,CACE,MAAM,SACN,QAAQ,QACR,KAAK,KACL,UAAU,2BACV,QAAS,GAAK,CACZ,IAAW,EACX,EAAE,eAAe,EACjB,EAAE,gBAAgB,CACpB,EATF,SAAA,EAWE,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAa,CAAA,EAAC,QAER,GAEH"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-form-D9fNO-6F.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/forms/card-form.tsx"],"sourcesContent":["'use client';\n\nimport { Trash2Icon } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\n\nimport { Separator } from '../ui/separator';\n\n/**\n * Renders a card-style form section with a header, optional description, a delete button, and a content area for fields.\n *\n * @example\n * import { TanStackCardForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackCardForm\n * title=\"Shipping Address\"\n * description=\"Where should we deliver your order?\"\n * onDelete={() => removeAddress(id)}\n * >\n * <TextField name=\"street\" />\n * </TanStackCardForm>\n */\nexport const TanStackCardForm: React.FC<\n React.PropsWithChildren<{\n /** Bold heading text shown at the top of the card. */\n title: string;\n /** Optional secondary text rendered beneath the title. */\n description?: string;\n /** When provided, renders a danger \"Remove\" button in the card's top-right corner. */\n onDelete?: () => void | Promise<void>;\n }>\n> = ({ title, description, onDelete, children }) => {\n return (\n <section data-slot=\"card-form\" className=\"relative flex flex-col rounded-md bg-card pb-4 shadow-card ring-1 ring-border\">\n <div data-slot=\"card-form-header\" className=\"flex flex-col space-y-0.5 px-4 py-3\">\n <p className=\"font-semibold text-base tracking-tight\">{title}</p>\n {!!description && <p className=\"text-text-positive-weak text-sm\">{description}</p>}\n </div>\n <Separator />\n <div data-slot=\"card-form-main\" className=\"flex flex-col py-4\">\n {children}\n </div>\n {!!onDelete && (\n <Button\n color=\"danger\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2.5 right-3\"\n onClick={e => {\n onDelete?.();\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Trash2Icon />\n Remove\n </Button>\n )}\n </section>\n );\n};\n"],"mappings":"6KAsBA,MAAa,GASR,CAAE,QAAO,cAAa,WAAU,cAEjC,EAAC,UAAD,CAAS,YAAU,YAAY,UAAU,yFAAzC,CACE,EAAC,MAAD,CAAK,YAAU,mBAAmB,UAAU,+CAA5C,CACE,EAAC,IAAD,CAAG,UAAU,kDAA0C,CAAS,CAAA,EAC/D,CAAC,CAAC,GAAe,EAAC,IAAD,CAAG,UAAU,2CAAmC,CAAe,CAAA,CAC9E,IACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,qBACvC,UACE,CAAA,EACJ,CAAC,CAAC,GACD,EAAC,EAAD,CACE,MAAM,SACN,QAAQ,QACR,KAAK,KACL,UAAU,2BACV,QAAS,GAAK,CACZ,IAAW,EACX,EAAE,eAAe,EACjB,EAAE,gBAAgB,CACpB,WATF,CAWE,EAAC,EAAD,CAAa,CAAA,EAAC,QAER,GAEH"}
1
+ {"version":3,"file":"card-form-D9fNO-6F.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/forms/card-form.tsx"],"sourcesContent":["'use client';\n\nimport { Trash2Icon } from 'lucide-react';\n\nimport { Button } from '@/components/ui/button';\n\nimport { Separator } from '../ui/separator';\n\n/**\n * Renders a card-style form section with a header, optional description, a delete button, and a content area for fields.\n *\n * @example\n * import { TanStackCardForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackCardForm\n * title=\"Shipping Address\"\n * description=\"Where should we deliver your order?\"\n * onDelete={() => removeAddress(id)}\n * >\n * <TextField name=\"street\" />\n * </TanStackCardForm>\n */\nexport const TanStackCardForm: React.FC<\n React.PropsWithChildren<{\n /** Bold heading text shown at the top of the card. */\n title: string;\n /** Optional secondary text rendered beneath the title. */\n description?: string;\n /** When provided, renders a danger \"Remove\" button in the card's top-right corner. */\n onDelete?: () => void | Promise<void>;\n }>\n> = ({ title, description, onDelete, children }) => {\n return (\n <section data-slot=\"card-form\" className=\"relative flex flex-col rounded-md bg-card pb-4 shadow-card ring-1 ring-border\">\n <div data-slot=\"card-form-header\" className=\"flex flex-col space-y-0.5 px-4 py-3\">\n <p className=\"font-semibold text-base tracking-tight\">{title}</p>\n {!!description && <p className=\"text-text-positive-weak text-sm\">{description}</p>}\n </div>\n <Separator />\n <div data-slot=\"card-form-main\" className=\"flex flex-col py-4\">\n {children}\n </div>\n {!!onDelete && (\n <Button\n color=\"danger\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2.5 right-3\"\n onClick={e => {\n onDelete?.();\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Trash2Icon />\n Remove\n </Button>\n )}\n </section>\n );\n};\n"],"mappings":"6KAsBA,MAAa,GASR,CAAE,QAAO,cAAa,WAAU,cAEjC,EAAC,UAAD,CAAS,YAAU,YAAY,UAAU,gFAAzC,SAAA,CACE,EAAC,MAAD,CAAK,YAAU,mBAAmB,UAAU,sCAA5C,SAAA,CACE,EAAC,IAAD,CAAG,UAAU,yCAA0C,SAAA,CAAS,CAAA,EAC/D,CAAC,CAAC,GAAe,EAAC,IAAD,CAAG,UAAU,kCAAmC,SAAA,CAAe,CAAA,CAC9E,IACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,qBACvC,UACE,CAAA,EACJ,CAAC,CAAC,GACD,EAAC,EAAD,CACE,MAAM,SACN,QAAQ,QACR,KAAK,KACL,UAAU,2BACV,QAAS,GAAK,CACZ,IAAW,EACX,EAAE,eAAe,EACjB,EAAE,gBAAgB,CACpB,EATF,SAAA,CAWE,EAAC,EAAD,CAAa,CAAA,EAAC,QAER,GAEH"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-product-card.cjs","names":["Card","Image","Button","HeartIcon","ShoppingCartIcon"],"sources":["../../packages/components/cards/grid-product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A horizontal (grid-row) product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { GridProductCard } from '@customafk/lunas-ui/cards/grid-product-card';\n *\n * <GridProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const GridProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"h-36 w-full flex-row gap-4 p-2 pr-4\">\n <Image className=\"aspect-square h-full flex-0\" src={thumbnail} />\n <div className=\"flex flex-1 flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 font-semibold text-sm text-text-positive\">{name}</p>\n <p className=\"font-bold text-base text-success\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mb-3 flex flex-1 items-end justify-end gap-x-1\">\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n <Button className=\"max-w-52 max-sm:size-9 sm:flex-1\">\n <ShoppingCartIcon />\n <p className=\"sr-only sm:not-sr-only\">Thêm vào giỏ</p>\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"6NAuCA,MAAa,GAAoC,CAAE,OAAM,YAAW,YAEhE,EAAA,EAAA,KAAA,CAACA,EAAAA,KAAD,CAAM,UAAU,+CAAhB,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,UAAU,8BAA8B,IAAK,CAAY,CAAA,GAChE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wCAAf,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,sEAA8D,CAAQ,CAAA,GACnF,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,4CAAb,CACG,EAAM,eAAe,OAAO,GAC7B,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,UAAU,kBAAS,KAAU,CAAA,CACnC,KACH,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,0DAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,mBAC5D,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CAAY,CAAA,CACN,CAAA,GACR,EAAA,EAAA,KAAA,CAACD,EAAAA,OAAD,CAAQ,UAAU,4CAAlB,EACE,EAAA,EAAA,IAAA,CAACE,EAAAA,iBAAD,CAAmB,CAAA,GACnB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,kCAAyB,cAAe,CAAA,CAC/C,GACL,GACF,GACD"}
1
+ {"version":3,"file":"grid-product-card.cjs","names":["Card","Image","Button","HeartIcon","ShoppingCartIcon"],"sources":["../../packages/components/cards/grid-product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A horizontal (grid-row) product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { GridProductCard } from '@customafk/lunas-ui/cards/grid-product-card';\n *\n * <GridProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const GridProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"h-36 w-full flex-row gap-4 p-2 pr-4\">\n <Image className=\"aspect-square h-full flex-0\" src={thumbnail} />\n <div className=\"flex flex-1 flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 font-semibold text-sm text-text-positive\">{name}</p>\n <p className=\"font-bold text-base text-success\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mb-3 flex flex-1 items-end justify-end gap-x-1\">\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n <Button className=\"max-w-52 max-sm:size-9 sm:flex-1\">\n <ShoppingCartIcon />\n <p className=\"sr-only sm:not-sr-only\">Thêm vào giỏ</p>\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"6NAuCA,MAAa,GAAoC,CAAE,OAAM,YAAW,YAEhE,EAAA,EAAA,KAAA,CAACA,EAAAA,KAAD,CAAM,UAAU,sCAAhB,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,UAAU,8BAA8B,IAAK,CAAY,CAAA,GAChE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,+BAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,6DAA8D,SAAA,CAAQ,CAAA,GACnF,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,mCAAb,SAAA,CACG,EAAM,eAAe,OAAO,GAC7B,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,UAAU,SAAS,SAAA,KAAU,CAAA,CACnC,KACH,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iDAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,SAC5D,UAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CAAY,CAAA,CACN,CAAA,GACR,EAAA,EAAA,KAAA,CAACD,EAAAA,OAAD,CAAQ,UAAU,mCAAlB,SAAA,EACE,EAAA,EAAA,IAAA,CAACE,EAAAA,iBAAD,CAAmB,CAAA,GACnB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,yBAAyB,SAAA,cAAe,CAAA,CAC/C,CACL,CAAA,CAAA,GACF,CACD,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import { t as GridProductCard } from "../grid-product-card-bpADqDOQ.cjs";
1
+ import { t as GridProductCard } from "../grid-product-card-P5X8ZPQF.cjs";
2
2
  export { GridProductCard };
@@ -1,2 +1,2 @@
1
- import { t as GridProductCard } from "../grid-product-card-bpADqDOQ.mjs";
1
+ import { t as GridProductCard } from "../grid-product-card-P5X8ZPQF.mjs";
2
2
  export { GridProductCard };
@@ -1 +1 @@
1
- {"version":3,"file":"grid-product-card.mjs","names":["Image"],"sources":["../../packages/components/cards/grid-product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A horizontal (grid-row) product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { GridProductCard } from '@customafk/lunas-ui/cards/grid-product-card';\n *\n * <GridProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const GridProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"h-36 w-full flex-row gap-4 p-2 pr-4\">\n <Image className=\"aspect-square h-full flex-0\" src={thumbnail} />\n <div className=\"flex flex-1 flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 font-semibold text-sm text-text-positive\">{name}</p>\n <p className=\"font-bold text-base text-success\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mb-3 flex flex-1 items-end justify-end gap-x-1\">\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n <Button className=\"max-w-52 max-sm:size-9 sm:flex-1\">\n <ShoppingCartIcon />\n <p className=\"sr-only sm:not-sr-only\">Thêm vào giỏ</p>\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"yOAuCA,MAAa,GAAoC,CAAE,OAAM,YAAW,WAEhE,EAAC,EAAD,CAAM,UAAU,+CAAhB,CACE,EAACA,EAAD,CAAO,UAAU,8BAA8B,IAAK,CAAY,CAAA,EAChE,EAAC,MAAD,CAAK,UAAU,wCAAf,CACE,EAAC,IAAD,CAAG,UAAU,sEAA8D,CAAQ,CAAA,EACnF,EAAC,IAAD,CAAG,UAAU,4CAAb,CACG,EAAM,eAAe,OAAO,EAC7B,EAAC,QAAD,CAAO,UAAU,kBAAS,KAAU,CAAA,CACnC,IACH,EAAC,MAAD,CAAK,UAAU,0DAAf,CACE,EAAC,EAAD,CAAQ,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,kBAC5D,EAAC,EAAD,CAAY,CAAA,CACN,CAAA,EACR,EAAC,EAAD,CAAQ,UAAU,4CAAlB,CACE,EAAC,EAAD,CAAmB,CAAA,EACnB,EAAC,IAAD,CAAG,UAAU,kCAAyB,cAAe,CAAA,CAC/C,GACL,GACF,GACD"}
1
+ {"version":3,"file":"grid-product-card.mjs","names":["Image"],"sources":["../../packages/components/cards/grid-product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A horizontal (grid-row) product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { GridProductCard } from '@customafk/lunas-ui/cards/grid-product-card';\n *\n * <GridProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const GridProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"h-36 w-full flex-row gap-4 p-2 pr-4\">\n <Image className=\"aspect-square h-full flex-0\" src={thumbnail} />\n <div className=\"flex flex-1 flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 font-semibold text-sm text-text-positive\">{name}</p>\n <p className=\"font-bold text-base text-success\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mb-3 flex flex-1 items-end justify-end gap-x-1\">\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n <Button className=\"max-w-52 max-sm:size-9 sm:flex-1\">\n <ShoppingCartIcon />\n <p className=\"sr-only sm:not-sr-only\">Thêm vào giỏ</p>\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"yOAuCA,MAAa,GAAoC,CAAE,OAAM,YAAW,WAEhE,EAAC,EAAD,CAAM,UAAU,sCAAhB,SAAA,CACE,EAACA,EAAD,CAAO,UAAU,8BAA8B,IAAK,CAAY,CAAA,EAChE,EAAC,MAAD,CAAK,UAAU,+BAAf,SAAA,CACE,EAAC,IAAD,CAAG,UAAU,6DAA8D,SAAA,CAAQ,CAAA,EACnF,EAAC,IAAD,CAAG,UAAU,mCAAb,SAAA,CACG,EAAM,eAAe,OAAO,EAC7B,EAAC,QAAD,CAAO,UAAU,SAAS,SAAA,KAAU,CAAA,CACnC,IACH,EAAC,MAAD,CAAK,UAAU,iDAAf,SAAA,CACE,EAAC,EAAD,CAAQ,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,SAC5D,SAAA,EAAC,EAAD,CAAY,CAAA,CACN,CAAA,EACR,EAAC,EAAD,CAAQ,UAAU,mCAAlB,SAAA,CACE,EAAC,EAAD,CAAmB,CAAA,EACnB,EAAC,IAAD,CAAG,UAAU,yBAAyB,SAAA,cAAe,CAAA,CAC/C,CACL,CAAA,CAAA,GACF,CACD,CAAA,CAAA"}