@customafk/lunas-ui 0.2.74 → 0.2.76
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.
- package/dist/{FeatureDeveloping-zuTTDIh_.d.cts → FeatureDeveloping-DRmYHj91.d.cts} +2 -9
- package/dist/{FeatureDeveloping-zuTTDIh_.d.mts → FeatureDeveloping-DRmYHj91.d.mts} +2 -9
- package/dist/{FeatureFixing-DYQlgHPk.d.cts → FeatureFixing-BHHCDtAQ.d.cts} +2 -9
- package/dist/{FeatureFixing-DYQlgHPk.d.mts → FeatureFixing-BHHCDtAQ.d.mts} +2 -9
- package/dist/{LoginPage-vMXvwtxf.d.cts → LoginPage-DDljzV6A.d.cts} +2 -12
- package/dist/{LoginPage-vMXvwtxf.d.mts → LoginPage-DDljzV6A.d.mts} +2 -12
- package/dist/{NotAuthorized-CZIQ6EaA.d.cts → NotAuthorized-DTT57OHb.d.cts} +2 -9
- package/dist/{NotAuthorized-CZIQ6EaA.d.mts → NotAuthorized-DTT57OHb.d.mts} +2 -9
- package/dist/{NotFound-CRSKxhV8.d.cts → NotFound-BeUB1yus.d.cts} +2 -9
- package/dist/{NotFound-CRSKxhV8.d.mts → NotFound-BeUB1yus.d.mts} +2 -9
- package/dist/{RegisterPage-BBtpEzvL.d.cts → RegisterPage-LuTuV7Sw.d.cts} +2 -11
- package/dist/{RegisterPage-BBtpEzvL.d.mts → RegisterPage-LuTuV7Sw.d.mts} +2 -11
- package/dist/{VerifyEmailPage-CsmIeYLu.d.cts → VerifyEmailPage-5DFlEkk3.d.cts} +2 -14
- package/dist/{VerifyEmailPage-CsmIeYLu.d.mts → VerifyEmailPage-5DFlEkk3.d.mts} +2 -14
- package/dist/{action-submit-ScN29AQ1.mjs → action-submit-DVNxnW4-.mjs} +2 -2
- package/dist/{action-submit-ScN29AQ1.mjs.map → action-submit-DVNxnW4-.mjs.map} +1 -1
- package/dist/{action-submit-DI590CG3.cjs → action-submit-kYjq-iPD.cjs} +2 -2
- package/dist/{action-submit-DI590CG3.cjs.map → action-submit-kYjq-iPD.cjs.map} +1 -1
- package/dist/{actions-form-CNW4nhAP.cjs → actions-form-CwicJU89.cjs} +2 -2
- package/dist/{actions-form-CNW4nhAP.cjs.map → actions-form-CwicJU89.cjs.map} +1 -1
- package/dist/{actions-form-f8sejItb.mjs → actions-form-DRrkiGzh.mjs} +2 -2
- package/dist/{actions-form-f8sejItb.mjs.map → actions-form-DRrkiGzh.mjs.map} +1 -1
- package/dist/activity-heatmap-chart-DufvFndI.mjs.map +1 -1
- package/dist/activity-heatmap-chart-gDcvIAK_.cjs.map +1 -1
- package/dist/{add-new-DkBwXh0Q.d.cts → add-new-CHYPSC1G.d.cts} +3 -2
- package/dist/{add-new-DkBwXh0Q.d.mts → add-new-CHYPSC1G.d.mts} +3 -2
- package/dist/{alert-Bip5XjBw.d.cts → alert-C8wdckO8.d.cts} +4 -19
- package/dist/{alert-Bip5XjBw.d.mts → alert-C8wdckO8.d.mts} +4 -19
- package/dist/alert-D31c6DLq.cjs.map +1 -1
- package/dist/alert-OD1KJTEV.mjs.map +1 -1
- package/dist/{alert-dialog-Cdhz7jSj.d.cts → alert-dialog-8aDimwPK.d.cts} +12 -43
- package/dist/{alert-dialog-Cdhz7jSj.d.mts → alert-dialog-8aDimwPK.d.mts} +12 -43
- package/dist/analysis-panel-BqZmOU58.mjs.map +1 -1
- package/dist/analysis-panel-CQZ0hmfN.cjs.map +1 -1
- package/dist/{aspect-ratio-huscluwJ.d.cts → aspect-ratio-DqXWkGJQ.d.cts} +2 -6
- package/dist/{aspect-ratio-huscluwJ.d.mts → aspect-ratio-DqXWkGJQ.d.mts} +2 -6
- package/dist/avatar-name-display-BrpnTqa_.mjs.map +1 -1
- package/dist/avatar-name-display-CLi1DJUs.cjs.map +1 -1
- package/dist/{avatar-BpeFwSkQ.d.cts → avatar-yN3dNBsZ.d.cts} +4 -14
- package/dist/{avatar-BpeFwSkQ.d.mts → avatar-yN3dNBsZ.d.mts} +4 -14
- package/dist/{badge-MRT40pxM.d.cts → badge-BPiU1Ss2.d.cts} +2 -10
- package/dist/{badge-MRT40pxM.d.mts → badge-BPiU1Ss2.d.mts} +2 -10
- package/dist/badge-display-DmCKpGk9.cjs.map +1 -1
- package/dist/badge-display-RP5VTE10.mjs.map +1 -1
- package/dist/{breadcrumb-CSpScKZm.d.cts → breadcrumb-DEFTnz90.d.cts} +8 -31
- package/dist/{breadcrumb-CSpScKZm.d.mts → breadcrumb-DEFTnz90.d.mts} +8 -31
- package/dist/{button-CKRN3ZQT.d.cts → button-BnoPktln.d.cts} +3 -16
- package/dist/{button-CKRN3ZQT.d.mts → button-BnoPktln.d.mts} +3 -16
- package/dist/{button-group-Cd5m5G3p.d.mts → button-group-BTYrTSxc.d.cts} +6 -19
- package/dist/{button-group-CiKhLVCg.d.cts → button-group-CMz9WD27.d.mts} +6 -19
- package/dist/{calendar-CIhMEz65.d.mts → calendar-BkV5hTX2.d.mts} +6 -21
- package/dist/{calendar-DJdVw-yD.d.cts → calendar-iDMPT1kI.d.cts} +6 -21
- package/dist/candlestick-chart-CiBiCU3y.mjs.map +1 -1
- package/dist/candlestick-chart-CqmRkfXj.cjs.map +1 -1
- package/dist/{card-DOnx7RKz.d.cts → card-C7jG9mCZ.d.cts} +8 -29
- package/dist/{card-DOnx7RKz.d.mts → card-C7jG9mCZ.d.mts} +8 -29
- package/dist/card-form-BR5kDTzB.cjs.map +1 -1
- package/dist/card-form-D9fNO-6F.mjs.map +1 -1
- package/dist/cards/grid-product-card.cjs.map +1 -1
- package/dist/cards/grid-product-card.d.cts +1 -1
- package/dist/cards/grid-product-card.d.mts +1 -1
- package/dist/cards/grid-product-card.mjs.map +1 -1
- package/dist/cards/product-card.cjs.map +1 -1
- package/dist/cards/product-card.d.cts +1 -1
- package/dist/cards/product-card.d.mts +1 -1
- package/dist/cards/product-card.mjs.map +1 -1
- package/dist/cards/simple-card.d.cts +1 -1
- package/dist/cards/simple-card.d.mts +1 -1
- package/dist/{carousel-BniJSLfd.d.mts → carousel-D7VXWJ3S.d.mts} +7 -32
- package/dist/{carousel-D4--8HfP.d.cts → carousel-bBvM31sh.d.cts} +7 -32
- package/dist/{chart-sYFksFMk.d.cts → chart-D8tNf0_6.d.cts} +6 -36
- package/dist/{chart-sYFksFMk.d.mts → chart-D8tNf0_6.d.mts} +6 -36
- package/dist/{checkbox-XfLNnG0S.d.cts → checkbox-Cuc-_UcF.d.cts} +2 -6
- package/dist/{checkbox-XfLNnG0S.d.mts → checkbox-Cuc-_UcF.d.mts} +2 -6
- package/dist/{checkbox-field-Csro0Nla.mjs → checkbox-field-BN3Vd9qq.mjs} +2 -2
- package/dist/{checkbox-field-Csro0Nla.mjs.map → checkbox-field-BN3Vd9qq.mjs.map} +1 -1
- package/dist/{checkbox-field-Ck_VADFe.cjs → checkbox-field-DBUjQC_4.cjs} +2 -2
- package/dist/{checkbox-field-Ck_VADFe.cjs.map → checkbox-field-DBUjQC_4.cjs.map} +1 -1
- package/dist/close-BYHgEZvZ.cjs.map +1 -1
- package/dist/close-DYJZ8fkh.mjs.map +1 -1
- package/dist/cms-layout-Cr0FjyGt.cjs +2 -0
- package/dist/cms-layout-Cr0FjyGt.cjs.map +1 -0
- package/dist/cms-layout-pnkDb9PY.mjs +2 -0
- package/dist/cms-layout-pnkDb9PY.mjs.map +1 -0
- package/dist/{collapsible-liIHmFuw.d.cts → collapsible-D3MS6pMC.d.cts} +4 -11
- package/dist/{collapsible-liIHmFuw.d.mts → collapsible-D3MS6pMC.d.mts} +4 -11
- package/dist/combobox-BFLmuV4w.d.cts +120 -0
- package/dist/combobox-C64Rvd7n.mjs +2 -0
- package/dist/combobox-C64Rvd7n.mjs.map +1 -0
- package/dist/{combobox-field-Bxrct4lA.cjs → combobox-field-BE9miJ3D.cjs} +2 -2
- package/dist/{combobox-field-Bxrct4lA.cjs.map → combobox-field-BE9miJ3D.cjs.map} +1 -1
- package/dist/{combobox-field-BMfA_taQ.mjs → combobox-field-Bug1qI5B.mjs} +2 -2
- package/dist/{combobox-field-BMfA_taQ.mjs.map → combobox-field-Bug1qI5B.mjs.map} +1 -1
- package/dist/combobox-kp_kPY8o.cjs +2 -0
- package/dist/combobox-kp_kPY8o.cjs.map +1 -0
- package/dist/combobox-wOpqEFBq.d.mts +120 -0
- package/dist/{command-Bb6SneVI.d.mts → command-BM9cIuFp.d.cts} +11 -42
- package/dist/{command-CHSJVU9o.d.cts → command-DLnIGYou.d.mts} +11 -42
- package/dist/{context-menu-BOlGSuep.d.cts → context-menu-z_-DdL8k.d.cts} +16 -64
- package/dist/{context-menu-BOlGSuep.d.mts → context-menu-z_-DdL8k.d.mts} +16 -64
- package/dist/conversion-funnel-chart-CW_zDfKS.mjs.map +1 -1
- package/dist/conversion-funnel-chart-r2m2QbiQ.cjs.map +1 -1
- package/dist/correlation-scatter-chart-Djtt7NU7.mjs.map +1 -1
- package/dist/correlation-scatter-chart-HF48YUIB.cjs.map +1 -1
- package/dist/{country-C8QijcHF.d.mts → country-8m51pdnj.d.mts} +3 -3
- package/dist/{country-CJIaO0I7.d.cts → country-BPlbbV9W.d.cts} +3 -3
- package/dist/currency-display-Buxc6Ph5.cjs.map +1 -1
- package/dist/currency-display-CEg_HRYv.mjs.map +1 -1
- package/dist/data-display/country.cjs.map +1 -1
- package/dist/data-display/country.d.cts +1 -1
- package/dist/data-display/country.d.mts +1 -1
- package/dist/data-display/country.mjs.map +1 -1
- package/dist/data-display/data-list.cjs.map +1 -1
- package/dist/data-display/data-list.d.cts +1 -1
- package/dist/data-display/data-list.d.mts +1 -1
- package/dist/data-display/data-list.mjs.map +1 -1
- package/dist/data-display/date-tooltip.cjs.map +1 -1
- package/dist/data-display/date-tooltip.d.cts +1 -1
- package/dist/data-display/date-tooltip.d.mts +1 -1
- package/dist/data-display/date-tooltip.mjs.map +1 -1
- package/dist/data-display/empty.cjs.map +1 -1
- package/dist/data-display/empty.d.cts +1 -1
- package/dist/data-display/empty.d.mts +1 -1
- package/dist/data-display/empty.mjs.map +1 -1
- package/dist/data-display/name.cjs.map +1 -1
- package/dist/data-display/name.d.cts +1 -1
- package/dist/data-display/name.d.mts +1 -1
- package/dist/data-display/name.mjs.map +1 -1
- package/dist/data-display/phone-number.cjs.map +1 -1
- package/dist/data-display/phone-number.d.cts +1 -1
- package/dist/data-display/phone-number.d.mts +1 -1
- package/dist/data-display/phone-number.mjs.map +1 -1
- package/dist/data-display/role-badge.cjs.map +1 -1
- package/dist/data-display/role-badge.d.cts +1 -1
- package/dist/data-display/role-badge.d.mts +1 -1
- package/dist/data-display/role-badge.mjs.map +1 -1
- package/dist/data-display/statistic.cjs.map +1 -1
- package/dist/data-display/statistic.d.cts +1 -1
- package/dist/data-display/statistic.d.mts +1 -1
- package/dist/data-display/statistic.mjs.map +1 -1
- package/dist/data-display/user.cjs.map +1 -1
- package/dist/data-display/user.d.cts +1 -1
- package/dist/data-display/user.d.mts +1 -1
- package/dist/data-display/user.mjs.map +1 -1
- package/dist/{data-list-Cg510z2m.d.cts → data-list-BRHjqVUT.d.cts} +10 -5
- package/dist/{data-list-Cg510z2m.d.mts → data-list-BRHjqVUT.d.mts} +10 -5
- package/dist/date-B3cozmfV.cjs.map +1 -1
- package/dist/date-Nsz0Pewe.mjs.map +1 -1
- package/dist/date-display-BgI7Wjqf.cjs.map +1 -1
- package/dist/date-display-DGfHQhpu.mjs.map +1 -1
- package/dist/{date-field-Ba6O0uV3.cjs → date-field-CYoPe74G.cjs} +2 -2
- package/dist/{date-field-Ba6O0uV3.cjs.map → date-field-CYoPe74G.cjs.map} +1 -1
- package/dist/{date-field-DUx13OiJ.mjs → date-field-D_qpBb-t.mjs} +2 -2
- package/dist/{date-field-DUx13OiJ.mjs.map → date-field-D_qpBb-t.mjs.map} +1 -1
- package/dist/{date-tooltip-DptxGOj_.d.cts → date-tooltip-BZ4JiwfW.d.cts} +3 -2
- package/dist/{date-tooltip-DptxGOj_.d.mts → date-tooltip-BZ4JiwfW.d.mts} +3 -2
- package/dist/description-display-BR8nXqc_.cjs.map +1 -1
- package/dist/description-display-CW0g3aJa.mjs.map +1 -1
- package/dist/detail-dialog-Ct0vAjFe.mjs +2 -0
- package/dist/detail-dialog-Ct0vAjFe.mjs.map +1 -0
- package/dist/detail-dialog-uN5mrCa7.cjs +2 -0
- package/dist/detail-dialog-uN5mrCa7.cjs.map +1 -0
- package/dist/{dialog-BASlxWF_.d.cts → dialog-c1vBnso8.d.cts} +13 -41
- package/dist/{dialog-BASlxWF_.d.mts → dialog-c1vBnso8.d.mts} +13 -41
- package/dist/{dialog-form-B_kgYxZg.cjs → dialog-form-BTZZwz3T.cjs} +2 -2
- package/dist/{dialog-form-B_kgYxZg.cjs.map → dialog-form-BTZZwz3T.cjs.map} +1 -1
- package/dist/{dialog-form-SyBJUlDB.mjs → dialog-form-CCIcht28.mjs} +2 -2
- package/dist/{dialog-form-SyBJUlDB.mjs.map → dialog-form-CCIcht28.mjs.map} +1 -1
- package/dist/dialogs/confirm-dialog.cjs.map +1 -1
- package/dist/dialogs/confirm-dialog.mjs.map +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +65 -134
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +65 -134
- package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.cjs +1 -2
- package/dist/dialogs/detail-dialog/index.d.cts +1 -1
- package/dist/dialogs/detail-dialog/index.d.mts +1 -1
- package/dist/dialogs/detail-dialog/index.mjs +1 -2
- package/dist/dialogs/error-dialog.cjs.map +1 -1
- package/dist/dialogs/error-dialog.d.cts +1 -1
- package/dist/dialogs/error-dialog.d.mts +1 -1
- package/dist/dialogs/error-dialog.mjs.map +1 -1
- package/dist/dialogs/loading-dialog.cjs.map +1 -1
- package/dist/dialogs/loading-dialog.d.cts +1 -1
- package/dist/dialogs/loading-dialog.d.mts +1 -1
- package/dist/dialogs/loading-dialog.mjs.map +1 -1
- package/dist/donut-chart-CsPPKy0G.cjs.map +1 -1
- package/dist/donut-chart-eKZjuzW0.mjs.map +1 -1
- package/dist/{drawer-Dwx99ff3.d.cts → drawer-B8cntcg3.d.cts} +11 -39
- package/dist/{drawer-Dwx99ff3.d.mts → drawer-B8cntcg3.d.mts} +11 -39
- package/dist/{dropdown-menu-CcMccVns.d.cts → dropdown-menu-wdaYl-q0.d.cts} +16 -66
- package/dist/{dropdown-menu-CcMccVns.d.mts → dropdown-menu-wdaYl-q0.d.mts} +16 -66
- package/dist/{edit-qfS5kOtM.d.cts → edit-C8JDClC3.d.cts} +3 -2
- package/dist/{edit-qfS5kOtM.d.mts → edit-C8JDClC3.d.mts} +3 -2
- package/dist/edit-button-0_FLZoT3.cjs.map +1 -1
- package/dist/edit-button-DmMFMzG0.mjs.map +1 -1
- package/dist/email-display-BKcoWmPK.mjs.map +1 -1
- package/dist/email-display-DqKYq0iM.cjs.map +1 -1
- package/dist/{email-field-CO_BZHod.cjs → email-field-DJa7iASY.cjs} +2 -2
- package/dist/{email-field-CO_BZHod.cjs.map → email-field-DJa7iASY.cjs.map} +1 -1
- package/dist/{email-field-BGYZUVl0.mjs → email-field-DxSNJ6tf.mjs} +2 -2
- package/dist/{email-field-BGYZUVl0.mjs.map → email-field-DxSNJ6tf.mjs.map} +1 -1
- package/dist/{empty-CaNJjp05.d.cts → empty-B-Nd7s_O.d.cts} +7 -27
- package/dist/{empty-CaNJjp05.d.mts → empty-B-Nd7s_O.d.mts} +7 -27
- package/dist/{empty-ClQptIZH.d.cts → empty-CHTdH5fg.d.cts} +4 -2
- package/dist/{empty-ClQptIZH.d.mts → empty-CHTdH5fg.d.mts} +4 -2
- package/dist/{error-dialog-D4jOPhmw.d.cts → error-dialog-DYQSm_JC.d.cts} +6 -3
- package/dist/{error-dialog-D4jOPhmw.d.mts → error-dialog-DYQSm_JC.d.mts} +6 -3
- package/dist/features/charts/index.cjs.map +1 -1
- package/dist/features/charts/index.d.cts +1 -1
- package/dist/features/charts/index.d.mts +1 -1
- package/dist/features/charts/index.mjs.map +1 -1
- package/dist/features/descriptions/index.cjs.map +1 -1
- package/dist/features/descriptions/index.d.cts +1 -1
- package/dist/features/descriptions/index.d.mts +1 -1
- package/dist/features/descriptions/index.mjs.map +1 -1
- package/dist/features/logo/index.cjs.map +1 -1
- package/dist/features/logo/index.d.cts +3 -8
- package/dist/features/logo/index.d.mts +3 -8
- package/dist/features/logo/index.mjs.map +1 -1
- package/dist/features/tables/index.d.cts +1 -1
- package/dist/features/tables/index.d.mts +1 -1
- package/dist/features/tanstack-form/index.cjs +1 -1
- package/dist/features/tanstack-form/index.d.cts +1 -1
- package/dist/features/tanstack-form/index.d.mts +1 -1
- package/dist/features/tanstack-form/index.mjs +1 -1
- package/dist/features/text-editor/index.cjs +1 -1
- package/dist/features/text-editor/index.d.cts +1 -1
- package/dist/features/text-editor/index.d.mts +1 -1
- package/dist/features/text-editor/index.mjs +1 -1
- package/dist/field-BSLi-P0Q.cjs.map +1 -1
- package/dist/field-V2DoD8qL.mjs.map +1 -1
- package/dist/{file-uploader-U64lH0zG.d.cts → file-uploader-DyHOMFK3.d.cts} +1 -2
- package/dist/{file-uploader-U64lH0zG.d.mts → file-uploader-DyHOMFK3.d.mts} +1 -2
- package/dist/filter-CWuRGTl4.mjs.map +1 -1
- package/dist/filter-DqedvThM.cjs.map +1 -1
- package/dist/{flex-bw7U4hXn.d.cts → flex-CrxTaAXE.d.cts} +5 -16
- package/dist/{flex-bw7U4hXn.d.mts → flex-CrxTaAXE.d.mts} +5 -16
- package/dist/{form-CMP15S4r.d.cts → form-D0M_qGX_.d.cts} +8 -45
- package/dist/{form-CMP15S4r.d.mts → form-D0M_qGX_.d.mts} +8 -45
- package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs.map +1 -1
- package/dist/gain-loss-bar-chart-FUzN7DxF.cjs.map +1 -1
- package/dist/{google-Bl-jBW8L.d.cts → google-vajkoOiC.d.cts} +9 -5
- package/dist/{google-Bl-jBW8L.d.mts → google-vajkoOiC.d.mts} +9 -5
- package/dist/{grid-product-card-bpADqDOQ.d.cts → grid-product-card-P5X8ZPQF.d.cts} +14 -7
- package/dist/{grid-product-card-bpADqDOQ.d.mts → grid-product-card-P5X8ZPQF.d.mts} +14 -7
- package/dist/group-field-gejvx_Td.mjs.map +1 -1
- package/dist/group-field-sVykO2JZ.cjs.map +1 -1
- package/dist/{hover-card-Prwm-0Q4.d.cts → hover-card-JeShfV9g.d.cts} +4 -14
- package/dist/{hover-card-Prwm-0Q4.d.mts → hover-card-JeShfV9g.d.mts} +4 -14
- package/dist/image-BvDGi_G7.d.cts +36 -0
- package/dist/image-BvDGi_G7.d.mts +36 -0
- package/dist/{index-DJiiPHPf.d.cts → index-BBMKb5q2.d.cts} +28 -13
- package/dist/{index-DJiiPHPf.d.mts → index-BBMKb5q2.d.mts} +28 -13
- package/dist/{index-CS7oydGk.d.cts → index-BMuVmm7f.d.mts} +26 -26
- package/dist/{index-BGnN6Vax.d.cts → index-BNw6P5PU.d.cts} +793 -698
- package/dist/{index-BGnN6Vax.d.mts → index-BNw6P5PU.d.mts} +793 -698
- package/dist/index-BOifmu0V.d.cts +51 -0
- package/dist/index-BOifmu0V.d.mts +51 -0
- package/dist/{index-DmvXR2Cn.d.mts → index-CLx89ATZ.d.cts} +26 -26
- package/dist/{index-FEMPGfwO.d.cts → index-Ck7BOwK3.d.cts} +304 -142
- package/dist/{index-_GTjwUdG.d.mts → index-D4lNFNf2.d.mts} +304 -142
- package/dist/{index-CBntsHIg.d.cts → index-DJKJt7oV.d.cts} +111 -54
- package/dist/{index-CBntsHIg.d.mts → index-DJKJt7oV.d.mts} +111 -54
- package/dist/{index-DOaKN0wJ.d.cts → index-DRAyYm8g.d.cts} +4 -34
- package/dist/{index-DOaKN0wJ.d.mts → index-DRAyYm8g.d.mts} +4 -34
- package/dist/{index-teY5hw2R.d.cts → index-KgI9KqIf.d.cts} +33 -15
- package/dist/{index-teY5hw2R.d.mts → index-KgI9KqIf.d.mts} +33 -15
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +92 -91
- package/dist/index.d.mts +92 -91
- package/dist/index.mjs +1 -1
- package/dist/indexed-performance-line-chart-CT79KOM6.cjs.map +1 -1
- package/dist/indexed-performance-line-chart-D7F-rIMv.mjs.map +1 -1
- package/dist/{input-BieGEIDf.d.cts → input-DxNK7Wo6.d.cts} +7 -12
- package/dist/{input-BieGEIDf.d.mts → input-DxNK7Wo6.d.mts} +7 -12
- package/dist/{input-otp-6hJfhBHX.d.cts → input-otp-DGf28Nq2.d.cts} +7 -20
- package/dist/{input-otp-6hJfhBHX.d.mts → input-otp-DGf28Nq2.d.mts} +7 -20
- package/dist/{item-B2JsbfYJ.d.cts → item-BxUBO7Hd.d.cts} +13 -48
- package/dist/{item-DCYlZYdc.d.mts → item-ChW41yKF.d.mts} +13 -48
- package/dist/{label-DPG_GY7h.d.cts → label-CKywNz0h.d.cts} +2 -6
- package/dist/{label-DPG_GY7h.d.mts → label-CKywNz0h.d.mts} +2 -6
- package/dist/layouts/cms-layout/index.cjs +1 -1
- package/dist/layouts/cms-layout/index.d.cts +1 -1
- package/dist/layouts/cms-layout/index.d.mts +1 -1
- package/dist/layouts/cms-layout/index.mjs +1 -1
- package/dist/layouts/flex.d.cts +1 -1
- package/dist/layouts/flex.d.mts +1 -1
- package/dist/layouts/grid.cjs.map +1 -1
- package/dist/layouts/grid.mjs.map +1 -1
- package/dist/layouts/payment-layout/index.cjs +1 -1
- package/dist/layouts/payment-layout/index.d.cts +1 -1
- package/dist/layouts/payment-layout/index.d.mts +1 -1
- package/dist/layouts/payment-layout/index.mjs +1 -1
- package/dist/list-display-BRJVmji0.cjs.map +1 -1
- package/dist/list-display-Co94sV4H.mjs.map +1 -1
- package/dist/{loading-dialog-C73EJx9s.d.cts → loading-dialog-DXjQSQnC.d.cts} +4 -2
- package/dist/{loading-dialog-C73EJx9s.d.mts → loading-dialog-DXjQSQnC.d.mts} +4 -2
- package/dist/{menubar-CFrn3S96.d.cts → menubar-PDJeDtHh.d.cts} +17 -72
- package/dist/{menubar-CFrn3S96.d.mts → menubar-PDJeDtHh.d.mts} +17 -72
- package/dist/metric-radar-chart-6LTGQHsL.mjs.map +1 -1
- package/dist/metric-radar-chart-DwgbXgJX.cjs.map +1 -1
- package/dist/mirrored-bar-chart-BT7AYPJB.mjs.map +1 -1
- package/dist/mirrored-bar-chart-BwjtExjh.cjs.map +1 -1
- package/dist/more-button-BKBcXz6E.mjs.map +1 -1
- package/dist/more-button-RYvZgYiu.cjs.map +1 -1
- package/dist/{multi-select-BbiKgAYs.d.cts → multi-select-C4ae_jaX.d.mts} +2 -3
- package/dist/{multi-select-BoBHt_Z9.d.mts → multi-select-V3chK_bJ.d.cts} +2 -3
- package/dist/name-display-B-FtblLL.cjs.map +1 -1
- package/dist/name-display-CB9XAhXP.mjs.map +1 -1
- package/dist/{name-7aoM5rAW.d.cts → name-tnVKGZN7.d.cts} +3 -2
- package/dist/{name-7aoM5rAW.d.mts → name-tnVKGZN7.d.mts} +3 -2
- package/dist/{navigation-menu-B1BY9Zll.d.cts → navigation-menu-BCjjeblq.d.cts} +11 -38
- package/dist/{navigation-menu-B1BY9Zll.d.mts → navigation-menu-BCjjeblq.d.mts} +11 -38
- package/dist/{number-field-B89VeU2r.mjs → number-field-5INgdUUv.mjs} +2 -2
- package/dist/{number-field-B89VeU2r.mjs.map → number-field-5INgdUUv.mjs.map} +1 -1
- package/dist/{number-field-C7iEv5GJ.cjs → number-field-DKZz-27X.cjs} +2 -2
- package/dist/{number-field-C7iEv5GJ.cjs.map → number-field-DKZz-27X.cjs.map} +1 -1
- package/dist/number-input-CAr3JaA-.cjs +2 -0
- package/dist/{number-input-kTh9zzr7.cjs.map → number-input-CAr3JaA-.cjs.map} +1 -1
- package/dist/number-input-CJcEV9Cg.mjs +2 -0
- package/dist/{number-input-CqkegUWs.mjs.map → number-input-CJcEV9Cg.mjs.map} +1 -1
- package/dist/orders-bar-chart-9RmtP6In.cjs.map +1 -1
- package/dist/orders-bar-chart-DQhJGmwY.mjs.map +1 -1
- package/dist/pages/FeatureDeveloping.cjs.map +1 -1
- package/dist/pages/FeatureDeveloping.d.cts +1 -1
- package/dist/pages/FeatureDeveloping.d.mts +1 -1
- package/dist/pages/FeatureDeveloping.mjs.map +1 -1
- package/dist/pages/FeatureFixing.cjs.map +1 -1
- package/dist/pages/FeatureFixing.d.cts +1 -1
- package/dist/pages/FeatureFixing.d.mts +1 -1
- package/dist/pages/FeatureFixing.mjs.map +1 -1
- package/dist/pages/LoginPage.cjs.map +1 -1
- package/dist/pages/LoginPage.d.cts +1 -1
- package/dist/pages/LoginPage.d.mts +1 -1
- package/dist/pages/LoginPage.mjs.map +1 -1
- package/dist/pages/NotAuthorized.cjs.map +1 -1
- package/dist/pages/NotAuthorized.d.cts +1 -1
- package/dist/pages/NotAuthorized.d.mts +1 -1
- package/dist/pages/NotAuthorized.mjs.map +1 -1
- package/dist/pages/NotFound.cjs.map +1 -1
- package/dist/pages/NotFound.d.cts +1 -1
- package/dist/pages/NotFound.d.mts +1 -1
- package/dist/pages/NotFound.mjs.map +1 -1
- package/dist/pages/RegisterPage.cjs.map +1 -1
- package/dist/pages/RegisterPage.d.cts +1 -1
- package/dist/pages/RegisterPage.d.mts +1 -1
- package/dist/pages/RegisterPage.mjs.map +1 -1
- package/dist/pages/VerifyEmailPage.cjs.map +1 -1
- package/dist/pages/VerifyEmailPage.d.cts +1 -1
- package/dist/pages/VerifyEmailPage.d.mts +1 -1
- package/dist/pages/VerifyEmailPage.mjs.map +1 -1
- package/dist/{pagination-B03e1b6x.d.mts → pagination-BRw-yZBY.d.cts} +11 -33
- package/dist/{pagination-Dw23nKW-.d.cts → pagination-BlLiOvY9.d.mts} +11 -33
- package/dist/{paragraph-BTmvVS1S.d.mts → paragraph-CRo5eC7H.d.mts} +2 -7
- package/dist/{paragraph-DbYYv0A0.d.cts → paragraph-CkCNIsvz.d.cts} +2 -7
- package/dist/{password-field-9RZ84TNz.cjs → password-field-BuWARi35.cjs} +2 -2
- package/dist/{password-field-9RZ84TNz.cjs.map → password-field-BuWARi35.cjs.map} +1 -1
- package/dist/{password-field-pqUgUcgf.mjs → password-field-DOIe6wTv.mjs} +2 -2
- package/dist/{password-field-pqUgUcgf.mjs.map → password-field-DOIe6wTv.mjs.map} +1 -1
- package/dist/{payment-layout-DS5CEH1h.mjs → payment-layout-BSl9DYQA.mjs} +2 -2
- package/dist/{payment-layout-DS5CEH1h.mjs.map → payment-layout-BSl9DYQA.mjs.map} +1 -1
- package/dist/payment-layout-DDcLanA0.cjs +2 -0
- package/dist/{payment-layout-Cb-Q8KD2.cjs.map → payment-layout-DDcLanA0.cjs.map} +1 -1
- package/dist/permalink-CUIKG9VA.cjs.map +1 -1
- package/dist/permalink-I-INEarM.mjs.map +1 -1
- package/dist/phone-number-Cu7Mnl6J.mjs.map +1 -1
- package/dist/{phone-number-6b_pkGI1.d.cts → phone-number-D9j5xYDW.d.cts} +3 -2
- package/dist/{phone-number-6b_pkGI1.d.mts → phone-number-D9j5xYDW.d.mts} +3 -2
- package/dist/phone-number-DJvfJg1b.cjs.map +1 -1
- package/dist/{popover-form-CLr6xIl5.cjs → popover-form-Bq2GcuZu.cjs} +2 -2
- package/dist/{popover-form-CLr6xIl5.cjs.map → popover-form-Bq2GcuZu.cjs.map} +1 -1
- package/dist/{popover-form-BmOqFjQM.mjs → popover-form-BsapHJck.mjs} +2 -2
- package/dist/{popover-form-BmOqFjQM.mjs.map → popover-form-BsapHJck.mjs.map} +1 -1
- package/dist/{popover-CdOCi0xg.d.cts → popover-qfF3o0zL.d.cts} +6 -21
- package/dist/{popover-CdOCi0xg.d.mts → popover-qfF3o0zL.d.mts} +6 -21
- package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs.map +1 -1
- package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs.map +1 -1
- package/dist/price-range-area-chart-BW6RQb_9.cjs.map +1 -1
- package/dist/price-range-area-chart-Dy01mhWJ.mjs.map +1 -1
- package/dist/{product-card-CvXLXbpV.d.cts → product-card-CYNh0CT5.d.cts} +14 -7
- package/dist/{product-card-CvXLXbpV.d.mts → product-card-CYNh0CT5.d.mts} +14 -7
- package/dist/{progress-Bp-5keO8.d.cts → progress-BpWaSlPG.d.cts} +2 -7
- package/dist/{progress-Bp-5keO8.d.mts → progress-BpWaSlPG.d.mts} +2 -7
- package/dist/progress-display-DbfN7U8m.cjs.map +1 -1
- package/dist/progress-display-qgvclwy9.mjs.map +1 -1
- package/dist/{radio-group-ycQQrPGn.d.cts → radio-group-D_ssq0Q2.d.cts} +3 -10
- package/dist/{radio-group-ycQQrPGn.d.mts → radio-group-D_ssq0Q2.d.mts} +3 -10
- package/dist/{radio-group-field-DsUi8uCy.mjs → radio-group-field-DOJ4jVSr.mjs} +2 -2
- package/dist/{radio-group-field-DsUi8uCy.mjs.map → radio-group-field-DOJ4jVSr.mjs.map} +1 -1
- package/dist/{radio-group-field-Bm2nkk1W.cjs → radio-group-field-kTgtvp1p.cjs} +2 -2
- package/dist/{radio-group-field-Bm2nkk1W.cjs.map → radio-group-field-kTgtvp1p.cjs.map} +1 -1
- package/dist/{refresh-BiyrZAXL.d.cts → refresh-CWvkHT0L.d.cts} +3 -2
- package/dist/{refresh-BiyrZAXL.d.mts → refresh-CWvkHT0L.d.mts} +3 -2
- package/dist/remove-button-B3qFw-M5.cjs.map +1 -1
- package/dist/remove-button-Db5oSj4h.mjs.map +1 -1
- package/dist/{resizable-CAyWR1At.d.cts → resizable-D-Z8NJ7S.d.cts} +2 -3
- package/dist/{resizable-CAyWR1At.d.mts → resizable-D-Z8NJ7S.d.mts} +2 -3
- package/dist/revenue-area-chart-BwzeTRzD.mjs.map +1 -1
- package/dist/revenue-area-chart-w2FZCl_7.cjs.map +1 -1
- package/dist/revenue-orders-composed-chart-BttOWYGt.cjs.map +1 -1
- package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs.map +1 -1
- package/dist/{role-badge-IdZW0tsN.d.cts → role-badge-CojpT6hX.d.cts} +3 -3
- package/dist/{role-badge-Bl4Rimpk.d.mts → role-badge-NTpnTz8M.d.mts} +3 -3
- package/dist/sales-target-radial-chart-BFLxBT2m.mjs.map +1 -1
- package/dist/sales-target-radial-chart-BoxSk7hW.cjs.map +1 -1
- package/dist/sankey-flow-chart-CDUqIRMZ.cjs.map +1 -1
- package/dist/sankey-flow-chart-bQ3Dffet.mjs.map +1 -1
- package/dist/{scroll-area-PbkqIAaH.d.cts → scroll-area-BpSwutyr.d.cts} +3 -14
- package/dist/{scroll-area-PbkqIAaH.d.mts → scroll-area-BpSwutyr.d.mts} +3 -14
- package/dist/{search-input-Bq4enQzR.d.cts → search-input-C8feOKe2.d.cts} +3 -7
- package/dist/{search-input-D51_mAY-.d.mts → search-input-CoqwakbI.d.mts} +3 -7
- package/dist/search-modal-CMhsIxae.cjs.map +1 -1
- package/dist/search-modal-Cdmi2iyV.mjs.map +1 -1
- package/dist/section-form-BJWWflUR.mjs.map +1 -1
- package/dist/section-form-C_pHiBEW.cjs.map +1 -1
- package/dist/{select-B5j4WvPM.d.cts → select-UNtSe_Fs.d.cts} +11 -37
- package/dist/{select-B5j4WvPM.d.mts → select-UNtSe_Fs.d.mts} +11 -37
- package/dist/{select-field-ikKFoatc.mjs → select-field-BcsFBbNJ.mjs} +2 -2
- package/dist/{select-field-ikKFoatc.mjs.map → select-field-BcsFBbNJ.mjs.map} +1 -1
- package/dist/{select-field-F9eikYws.cjs → select-field-CURv37h4.cjs} +2 -2
- package/dist/{select-field-F9eikYws.cjs.map → select-field-CURv37h4.cjs.map} +1 -1
- package/dist/{separator-D6_fMJtM.d.cts → separator-Cvxkpzrj.d.cts} +2 -8
- package/dist/{separator-D6_fMJtM.d.mts → separator-Cvxkpzrj.d.mts} +2 -8
- package/dist/{sheet-cHLLSvvt.d.cts → sheet-BBvQsKM_.d.cts} +11 -34
- package/dist/{sheet-cHLLSvvt.d.mts → sheet-BBvQsKM_.d.mts} +11 -34
- package/dist/sidebar-core-Bz_LtXZy.mjs +2 -0
- package/dist/sidebar-core-Bz_LtXZy.mjs.map +1 -0
- package/dist/sidebar-core-DUdB9WCv.cjs +2 -0
- package/dist/sidebar-core-DUdB9WCv.cjs.map +1 -0
- package/dist/{simple-array-field-Bm_5b8pE.cjs → simple-array-field-bCUuPMgT.cjs} +2 -2
- package/dist/{simple-array-field-Bm_5b8pE.cjs.map → simple-array-field-bCUuPMgT.cjs.map} +1 -1
- package/dist/{simple-array-field-CeqZJfVs.mjs → simple-array-field-wFE_DUOV.mjs} +2 -2
- package/dist/{simple-array-field-CeqZJfVs.mjs.map → simple-array-field-wFE_DUOV.mjs.map} +1 -1
- package/dist/{simple-boolean-field-BeL9WjD5.cjs → simple-boolean-field-DRapzNrB.cjs} +2 -2
- package/dist/{simple-boolean-field-BeL9WjD5.cjs.map → simple-boolean-field-DRapzNrB.cjs.map} +1 -1
- package/dist/{simple-boolean-field-DZ0J-Pk0.mjs → simple-boolean-field-GQJyeyVS.mjs} +2 -2
- package/dist/{simple-boolean-field-DZ0J-Pk0.mjs.map → simple-boolean-field-GQJyeyVS.mjs.map} +1 -1
- package/dist/simple-card-Dhf9UXBg.d.cts +27 -0
- package/dist/simple-card-Dhf9UXBg.d.mts +27 -0
- package/dist/{simple-combobox-field-CeV40wnv.cjs → simple-combobox-field-Cp5dfQv3.cjs} +2 -2
- package/dist/{simple-combobox-field-CeV40wnv.cjs.map → simple-combobox-field-Cp5dfQv3.cjs.map} +1 -1
- package/dist/{simple-combobox-field-BQXmNATZ.mjs → simple-combobox-field-D6IaMJKl.mjs} +2 -2
- package/dist/{simple-combobox-field-BQXmNATZ.mjs.map → simple-combobox-field-D6IaMJKl.mjs.map} +1 -1
- package/dist/{simple-date-field-CrH-92i4.cjs → simple-date-field-_PSkIXAt.cjs} +2 -2
- package/dist/{simple-date-field-CrH-92i4.cjs.map → simple-date-field-_PSkIXAt.cjs.map} +1 -1
- package/dist/{simple-date-field-D9ymav2L.mjs → simple-date-field-dszQs7Ik.mjs} +2 -2
- package/dist/{simple-date-field-D9ymav2L.mjs.map → simple-date-field-dszQs7Ik.mjs.map} +1 -1
- package/dist/{simple-email-field-8IiVOYa-.mjs → simple-email-field-CwyoXqWo.mjs} +2 -2
- package/dist/{simple-email-field-8IiVOYa-.mjs.map → simple-email-field-CwyoXqWo.mjs.map} +1 -1
- package/dist/{simple-email-field-CsMmMSvS.cjs → simple-email-field-DIHwYrhk.cjs} +2 -2
- package/dist/{simple-email-field-CsMmMSvS.cjs.map → simple-email-field-DIHwYrhk.cjs.map} +1 -1
- package/dist/{simple-number-field-C6hE1Qlj.mjs → simple-number-field-Id1kV5yR.mjs} +2 -2
- package/dist/{simple-number-field-C6hE1Qlj.mjs.map → simple-number-field-Id1kV5yR.mjs.map} +1 -1
- package/dist/{simple-number-field-CrU2A2yp.cjs → simple-number-field-VdEeaIiC.cjs} +2 -2
- package/dist/{simple-number-field-CrU2A2yp.cjs.map → simple-number-field-VdEeaIiC.cjs.map} +1 -1
- package/dist/{simple-password-field-DWmUR_5_.cjs → simple-password-field-7xbVB1H3.cjs} +2 -2
- package/dist/{simple-password-field-DWmUR_5_.cjs.map → simple-password-field-7xbVB1H3.cjs.map} +1 -1
- package/dist/{simple-password-field-CabyA9Y7.mjs → simple-password-field-DIO9FwQy.mjs} +2 -2
- package/dist/{simple-password-field-CabyA9Y7.mjs.map → simple-password-field-DIO9FwQy.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-BNFgrTSb.mjs → simple-radio-group-field-BmHWRnns.mjs} +2 -2
- package/dist/{simple-radio-group-field-BNFgrTSb.mjs.map → simple-radio-group-field-BmHWRnns.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-CpTX_Xoy.cjs → simple-radio-group-field-CxVAr6yW.cjs} +2 -2
- package/dist/{simple-radio-group-field-CpTX_Xoy.cjs.map → simple-radio-group-field-CxVAr6yW.cjs.map} +1 -1
- package/dist/{simple-select-field-VibM3I3D.cjs → simple-select-field-C9u7Pg9u.cjs} +2 -2
- package/dist/{simple-select-field-VibM3I3D.cjs.map → simple-select-field-C9u7Pg9u.cjs.map} +1 -1
- package/dist/{simple-select-field-CiUfRHCo.mjs → simple-select-field-DfZk0zPa.mjs} +2 -2
- package/dist/{simple-select-field-CiUfRHCo.mjs.map → simple-select-field-DfZk0zPa.mjs.map} +1 -1
- package/dist/{simple-text-field-DRlcBB-3.cjs → simple-text-field-BxPjcB4c.cjs} +2 -2
- package/dist/{simple-text-field-DRlcBB-3.cjs.map → simple-text-field-BxPjcB4c.cjs.map} +1 -1
- package/dist/{simple-text-field-Cmmmci4R.mjs → simple-text-field-CT9KFUSK.mjs} +2 -2
- package/dist/{simple-text-field-Cmmmci4R.mjs.map → simple-text-field-CT9KFUSK.mjs.map} +1 -1
- package/dist/{simple-textarea-field-BDqw8ewE.mjs → simple-textarea-field-B22rT6zS.mjs} +2 -2
- package/dist/{simple-textarea-field-BDqw8ewE.mjs.map → simple-textarea-field-B22rT6zS.mjs.map} +1 -1
- package/dist/{simple-textarea-field-B0fOG7nh.cjs → simple-textarea-field-DG9oPtP-.cjs} +2 -2
- package/dist/{simple-textarea-field-B0fOG7nh.cjs.map → simple-textarea-field-DG9oPtP-.cjs.map} +1 -1
- package/dist/{skeleton-Ct4sYEKk.d.cts → skeleton-BL19ZqPB.d.cts} +2 -5
- package/dist/{skeleton-Ct4sYEKk.d.mts → skeleton-BL19ZqPB.d.mts} +2 -5
- package/dist/{slider-DwR1MhR8.d.cts → slider-KvzhtIbT.d.cts} +2 -10
- package/dist/{slider-DwR1MhR8.d.mts → slider-KvzhtIbT.d.mts} +2 -10
- package/dist/{sonner-B6LxJMYT.d.mts → sonner-C-sM3xU2.d.mts} +1 -2
- package/dist/{sonner-BcNgR0GP.d.cts → sonner-D-rrTnjn.d.cts} +1 -2
- package/dist/sparkline-chart-TbGzakUl.mjs.map +1 -1
- package/dist/sparkline-chart-sPqaJHep.cjs.map +1 -1
- package/dist/{spinner-CXuqcoB5.d.cts → spinner-Cz20qsxS.d.cts} +2 -5
- package/dist/{spinner-CXuqcoB5.d.mts → spinner-Cz20qsxS.d.mts} +2 -5
- package/dist/stacked-area-chart-DyxY96_l.cjs.map +1 -1
- package/dist/stacked-area-chart-UIWIxTmq.mjs.map +1 -1
- package/dist/statistic-Bpif8p8R.d.cts +42 -0
- package/dist/statistic-Bpif8p8R.d.mts +42 -0
- package/dist/statistic-ClkqqDfk.mjs.map +1 -1
- package/dist/statistic-LL4uHlRb.cjs.map +1 -1
- package/dist/status-display-BUphOF18.mjs.map +1 -1
- package/dist/status-display-o9inMVvb.cjs.map +1 -1
- package/dist/submit-button-CGBaPzE9.mjs.map +1 -1
- package/dist/submit-button-CvINfld5.cjs.map +1 -1
- package/dist/summary-bar-CYfgdxrQ.mjs.map +1 -1
- package/dist/summary-bar-Mb1B9Dnf.cjs.map +1 -1
- package/dist/{switch-9v4AYqJb.d.cts → switch-Ce5Pre2e.d.cts} +2 -6
- package/dist/{switch-9v4AYqJb.d.mts → switch-Ce5Pre2e.d.mts} +2 -6
- package/dist/{switch-field-BDVIJ21m.mjs → switch-field-Cz4lDf1D.mjs} +2 -2
- package/dist/{switch-field-BDVIJ21m.mjs.map → switch-field-Cz4lDf1D.mjs.map} +1 -1
- package/dist/{switch-field-D6CCxaEX.cjs → switch-field-yE4A6EoF.cjs} +2 -2
- package/dist/{switch-field-D6CCxaEX.cjs.map → switch-field-yE4A6EoF.cjs.map} +1 -1
- package/dist/systems/google.cjs.map +1 -1
- package/dist/systems/google.d.cts +1 -1
- package/dist/systems/google.d.mts +1 -1
- package/dist/systems/google.mjs.map +1 -1
- package/dist/{table-Dg2D0v87.d.cts → table-D354-TpC.d.cts} +9 -33
- package/dist/{table-Dg2D0v87.d.mts → table-D354-TpC.d.mts} +9 -33
- package/dist/tables-078i-X0d.cjs.map +1 -1
- package/dist/tables-BGzwkdFO.mjs.map +1 -1
- package/dist/{tabs-CJ6qZcFU.d.cts → tabs-DLEtBGOr.d.cts} +5 -18
- package/dist/{tabs-CJ6qZcFU.d.mts → tabs-DLEtBGOr.d.mts} +5 -18
- package/dist/{tanstack-form-Bae0TOEr.cjs → tanstack-form-BxqS40rB.cjs} +2 -2
- package/dist/{tanstack-form-Bae0TOEr.cjs.map → tanstack-form-BxqS40rB.cjs.map} +1 -1
- package/dist/{tanstack-form-AGwPfwiM.mjs → tanstack-form-q9hDCc0Y.mjs} +2 -2
- package/dist/{tanstack-form-AGwPfwiM.mjs.map → tanstack-form-q9hDCc0Y.mjs.map} +1 -1
- package/dist/text-editor-BtfyZSgR.cjs +2 -0
- package/dist/{text-editor-DJYQXXtP.cjs.map → text-editor-BtfyZSgR.cjs.map} +1 -1
- package/dist/text-editor-CtR27_PR.mjs +2 -0
- package/dist/{text-editor-BQtIXOpM.mjs.map → text-editor-CtR27_PR.mjs.map} +1 -1
- package/dist/{text-editor-field-C2KDtfZV.mjs → text-editor-field-CQ8tnZFw.mjs} +2 -2
- package/dist/{text-editor-field-C2KDtfZV.mjs.map → text-editor-field-CQ8tnZFw.mjs.map} +1 -1
- package/dist/{text-editor-field-DF8lkOc_.cjs → text-editor-field-CxU-KMMn.cjs} +2 -2
- package/dist/{text-editor-field-DF8lkOc_.cjs.map → text-editor-field-CxU-KMMn.cjs.map} +1 -1
- package/dist/{text-field-BJciq-S8.mjs → text-field-B3xlvEUN.mjs} +2 -2
- package/dist/{text-field-BJciq-S8.mjs.map → text-field-B3xlvEUN.mjs.map} +1 -1
- package/dist/{text-field-B1n5Xd-k.cjs → text-field-BQovKYN-.cjs} +2 -2
- package/dist/{text-field-B1n5Xd-k.cjs.map → text-field-BQovKYN-.cjs.map} +1 -1
- package/dist/{textarea-C8ZIZh-y.d.cts → textarea-D1diQohb.d.cts} +4 -8
- package/dist/{textarea-C8ZIZh-y.d.mts → textarea-D1diQohb.d.mts} +4 -8
- package/dist/{textarea-field-Bm7bsyjB.cjs → textarea-field-B38SnNv4.cjs} +2 -2
- package/dist/{textarea-field-Bm7bsyjB.cjs.map → textarea-field-B38SnNv4.cjs.map} +1 -1
- package/dist/{textarea-field-BjdX2Qjt.mjs → textarea-field-u2UUwtr_.mjs} +2 -2
- package/dist/{textarea-field-BjdX2Qjt.mjs.map → textarea-field-u2UUwtr_.mjs.map} +1 -1
- package/dist/{title-BT9guhSU.d.cts → title-D8BSkLsi.d.cts} +6 -9
- package/dist/{title-BT9guhSU.d.mts → title-D8BSkLsi.d.mts} +6 -9
- package/dist/title-field-B2hM3S_S.cjs.map +1 -1
- package/dist/title-field-oAqHRw59.mjs.map +1 -1
- package/dist/{toggle-Bk5Lvs5n.d.cts → toggle-CqTmiPDi.d.cts} +3 -9
- package/dist/{toggle-Bk5Lvs5n.d.mts → toggle-CqTmiPDi.d.mts} +3 -9
- package/dist/toggle-button-DNLtfjJC.mjs.map +1 -1
- package/dist/toggle-button-Dq78v8cH.cjs.map +1 -1
- package/dist/{toggle-group-7ZP2e-K1.d.mts → toggle-group--bJylFDV.d.cts} +4 -17
- package/dist/{toggle-group-B0pu4YV-.d.cts → toggle-group-l_Mi7NRg.d.mts} +4 -17
- package/dist/{tooltip-D4U-RhIu.d.cts → tooltip-BVYKhsC2.d.cts} +5 -18
- package/dist/{tooltip-D4U-RhIu.d.mts → tooltip-BVYKhsC2.d.mts} +5 -18
- package/dist/tooltip-BcfELg8e.cjs.map +1 -1
- package/dist/tooltip-TGmzPdoR.mjs.map +1 -1
- package/dist/top-products-bar-chart-5EJFSkeo.cjs.map +1 -1
- package/dist/top-products-bar-chart-CKYaOGWT.mjs.map +1 -1
- package/dist/{trash-BfWSqlL4.d.cts → trash-DBDuSVzW.d.cts} +3 -2
- package/dist/{trash-BfWSqlL4.d.mts → trash-DBDuSVzW.d.mts} +3 -2
- package/dist/typography/paragraph.d.cts +1 -1
- package/dist/typography/paragraph.d.mts +1 -1
- package/dist/typography/title.d.cts +1 -1
- package/dist/typography/title.d.mts +1 -1
- package/dist/ui/alert-dialog.d.cts +1 -1
- package/dist/ui/alert-dialog.d.mts +1 -1
- package/dist/ui/alert.d.cts +1 -1
- package/dist/ui/alert.d.mts +1 -1
- package/dist/ui/aspect-ratio.d.cts +1 -1
- package/dist/ui/aspect-ratio.d.mts +1 -1
- package/dist/ui/avatar.d.cts +1 -1
- package/dist/ui/avatar.d.mts +1 -1
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.cjs.map +1 -1
- package/dist/ui/badge.d.cts +1 -1
- package/dist/ui/badge.d.mts +1 -1
- package/dist/ui/badge.mjs +1 -1
- package/dist/ui/badge.mjs.map +1 -1
- package/dist/ui/breadcrumb.cjs.map +1 -1
- package/dist/ui/breadcrumb.d.cts +1 -1
- package/dist/ui/breadcrumb.d.mts +1 -1
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/button-group.d.cts +1 -1
- package/dist/ui/button-group.d.mts +1 -1
- package/dist/ui/button.cjs.map +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/button.mjs.map +1 -1
- package/dist/ui/buttons/add-new.cjs.map +1 -1
- package/dist/ui/buttons/add-new.d.cts +1 -1
- package/dist/ui/buttons/add-new.d.mts +1 -1
- package/dist/ui/buttons/add-new.mjs.map +1 -1
- package/dist/ui/buttons/edit.cjs.map +1 -1
- package/dist/ui/buttons/edit.d.cts +1 -1
- package/dist/ui/buttons/edit.d.mts +1 -1
- package/dist/ui/buttons/edit.mjs.map +1 -1
- package/dist/ui/buttons/refresh.cjs.map +1 -1
- package/dist/ui/buttons/refresh.d.cts +1 -1
- package/dist/ui/buttons/refresh.d.mts +1 -1
- package/dist/ui/buttons/refresh.mjs.map +1 -1
- package/dist/ui/buttons/trash.cjs.map +1 -1
- package/dist/ui/buttons/trash.d.cts +1 -1
- package/dist/ui/buttons/trash.d.mts +1 -1
- package/dist/ui/buttons/trash.mjs.map +1 -1
- package/dist/ui/buttons/upload-image.cjs.map +1 -1
- package/dist/ui/buttons/upload-image.d.cts +1 -1
- package/dist/ui/buttons/upload-image.d.mts +1 -1
- package/dist/ui/buttons/upload-image.mjs.map +1 -1
- package/dist/ui/calendar.cjs.map +1 -1
- package/dist/ui/calendar.d.cts +1 -1
- package/dist/ui/calendar.d.mts +1 -1
- package/dist/ui/calendar.mjs.map +1 -1
- package/dist/ui/card.d.cts +1 -1
- package/dist/ui/card.d.mts +1 -1
- package/dist/ui/carousel.cjs.map +1 -1
- package/dist/ui/carousel.d.cts +1 -1
- package/dist/ui/carousel.d.mts +1 -1
- package/dist/ui/carousel.mjs.map +1 -1
- package/dist/ui/chart.cjs +1 -1
- package/dist/ui/chart.cjs.map +1 -1
- package/dist/ui/chart.d.cts +1 -1
- package/dist/ui/chart.d.mts +1 -1
- package/dist/ui/chart.mjs +1 -1
- package/dist/ui/chart.mjs.map +1 -1
- package/dist/ui/checkbox.cjs.map +1 -1
- package/dist/ui/checkbox.d.cts +1 -1
- package/dist/ui/checkbox.d.mts +1 -1
- package/dist/ui/checkbox.mjs.map +1 -1
- package/dist/ui/collapsible.d.cts +1 -1
- package/dist/ui/collapsible.d.mts +1 -1
- package/dist/ui/combobox.cjs +1 -0
- package/dist/ui/combobox.d.cts +2 -0
- package/dist/ui/combobox.d.mts +2 -0
- package/dist/ui/combobox.mjs +1 -0
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.cjs.map +1 -1
- package/dist/ui/command.d.cts +1 -1
- package/dist/ui/command.d.mts +1 -1
- package/dist/ui/command.mjs +1 -1
- package/dist/ui/command.mjs.map +1 -1
- package/dist/ui/context-menu.cjs.map +1 -1
- package/dist/ui/context-menu.d.cts +1 -1
- package/dist/ui/context-menu.d.mts +1 -1
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/dialog.cjs.map +1 -1
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +1 -1
- package/dist/ui/dialog.mjs.map +1 -1
- package/dist/ui/drawer.cjs.map +1 -1
- package/dist/ui/drawer.d.cts +1 -1
- package/dist/ui/drawer.d.mts +1 -1
- package/dist/ui/drawer.mjs.map +1 -1
- package/dist/ui/dropdown-menu.cjs.map +1 -1
- package/dist/ui/dropdown-menu.d.cts +1 -1
- package/dist/ui/dropdown-menu.d.mts +1 -1
- package/dist/ui/dropdown-menu.mjs.map +1 -1
- package/dist/ui/empty.d.cts +1 -1
- package/dist/ui/empty.d.mts +1 -1
- package/dist/ui/field.cjs.map +1 -1
- package/dist/ui/field.d.cts +12 -48
- package/dist/ui/field.d.mts +12 -48
- package/dist/ui/field.mjs.map +1 -1
- package/dist/ui/file-uploader.cjs.map +1 -1
- package/dist/ui/file-uploader.d.cts +1 -1
- package/dist/ui/file-uploader.d.mts +1 -1
- package/dist/ui/file-uploader.mjs.map +1 -1
- package/dist/ui/form.cjs.map +1 -1
- package/dist/ui/form.d.cts +1 -1
- package/dist/ui/form.d.mts +1 -1
- package/dist/ui/form.mjs.map +1 -1
- package/dist/ui/hover-card.cjs.map +1 -1
- package/dist/ui/hover-card.d.cts +1 -1
- package/dist/ui/hover-card.d.mts +1 -1
- package/dist/ui/hover-card.mjs.map +1 -1
- package/dist/ui/image.cjs +1 -1
- package/dist/ui/image.cjs.map +1 -1
- package/dist/ui/image.d.cts +1 -1
- package/dist/ui/image.d.mts +1 -1
- package/dist/ui/image.mjs +1 -1
- package/dist/ui/image.mjs.map +1 -1
- package/dist/ui/input-otp.cjs.map +1 -1
- package/dist/ui/input-otp.d.cts +1 -1
- package/dist/ui/input-otp.d.mts +1 -1
- package/dist/ui/input-otp.mjs.map +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/inputs/search-input.cjs.map +1 -1
- package/dist/ui/inputs/search-input.d.cts +1 -1
- package/dist/ui/inputs/search-input.d.mts +1 -1
- package/dist/ui/inputs/search-input.mjs.map +1 -1
- package/dist/ui/item.d.cts +1 -1
- package/dist/ui/item.d.mts +1 -1
- package/dist/ui/label.d.cts +1 -1
- package/dist/ui/label.d.mts +1 -1
- package/dist/ui/menubar.cjs.map +1 -1
- package/dist/ui/menubar.d.cts +1 -1
- package/dist/ui/menubar.d.mts +1 -1
- package/dist/ui/menubar.mjs.map +1 -1
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.cjs.map +1 -1
- package/dist/ui/multi-select.d.cts +1 -1
- package/dist/ui/multi-select.d.mts +1 -1
- package/dist/ui/multi-select.mjs +1 -1
- package/dist/ui/multi-select.mjs.map +1 -1
- package/dist/ui/navigation-menu.cjs.map +1 -1
- package/dist/ui/navigation-menu.d.cts +1 -1
- package/dist/ui/navigation-menu.d.mts +1 -1
- package/dist/ui/navigation-menu.mjs.map +1 -1
- package/dist/ui/pagination.cjs.map +1 -1
- package/dist/ui/pagination.d.cts +1 -1
- package/dist/ui/pagination.d.mts +1 -1
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover.cjs.map +1 -1
- package/dist/ui/popover.d.cts +1 -1
- package/dist/ui/popover.d.mts +1 -1
- package/dist/ui/popover.mjs.map +1 -1
- package/dist/ui/progress.cjs.map +1 -1
- package/dist/ui/progress.d.cts +1 -1
- package/dist/ui/progress.d.mts +1 -1
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/radio-group.cjs.map +1 -1
- package/dist/ui/radio-group.d.cts +1 -1
- package/dist/ui/radio-group.d.mts +1 -1
- package/dist/ui/radio-group.mjs.map +1 -1
- package/dist/ui/resizable.cjs.map +1 -1
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.mts +1 -1
- package/dist/ui/resizable.mjs.map +1 -1
- package/dist/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/scroll-area.d.cts +1 -1
- package/dist/ui/scroll-area.d.mts +1 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/select.cjs.map +1 -1
- package/dist/ui/select.d.cts +1 -1
- package/dist/ui/select.d.mts +1 -1
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.mts +1 -1
- package/dist/ui/sheet.cjs.map +1 -1
- package/dist/ui/sheet.d.cts +1 -1
- package/dist/ui/sheet.d.mts +1 -1
- package/dist/ui/sheet.mjs.map +1 -1
- package/dist/ui/skeleton.d.cts +1 -1
- package/dist/ui/skeleton.d.mts +1 -1
- package/dist/ui/slider.cjs.map +1 -1
- package/dist/ui/slider.d.cts +1 -1
- package/dist/ui/slider.d.mts +1 -1
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/sonner.d.cts +1 -1
- package/dist/ui/sonner.d.mts +1 -1
- package/dist/ui/spinner.d.cts +1 -1
- package/dist/ui/spinner.d.mts +1 -1
- package/dist/ui/status.cjs.map +1 -1
- package/dist/ui/status.d.cts +2 -10
- package/dist/ui/status.d.mts +2 -10
- package/dist/ui/status.mjs.map +1 -1
- package/dist/ui/switch.cjs.map +1 -1
- package/dist/ui/switch.d.cts +1 -1
- package/dist/ui/switch.d.mts +1 -1
- package/dist/ui/switch.mjs.map +1 -1
- package/dist/ui/table.d.cts +1 -1
- package/dist/ui/table.d.mts +1 -1
- package/dist/ui/tabs.d.cts +1 -1
- package/dist/ui/tabs.d.mts +1 -1
- package/dist/ui/textarea.d.cts +1 -1
- package/dist/ui/textarea.d.mts +1 -1
- package/dist/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/toggle-group.d.cts +1 -1
- package/dist/ui/toggle-group.d.mts +1 -1
- package/dist/ui/toggle-group.mjs.map +1 -1
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.mts +1 -1
- package/dist/ui/tooltip.cjs.map +1 -1
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.mts +1 -1
- package/dist/ui/tooltip.mjs.map +1 -1
- package/dist/{upload-image-D4VZU3IA.d.cts → upload-image-DM-tkZuR.d.cts} +3 -3
- package/dist/{upload-image-D4VZU3IA.d.mts → upload-image-DM-tkZuR.d.mts} +3 -3
- package/dist/user-BymzvsYp.mjs.map +1 -1
- package/dist/{user-CvesQf42.d.cts → user-D46H2MOh.d.cts} +6 -3
- package/dist/{user-CvesQf42.d.mts → user-D46H2MOh.d.mts} +6 -3
- package/dist/user-Dn53Fu5q.cjs.map +1 -1
- package/dist/volume-bar-chart-BRpC_8-X.mjs.map +1 -1
- package/dist/volume-bar-chart-CRxZPZIn.cjs.map +1 -1
- package/dist/waterfall-chart-CTB2f5eh.cjs.map +1 -1
- package/dist/waterfall-chart-DwetaJFJ.mjs.map +1 -1
- package/package.json +6 -2
- package/dist/cms-layout-CGGJqbr0.cjs +0 -2
- package/dist/cms-layout-CGGJqbr0.cjs.map +0 -1
- package/dist/cms-layout-ePySxIQN.mjs +0 -2
- package/dist/cms-layout-ePySxIQN.mjs.map +0 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +0 -1
- package/dist/dialogs/detail-dialog/index.mjs.map +0 -1
- package/dist/image-Cln0r7Eb.d.cts +0 -27
- package/dist/image-Cln0r7Eb.d.mts +0 -27
- package/dist/index-C9eXmnvk.d.cts +0 -36
- package/dist/index-C9eXmnvk.d.mts +0 -36
- package/dist/number-input-CqkegUWs.mjs +0 -2
- package/dist/number-input-kTh9zzr7.cjs +0 -2
- package/dist/payment-layout-Cb-Q8KD2.cjs +0 -2
- package/dist/sidebar-core-Bh0dZXsm.mjs +0 -2
- package/dist/sidebar-core-Bh0dZXsm.mjs.map +0 -1
- package/dist/sidebar-core-DQE6ymo4.cjs +0 -2
- package/dist/sidebar-core-DQE6ymo4.cjs.map +0 -1
- package/dist/simple-card-6P377r4A.d.cts +0 -29
- package/dist/simple-card-6P377r4A.d.mts +0 -29
- package/dist/statistic-8zBJMdRa.d.cts +0 -45
- package/dist/statistic-8zBJMdRa.d.mts +0 -45
- package/dist/text-editor-BQtIXOpM.mjs +0 -2
- package/dist/text-editor-DJYQXXtP.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permalink-CUIKG9VA.cjs","names":["UITableEmpty","ExternalLinkIcon"],"sources":["../packages/components/features/tables/components/atoms/permalink.tsx"],"sourcesContent":["import { ExternalLinkIcon } from 'lucide-react';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Renders an external-link anchor with an icon for use in table cells, opening\n * the target URL in a new tab with safe `rel` attributes. Renders\n * {@link UITableEmpty} when `href` is absent.\n *\n * @example\n * import { UITablePermalink } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePermalink href=\"https://example.com/records/42\" label=\"View record\" />\n */\nexport const UITablePermalink: React.FC<{\n /** The destination URL the anchor navigates to; `null`/`undefined`/empty renders an empty state. */\n href: string | null | undefined;\n /** Optional display text; falls back to the raw `href` when omitted. */\n label?: string;\n}> = ({ href, label }) => {\n if (!href) return <UITableEmpty />;\n\n return (\n <a href={href} target=\"_blank\" className=\"inline-flex items-center gap-1 truncate text-primary text-sm underline\" rel=\"noopener noreferrer\">\n <span>{label || href}</span>\n <ExternalLinkIcon size={14} />\n </a>\n );\n};\n"],"mappings":"sGAcA,MAAa,GAKP,CAAE,OAAM,WACP,GAGH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAS,OAAM,OAAO,SAAS,UAAU,yEAAyE,IAAI
|
|
1
|
+
{"version":3,"file":"permalink-CUIKG9VA.cjs","names":["UITableEmpty","ExternalLinkIcon"],"sources":["../packages/components/features/tables/components/atoms/permalink.tsx"],"sourcesContent":["import { ExternalLinkIcon } from 'lucide-react';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Renders an external-link anchor with an icon for use in table cells, opening\n * the target URL in a new tab with safe `rel` attributes. Renders\n * {@link UITableEmpty} when `href` is absent.\n *\n * @example\n * import { UITablePermalink } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePermalink href=\"https://example.com/records/42\" label=\"View record\" />\n */\nexport const UITablePermalink: React.FC<{\n /** The destination URL the anchor navigates to; `null`/`undefined`/empty renders an empty state. */\n href: string | null | undefined;\n /** Optional display text; falls back to the raw `href` when omitted. */\n label?: string;\n}> = ({ href, label }) => {\n if (!href) return <UITableEmpty />;\n\n return (\n <a href={href} target=\"_blank\" className=\"inline-flex items-center gap-1 truncate text-primary text-sm underline\" rel=\"noopener noreferrer\">\n <span>{label || href}</span>\n <ExternalLinkIcon size={14} />\n </a>\n );\n};\n"],"mappings":"sGAcA,MAAa,GAKP,CAAE,OAAM,WACP,GAGH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAS,OAAM,OAAO,SAAS,UAAU,yEAAyE,IAAI,sBAAtH,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,SAAO,GAAS,CAAW,CAAA,GAC3B,EAAA,EAAA,IAAA,CAACC,EAAAA,iBAAD,CAAkB,KAAM,EAAK,CAAA,CAC5B,KANa,EAAA,EAAA,IAAA,CAACD,EAAAA,EAAD,CAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permalink-I-INEarM.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/permalink.tsx"],"sourcesContent":["import { ExternalLinkIcon } from 'lucide-react';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Renders an external-link anchor with an icon for use in table cells, opening\n * the target URL in a new tab with safe `rel` attributes. Renders\n * {@link UITableEmpty} when `href` is absent.\n *\n * @example\n * import { UITablePermalink } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePermalink href=\"https://example.com/records/42\" label=\"View record\" />\n */\nexport const UITablePermalink: React.FC<{\n /** The destination URL the anchor navigates to; `null`/`undefined`/empty renders an empty state. */\n href: string | null | undefined;\n /** Optional display text; falls back to the raw `href` when omitted. */\n label?: string;\n}> = ({ href, label }) => {\n if (!href) return <UITableEmpty />;\n\n return (\n <a href={href} target=\"_blank\" className=\"inline-flex items-center gap-1 truncate text-primary text-sm underline\" rel=\"noopener noreferrer\">\n <span>{label || href}</span>\n <ExternalLinkIcon size={14} />\n </a>\n );\n};\n"],"mappings":"4IAcA,MAAa,GAKP,CAAE,OAAM,WACP,EAGH,EAAC,IAAD,CAAS,OAAM,OAAO,SAAS,UAAU,yEAAyE,IAAI
|
|
1
|
+
{"version":3,"file":"permalink-I-INEarM.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/permalink.tsx"],"sourcesContent":["import { ExternalLinkIcon } from 'lucide-react';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Renders an external-link anchor with an icon for use in table cells, opening\n * the target URL in a new tab with safe `rel` attributes. Renders\n * {@link UITableEmpty} when `href` is absent.\n *\n * @example\n * import { UITablePermalink } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePermalink href=\"https://example.com/records/42\" label=\"View record\" />\n */\nexport const UITablePermalink: React.FC<{\n /** The destination URL the anchor navigates to; `null`/`undefined`/empty renders an empty state. */\n href: string | null | undefined;\n /** Optional display text; falls back to the raw `href` when omitted. */\n label?: string;\n}> = ({ href, label }) => {\n if (!href) return <UITableEmpty />;\n\n return (\n <a href={href} target=\"_blank\" className=\"inline-flex items-center gap-1 truncate text-primary text-sm underline\" rel=\"noopener noreferrer\">\n <span>{label || href}</span>\n <ExternalLinkIcon size={14} />\n </a>\n );\n};\n"],"mappings":"4IAcA,MAAa,GAKP,CAAE,OAAM,WACP,EAGH,EAAC,IAAD,CAAS,OAAM,OAAO,SAAS,UAAU,yEAAyE,IAAI,sBAAtH,SAAA,CACE,EAAC,OAAD,CAAA,SAAO,GAAS,CAAW,CAAA,EAC3B,EAAC,EAAD,CAAkB,KAAM,EAAK,CAAA,CAC5B,IANa,EAAC,EAAD,CAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone-number-Cu7Mnl6J.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/phone-number.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Formats and displays a phone number string in a table cell using the\n * `(NXX) NXX-XXXX` pattern, with a tooltip that shows the full international\n * dialling representation. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITablePhoneNumberDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePhoneNumberDisplay value=\"0843456789\" />\n */\nexport const UITablePhoneNumberDisplay: React.FC<{\n /** The raw phone number string to format and display; `null`/`undefined`/empty renders an empty state. */\n value: string | null | undefined;\n}> = ({ value }) => {\n if (!value) return <UITableEmpty />;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-text-positive text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '+84 $1 $2 $3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"+KAcA,MAAa,GAGP,CAAE,WACD,EAGH,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAgB,QAAA,
|
|
1
|
+
{"version":3,"file":"phone-number-Cu7Mnl6J.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/phone-number.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Formats and displays a phone number string in a table cell using the\n * `(NXX) NXX-XXXX` pattern, with a tooltip that shows the full international\n * dialling representation. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITablePhoneNumberDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePhoneNumberDisplay value=\"0843456789\" />\n */\nexport const UITablePhoneNumberDisplay: React.FC<{\n /** The raw phone number string to format and display; `null`/`undefined`/empty renders an empty state. */\n value: string | null | undefined;\n}> = ({ value }) => {\n if (!value) return <UITableEmpty />;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-text-positive text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '+84 $1 $2 $3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"+KAcA,MAAa,GAGP,CAAE,WACD,EAGH,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAgB,QAAA,GACd,SAAA,EAAC,IAAD,CAAG,UAAU,sDAAuD,SAAA,EAAM,QAAQ,wBAAyB,YAAY,CAAK,CAAA,CAC9G,CAAA,EAChB,EAAC,EAAD,CAAgB,MAAM,QACpB,SAAA,EAAC,IAAD,CAAG,UAAU,eAAgB,SAAA,EAAM,MAAM,CAAC,CAAC,CAAC,QAAQ,wBAAyB,cAAc,CAAK,CAAA,CAClF,CAAA,CACT,CAAA,CAAA,EAVQ,EAAC,EAAD,CAAe,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
//#region packages/components/data-display/phone-number.d.ts
|
|
2
2
|
type PhoneNumberDisplayProps = {
|
|
3
|
-
/** The raw phone number string (e.g. `'0901234567'`); automatically formatted as `(090) 123-4567` with a +84 tooltip. */
|
|
3
|
+
/** The raw phone number string (e.g. `'0901234567'`); automatically formatted as `(090) 123-4567` with a +84 tooltip. */
|
|
4
|
+
value: string;
|
|
4
5
|
};
|
|
5
6
|
/**
|
|
6
7
|
* Formats and displays a Vietnamese phone number with a tooltip showing the international dialling format.
|
|
@@ -15,4 +16,4 @@ type PhoneNumberDisplayProps = {
|
|
|
15
16
|
declare const PhoneNumberDisplay: React.FC<PhoneNumberDisplayProps>;
|
|
16
17
|
//#endregion
|
|
17
18
|
export { PhoneNumberDisplay as t };
|
|
18
|
-
//# sourceMappingURL=phone-number-
|
|
19
|
+
//# sourceMappingURL=phone-number-D9j5xYDW.d.cts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
//#region packages/components/data-display/phone-number.d.ts
|
|
2
2
|
type PhoneNumberDisplayProps = {
|
|
3
|
-
/** The raw phone number string (e.g. `'0901234567'`); automatically formatted as `(090) 123-4567` with a +84 tooltip. */
|
|
3
|
+
/** The raw phone number string (e.g. `'0901234567'`); automatically formatted as `(090) 123-4567` with a +84 tooltip. */
|
|
4
|
+
value: string;
|
|
4
5
|
};
|
|
5
6
|
/**
|
|
6
7
|
* Formats and displays a Vietnamese phone number with a tooltip showing the international dialling format.
|
|
@@ -15,4 +16,4 @@ type PhoneNumberDisplayProps = {
|
|
|
15
16
|
declare const PhoneNumberDisplay: React.FC<PhoneNumberDisplayProps>;
|
|
16
17
|
//#endregion
|
|
17
18
|
export { PhoneNumberDisplay as t };
|
|
18
|
-
//# sourceMappingURL=phone-number-
|
|
19
|
+
//# sourceMappingURL=phone-number-D9j5xYDW.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone-number-DJvfJg1b.cjs","names":["UITableEmpty","Tooltip","TooltipTrigger","TooltipContent"],"sources":["../packages/components/features/tables/components/atoms/phone-number.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Formats and displays a phone number string in a table cell using the\n * `(NXX) NXX-XXXX` pattern, with a tooltip that shows the full international\n * dialling representation. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITablePhoneNumberDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePhoneNumberDisplay value=\"0843456789\" />\n */\nexport const UITablePhoneNumberDisplay: React.FC<{\n /** The raw phone number string to format and display; `null`/`undefined`/empty renders an empty state. */\n value: string | null | undefined;\n}> = ({ value }) => {\n if (!value) return <UITableEmpty />;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-text-positive text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '+84 $1 $2 $3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"0GAcA,MAAa,GAGP,CAAE,WACD,GAGH,EAAA,EAAA,KAAA,CAACC,EAAAA,QAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,QAAA,
|
|
1
|
+
{"version":3,"file":"phone-number-DJvfJg1b.cjs","names":["UITableEmpty","Tooltip","TooltipTrigger","TooltipContent"],"sources":["../packages/components/features/tables/components/atoms/phone-number.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\n\n/**\n * Formats and displays a phone number string in a table cell using the\n * `(NXX) NXX-XXXX` pattern, with a tooltip that shows the full international\n * dialling representation. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITablePhoneNumberDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITablePhoneNumberDisplay value=\"0843456789\" />\n */\nexport const UITablePhoneNumberDisplay: React.FC<{\n /** The raw phone number string to format and display; `null`/`undefined`/empty renders an empty state. */\n value: string | null | undefined;\n}> = ({ value }) => {\n if (!value) return <UITableEmpty />;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-text-positive text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '+84 $1 $2 $3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"0GAcA,MAAa,GAGP,CAAE,WACD,GAGH,EAAA,EAAA,KAAA,CAACC,EAAAA,QAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,QAAA,GACd,UAAA,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,sDAAuD,SAAA,EAAM,QAAQ,wBAAyB,YAAY,CAAK,CAAA,CAC9G,CAAA,GAChB,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,MAAM,QACpB,UAAA,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,eAAgB,SAAA,EAAM,MAAM,CAAC,CAAC,CAAC,QAAQ,wBAAyB,cAAc,CAAK,CAAA,CAClF,CAAA,CACT,CAAA,CAAA,GAVQ,EAAA,EAAA,IAAA,CAACH,EAAAA,EAAD,CAAe,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./close-BYHgEZvZ.cjs"),t=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=popover-form-
|
|
1
|
+
const e=require("./close-BYHgEZvZ.cjs"),t=require("./tanstack-form-BxqS40rB.cjs"),n=require("./submit-button-CvINfld5.cjs");let r=require("@customafk/react-toolkit/utils"),i=require("react/jsx-runtime"),a=require("radix-ui");const o=({title:o,open:s,contentClassName:c,onOpenChange:l,children:u})=>{let d=t.K();return(0,i.jsx)(a.Dialog.Root,{"data-slot":`dialog`,open:s,onOpenChange:l,children:(0,i.jsxs)(a.Dialog.Portal,{"data-slot":`dialog-portal`,children:[(0,i.jsx)(a.Dialog.Overlay,{"data-slot":`dialog-overlay`,className:(0,r.cn)(`fixed inset-0 z-40 bg-black/40 backdrop-blur-sm`,`data-[state=open]:animate-in data-[state=open]:fade-in`,`data-[state=closed]:animate-out data-[state=closed]:fade-out`)}),(0,i.jsx)(a.Dialog.Content,{"data-slot":`dialog-content`,className:(0,r.cn)(`fixed top-4 right-4 z-50 h-[calc(100dvh-2rem)] min-w-sm max-w-xl rounded-md bg-background shadow-lg ring-1 ring-border`,`duration-300`,`data-[state=open]:animate-in data-[state=open]:slide-in-from-right data-[state=open]:fade-in`,`data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=closed]:fade-out`),children:(0,i.jsxs)(`section`,{className:`relative flex size-full flex-col`,children:[(0,i.jsx)(`header`,{className:`flex h-14 shrink-0 items-center border-b border-border px-5`,children:(0,i.jsx)(`h2`,{className:`font-semibold text-base tracking-tight text-text-positive`,children:o})}),(0,i.jsx)(`div`,{className:(0,r.cn)(`flex flex-1 flex-col overflow-y-auto py-4`,c),children:u}),(0,i.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3`,children:[(0,i.jsx)(d.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>(0,i.jsx)(n.t,{isSubmitting:e,disabled:t,className:`w-full`,onClick:()=>d.handleSubmit()})}),(0,i.jsx)(d.Subscribe,{selector:e=>({disabled:e.isPristine||e.isSubmitting}),children:({disabled:e})=>(0,i.jsx)(n.n,{disabled:e,className:`w-full`,onClick:()=>{d.reset(),l?.(!1)}})})]}),(0,i.jsx)(a.Dialog.Close,{asChild:!0,children:(0,i.jsx)(e.t,{className:`absolute top-2.5 right-3`})})]})})]})})};exports.TanStackPopoverForm=o;
|
|
2
|
+
//# sourceMappingURL=popover-form-Bq2GcuZu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-form-
|
|
1
|
+
{"version":3,"file":"popover-form-Bq2GcuZu.cjs","names":["useTanStackFormContext","DialogPrimitive","SubmitButton","CancelButton","CloseButton"],"sources":["../packages/components/features/tanstack-form/components/forms/popover-form.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { CloseButton } from '@/components/ui/buttons/close';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { useTanStackFormContext } from '../form-context';\nimport { CancelButton } from '../ui/cancel-button';\nimport { SubmitButton } from '../ui/submit-button';\n\n/**\n * Renders a slide-in side-panel dialog that wraps a TanStack form with built-in submit and cancel actions.\n *\n * @example\n * import { TanStackPopoverForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackPopoverForm\n * title=\"Edit Profile\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * >\n * <EmailField />\n * </TanStackPopoverForm>\n */\nexport const TanStackPopoverForm: React.FC<\n React.PropsWithChildren<{\n /** Heading text displayed in the panel header. */\n title: string;\n /** Controlled open state of the popover dialog. */\n open?: boolean;\n /** Additional CSS class names applied to the scrollable content area. */\n contentClassName?: string;\n /** Callback fired when the open state changes. */\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ title, open, contentClassName, onOpenChange, children }) => {\n const form = useTanStackFormContext();\n\n return (\n <DialogPrimitive.Root data-slot=\"dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-40 bg-black/40 backdrop-blur-sm',\n 'data-[state=open]:animate-in data-[state=open]:fade-in',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out'\n )}\n />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-4 right-4 z-50 h-[calc(100dvh-2rem)] min-w-sm max-w-xl rounded-md bg-background shadow-lg ring-1 ring-border',\n 'duration-300',\n 'data-[state=open]:animate-in data-[state=open]:slide-in-from-right data-[state=open]:fade-in',\n 'data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=closed]:fade-out'\n )}\n >\n <section className=\"relative flex size-full flex-col\">\n <header className=\"flex h-14 shrink-0 items-center border-b border-border px-5\">\n <h2 className=\"font-semibold text-base tracking-tight text-text-positive\">{title}</h2>\n </header>\n\n <div className={cn('flex flex-1 flex-col overflow-y-auto py-4', contentClassName)}>{children}</div>\n\n <div className=\"flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3\">\n <form.Subscribe\n selector={state => ({\n isSubmitting: state.isSubmitting,\n disabled: state.isPristine || !state.isValid || state.isValidating || state.isSubmitting || !state.canSubmit,\n })}\n children={({ isSubmitting, disabled }) => (\n <SubmitButton isSubmitting={isSubmitting} disabled={disabled} className=\"w-full\" onClick={() => form.handleSubmit()} />\n )}\n />\n <form.Subscribe\n selector={state => ({ disabled: state.isPristine || state.isSubmitting })}\n children={({ disabled }) => (\n <CancelButton\n disabled={disabled}\n className=\"w-full\"\n onClick={() => {\n form.reset();\n onOpenChange?.(false);\n }}\n />\n )}\n />\n </div>\n\n <DialogPrimitive.Close asChild>\n <CloseButton className=\"absolute top-2.5 right-3\" />\n </DialogPrimitive.Close>\n </section>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"iOAyBA,MAAa,GAWR,CAAE,QAAO,OAAM,mBAAkB,eAAc,cAAe,CACjE,IAAM,EAAOA,EAAAA,EAAuB,EAEpC,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAgB,KAAjB,CAAsB,YAAU,SAAe,OAAoB,eACjE,UAAA,EAAA,EAAA,KAAA,CAACA,EAAAA,OAAgB,OAAjB,CAAwB,YAAU,gBAAlC,SAAA,EACE,EAAA,EAAA,IAAA,CAACA,EAAAA,OAAgB,QAAjB,CACE,YAAU,iBACV,WAAA,EAAA,EAAA,GAAA,CACE,kDACA,yDACA,8DACF,CACD,CAAA,GACD,EAAA,EAAA,IAAA,CAACA,EAAAA,OAAgB,QAAjB,CACE,YAAU,iBACV,WAAA,EAAA,EAAA,GAAA,CACE,yHACA,eACA,+FACA,qGACF,EAEA,UAAA,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,mCAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAU,8DAChB,UAAA,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,4DAA6D,SAAA,CAAU,CAAA,CAC/E,CAAA,GAER,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,WAAA,EAAA,EAAA,GAAA,CAAc,4CAA6C,CAAgB,EAAI,UAAc,CAAA,GAElG,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gEAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAClB,aAAc,EAAM,aACpB,SAAU,EAAM,YAAc,CAAC,EAAM,SAAW,EAAM,cAAgB,EAAM,cAAgB,CAAC,EAAM,SACrG,GACA,UAAW,CAAE,eAAc,eACzB,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CAA4B,eAAwB,WAAU,UAAU,SAAS,YAAe,EAAK,aAAa,CAAI,CAAA,CAEzH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAAE,SAAU,EAAM,YAAc,EAAM,YAAa,GACvE,UAAW,CAAE,eACX,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CACY,WACV,UAAU,SACV,YAAe,CACb,EAAK,MAAM,EACX,IAAe,EAAK,CACtB,CACD,CAAA,CAEJ,CAAA,CACE,KAEL,EAAA,EAAA,IAAA,CAACF,EAAAA,OAAgB,MAAjB,CAAuB,QAAA,GACrB,UAAA,EAAA,EAAA,IAAA,CAACG,EAAAA,EAAD,CAAa,UAAU,0BAA4B,CAAA,CAC9B,CAAA,CAChB,GACc,CAAA,CACH,GACJ,CAAA,CAE1B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./close-DYJZ8fkh.mjs";import{K as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=popover-form-
|
|
1
|
+
import{t as e}from"./close-DYJZ8fkh.mjs";import{K as t}from"./tanstack-form-q9hDCc0Y.mjs";import{n,t as r}from"./submit-button-CGBaPzE9.mjs";import{cn as i}from"@customafk/react-toolkit/utils";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{Dialog as s}from"radix-ui";const c=({title:c,open:l,contentClassName:u,onOpenChange:d,children:f})=>{let p=t();return a(s.Root,{"data-slot":`dialog`,open:l,onOpenChange:d,children:o(s.Portal,{"data-slot":`dialog-portal`,children:[a(s.Overlay,{"data-slot":`dialog-overlay`,className:i(`fixed inset-0 z-40 bg-black/40 backdrop-blur-sm`,`data-[state=open]:animate-in data-[state=open]:fade-in`,`data-[state=closed]:animate-out data-[state=closed]:fade-out`)}),a(s.Content,{"data-slot":`dialog-content`,className:i(`fixed top-4 right-4 z-50 h-[calc(100dvh-2rem)] min-w-sm max-w-xl rounded-md bg-background shadow-lg ring-1 ring-border`,`duration-300`,`data-[state=open]:animate-in data-[state=open]:slide-in-from-right data-[state=open]:fade-in`,`data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=closed]:fade-out`),children:o(`section`,{className:`relative flex size-full flex-col`,children:[a(`header`,{className:`flex h-14 shrink-0 items-center border-b border-border px-5`,children:a(`h2`,{className:`font-semibold text-base tracking-tight text-text-positive`,children:c})}),a(`div`,{className:i(`flex flex-1 flex-col overflow-y-auto py-4`,u),children:f}),o(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3`,children:[a(p.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>a(r,{isSubmitting:e,disabled:t,className:`w-full`,onClick:()=>p.handleSubmit()})}),a(p.Subscribe,{selector:e=>({disabled:e.isPristine||e.isSubmitting}),children:({disabled:e})=>a(n,{disabled:e,className:`w-full`,onClick:()=>{p.reset(),d?.(!1)}})})]}),a(s.Close,{asChild:!0,children:a(e,{className:`absolute top-2.5 right-3`})})]})})]})})};export{c as TanStackPopoverForm};
|
|
2
|
+
//# sourceMappingURL=popover-form-BsapHJck.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-form-
|
|
1
|
+
{"version":3,"file":"popover-form-BsapHJck.mjs","names":["DialogPrimitive"],"sources":["../packages/components/features/tanstack-form/components/forms/popover-form.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { CloseButton } from '@/components/ui/buttons/close';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { useTanStackFormContext } from '../form-context';\nimport { CancelButton } from '../ui/cancel-button';\nimport { SubmitButton } from '../ui/submit-button';\n\n/**\n * Renders a slide-in side-panel dialog that wraps a TanStack form with built-in submit and cancel actions.\n *\n * @example\n * import { TanStackPopoverForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackPopoverForm\n * title=\"Edit Profile\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * >\n * <EmailField />\n * </TanStackPopoverForm>\n */\nexport const TanStackPopoverForm: React.FC<\n React.PropsWithChildren<{\n /** Heading text displayed in the panel header. */\n title: string;\n /** Controlled open state of the popover dialog. */\n open?: boolean;\n /** Additional CSS class names applied to the scrollable content area. */\n contentClassName?: string;\n /** Callback fired when the open state changes. */\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ title, open, contentClassName, onOpenChange, children }) => {\n const form = useTanStackFormContext();\n\n return (\n <DialogPrimitive.Root data-slot=\"dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-40 bg-black/40 backdrop-blur-sm',\n 'data-[state=open]:animate-in data-[state=open]:fade-in',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out'\n )}\n />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-4 right-4 z-50 h-[calc(100dvh-2rem)] min-w-sm max-w-xl rounded-md bg-background shadow-lg ring-1 ring-border',\n 'duration-300',\n 'data-[state=open]:animate-in data-[state=open]:slide-in-from-right data-[state=open]:fade-in',\n 'data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=closed]:fade-out'\n )}\n >\n <section className=\"relative flex size-full flex-col\">\n <header className=\"flex h-14 shrink-0 items-center border-b border-border px-5\">\n <h2 className=\"font-semibold text-base tracking-tight text-text-positive\">{title}</h2>\n </header>\n\n <div className={cn('flex flex-1 flex-col overflow-y-auto py-4', contentClassName)}>{children}</div>\n\n <div className=\"flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3\">\n <form.Subscribe\n selector={state => ({\n isSubmitting: state.isSubmitting,\n disabled: state.isPristine || !state.isValid || state.isValidating || state.isSubmitting || !state.canSubmit,\n })}\n children={({ isSubmitting, disabled }) => (\n <SubmitButton isSubmitting={isSubmitting} disabled={disabled} className=\"w-full\" onClick={() => form.handleSubmit()} />\n )}\n />\n <form.Subscribe\n selector={state => ({ disabled: state.isPristine || state.isSubmitting })}\n children={({ disabled }) => (\n <CancelButton\n disabled={disabled}\n className=\"w-full\"\n onClick={() => {\n form.reset();\n onOpenChange?.(false);\n }}\n />\n )}\n />\n </div>\n\n <DialogPrimitive.Close asChild>\n <CloseButton className=\"absolute top-2.5 right-3\" />\n </DialogPrimitive.Close>\n </section>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"qRAyBA,MAAa,GAWR,CAAE,QAAO,OAAM,mBAAkB,eAAc,cAAe,CACjE,IAAM,EAAO,EAAuB,EAEpC,OACE,EAACA,EAAgB,KAAjB,CAAsB,YAAU,SAAe,OAAoB,eACjE,SAAA,EAACA,EAAgB,OAAjB,CAAwB,YAAU,gBAAlC,SAAA,CACE,EAACA,EAAgB,QAAjB,CACE,YAAU,iBACV,UAAW,EACT,kDACA,yDACA,8DACF,CACD,CAAA,EACD,EAACA,EAAgB,QAAjB,CACE,YAAU,iBACV,UAAW,EACT,yHACA,eACA,+FACA,qGACF,EAEA,SAAA,EAAC,UAAD,CAAS,UAAU,mCAAnB,SAAA,CACE,EAAC,SAAD,CAAQ,UAAU,8DAChB,SAAA,EAAC,KAAD,CAAI,UAAU,4DAA6D,SAAA,CAAU,CAAA,CAC/E,CAAA,EAER,EAAC,MAAD,CAAK,UAAW,EAAG,4CAA6C,CAAgB,EAAI,UAAc,CAAA,EAElG,EAAC,MAAD,CAAK,UAAU,gEAAf,SAAA,CACE,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAClB,aAAc,EAAM,aACpB,SAAU,EAAM,YAAc,CAAC,EAAM,SAAW,EAAM,cAAgB,EAAM,cAAgB,CAAC,EAAM,SACrG,GACA,UAAW,CAAE,eAAc,cACzB,EAAC,EAAD,CAA4B,eAAwB,WAAU,UAAU,SAAS,YAAe,EAAK,aAAa,CAAI,CAAA,CAEzH,CAAA,EACD,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAAE,SAAU,EAAM,YAAc,EAAM,YAAa,GACvE,UAAW,CAAE,cACX,EAAC,EAAD,CACY,WACV,UAAU,SACV,YAAe,CACb,EAAK,MAAM,EACX,IAAe,EAAK,CACtB,CACD,CAAA,CAEJ,CAAA,CACE,IAEL,EAACA,EAAgB,MAAjB,CAAuB,QAAA,GACrB,SAAA,EAAC,EAAD,CAAa,UAAU,0BAA4B,CAAA,CAC9B,CAAA,CAChB,GACc,CAAA,CACH,GACJ,CAAA,CAE1B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Popover } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/popover.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Floating panel built on Radix UI's Popover primitives, anchored to a trigger element with animated open/close transitions.
|
|
@@ -22,29 +21,15 @@ import { Popover } from "radix-ui";
|
|
|
22
21
|
* </Popover>
|
|
23
22
|
* ```
|
|
24
23
|
*/
|
|
25
|
-
declare function Popover$1({
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof Popover.Root>): import("react").JSX.Element;
|
|
24
|
+
declare function Popover$1({ ...props }: React.ComponentProps<typeof Popover.Root>): import("react").JSX.Element;
|
|
28
25
|
/** Element that opens or closes the popover on click; use `asChild` to render a custom trigger element. */
|
|
29
|
-
declare function PopoverTrigger({
|
|
30
|
-
...props
|
|
31
|
-
}: React.ComponentProps<typeof Popover.Trigger>): import("react").JSX.Element;
|
|
26
|
+
declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof Popover.Trigger>): import("react").JSX.Element;
|
|
32
27
|
/** Floating content panel rendered in a portal, matching the trigger width and animated on open/close. */
|
|
33
|
-
declare function PopoverContent({
|
|
34
|
-
className,
|
|
35
|
-
align,
|
|
36
|
-
sideOffset,
|
|
37
|
-
...props
|
|
38
|
-
}: React.ComponentProps<typeof Popover.Content>): import("react").JSX.Element;
|
|
28
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof Popover.Content>): import("react").JSX.Element;
|
|
39
29
|
/** Optional anchor element that overrides the trigger as the popover's positioning reference point. */
|
|
40
|
-
declare function PopoverAnchor({
|
|
41
|
-
...props
|
|
42
|
-
}: React.ComponentProps<typeof Popover.Anchor>): import("react").JSX.Element;
|
|
30
|
+
declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof Popover.Anchor>): import("react").JSX.Element;
|
|
43
31
|
/** Close button pre-positioned at the top-right corner of `PopoverContent` using the shared `CloseButton` primitive. */
|
|
44
|
-
declare function PopoverClose({
|
|
45
|
-
className,
|
|
46
|
-
...props
|
|
47
|
-
}: React.ComponentProps<typeof Popover.Close>): import("react").JSX.Element;
|
|
32
|
+
declare function PopoverClose({ className, ...props }: React.ComponentProps<typeof Popover.Close>): import("react").JSX.Element;
|
|
48
33
|
//#endregion
|
|
49
34
|
export { PopoverTrigger as a, PopoverContent as i, PopoverAnchor as n, PopoverClose as r, Popover$1 as t };
|
|
50
|
-
//# sourceMappingURL=popover-
|
|
35
|
+
//# sourceMappingURL=popover-qfF3o0zL.d.cts.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Popover } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/popover.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Floating panel built on Radix UI's Popover primitives, anchored to a trigger element with animated open/close transitions.
|
|
@@ -22,29 +21,15 @@ import { Popover } from "radix-ui";
|
|
|
22
21
|
* </Popover>
|
|
23
22
|
* ```
|
|
24
23
|
*/
|
|
25
|
-
declare function Popover$1({
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof Popover.Root>): import("react").JSX.Element;
|
|
24
|
+
declare function Popover$1({ ...props }: React.ComponentProps<typeof Popover.Root>): import("react").JSX.Element;
|
|
28
25
|
/** Element that opens or closes the popover on click; use `asChild` to render a custom trigger element. */
|
|
29
|
-
declare function PopoverTrigger({
|
|
30
|
-
...props
|
|
31
|
-
}: React.ComponentProps<typeof Popover.Trigger>): import("react").JSX.Element;
|
|
26
|
+
declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof Popover.Trigger>): import("react").JSX.Element;
|
|
32
27
|
/** Floating content panel rendered in a portal, matching the trigger width and animated on open/close. */
|
|
33
|
-
declare function PopoverContent({
|
|
34
|
-
className,
|
|
35
|
-
align,
|
|
36
|
-
sideOffset,
|
|
37
|
-
...props
|
|
38
|
-
}: React.ComponentProps<typeof Popover.Content>): import("react").JSX.Element;
|
|
28
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof Popover.Content>): import("react").JSX.Element;
|
|
39
29
|
/** Optional anchor element that overrides the trigger as the popover's positioning reference point. */
|
|
40
|
-
declare function PopoverAnchor({
|
|
41
|
-
...props
|
|
42
|
-
}: React.ComponentProps<typeof Popover.Anchor>): import("react").JSX.Element;
|
|
30
|
+
declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof Popover.Anchor>): import("react").JSX.Element;
|
|
43
31
|
/** Close button pre-positioned at the top-right corner of `PopoverContent` using the shared `CloseButton` primitive. */
|
|
44
|
-
declare function PopoverClose({
|
|
45
|
-
className,
|
|
46
|
-
...props
|
|
47
|
-
}: React.ComponentProps<typeof Popover.Close>): import("react").JSX.Element;
|
|
32
|
+
declare function PopoverClose({ className, ...props }: React.ComponentProps<typeof Popover.Close>): import("react").JSX.Element;
|
|
48
33
|
//#endregion
|
|
49
34
|
export { PopoverTrigger as a, PopoverContent as i, PopoverAnchor as n, PopoverClose as r, Popover$1 as t };
|
|
50
|
-
//# sourceMappingURL=popover-
|
|
35
|
+
//# sourceMappingURL=popover-qfF3o0zL.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-allocation-treemap-Bn0X4wb6.cjs","names":["formatCompactNumber","getChartColor","ChartContainer","Treemap","ChartTooltip","ChartTooltipContent"],"sources":["../packages/components/features/charts/components/portfolio-allocation-treemap.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 type { TreemapNode } from 'recharts';\nimport { Treemap } from 'recharts';\nimport type { BaseChartProps, PortfolioHolding } from '../types';\nimport { formatCompactNumber, getChartColor } from '../utils';\n\nexport type PortfolioAllocationTreemapProps = BaseChartProps & {\n data: PortfolioHolding[];\n valueFormatter?: (value: number) => string;\n /** Shows the holding name and formatted value inside each rect when it fits. Defaults to `true`. */\n showLabels?: boolean;\n};\n\nconst toKey = (holding: PortfolioHolding): string => holding.key || holding.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\n\n/**\n * A treemap for portfolio holdings / asset allocation, sized by weight — clearer than a donut\n * once there are more than a handful of positions.\n *\n * @example\n * ```tsx\n * import { PortfolioAllocationTreemap } from '@customafk/lunas-ui/features/charts';\n *\n * <PortfolioAllocationTreemap\n * data={[\n * { name: 'AAPL', value: 24000 },\n * { name: 'MSFT', value: 18500 },\n * { name: 'Bonds', value: 12000 },\n * ]}\n * />\n * ```\n */\nexport const PortfolioAllocationTreemap = ({\n data,\n valueFormatter = formatCompactNumber,\n showLabels = true,\n className,\n animate = true,\n height,\n}: PortfolioAllocationTreemapProps) => {\n const { chartData, config } = useMemo(() => {\n const entries = data.map((holding, index) => ({\n ...holding,\n key: toKey(holding),\n fill: holding.color || getChartColor(index),\n }));\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data]);\n\n const renderContent = (node: TreemapNode) => {\n if (node.depth !== 1) return <g />;\n const holding = chartData.find(entry => entry.key === node.name);\n const fitsLabel = showLabels && node.width >= 36 && node.height >= 24;\n\n return (\n <g>\n <rect x={node.x} y={node.y} width={node.width} height={node.height} fill={holding?.fill} stroke=\"var(--background)\" />\n {fitsLabel && (\n <text x={node.x + 6} y={node.y + 16} className=\"fill-white font-medium text-xs\">\n {holding?.name}\n </text>\n )}\n {fitsLabel && node.height > 40 && (\n <text x={node.x + 6} y={node.y + 32} className=\"fill-white/80 font-number text-[11px]\">\n {valueFormatter(node.value)}\n </text>\n )}\n </g>\n );\n };\n\n return (\n <ChartContainer\n data-slot=\"portfolio-allocation-treemap\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <Treemap data={chartData} dataKey=\"value\" nameKey=\"key\" isAnimationActive={animate} content={renderContent}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel formatter={value => valueFormatter(Number(value))} />} />\n </Treemap>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAoBA,MAAM,EAAS,GAAsC,EAAQ,KAAO,EAAQ,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EAmB5G,GAA8B,CACzC,OACA,iBAAiBA,EAAAA,oBACjB,aAAa,GACb,YACA,UAAU,GACV,YACqC,CACrC,GAAM,CAAE,YAAW,WAAA,EAAA,EAAA,QAAA,KAAyB,CAC1C,IAAM,EAAU,EAAK,KAAK,EAAS,KAAW,CAC5C,GAAG,EACH,IAAK,EAAM,CAAO,EAClB,KAAM,EAAQ,OAASC,EAAAA,cAAc,CAAK,CAC5C,EAAE,EAEF,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,CAAI,CAAC,EAwBT,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,+BACF,SACR,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,
|
|
1
|
+
{"version":3,"file":"portfolio-allocation-treemap-Bn0X4wb6.cjs","names":["formatCompactNumber","getChartColor","ChartContainer","Treemap","ChartTooltip","ChartTooltipContent"],"sources":["../packages/components/features/charts/components/portfolio-allocation-treemap.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 type { TreemapNode } from 'recharts';\nimport { Treemap } from 'recharts';\nimport type { BaseChartProps, PortfolioHolding } from '../types';\nimport { formatCompactNumber, getChartColor } from '../utils';\n\nexport type PortfolioAllocationTreemapProps = BaseChartProps & {\n data: PortfolioHolding[];\n valueFormatter?: (value: number) => string;\n /** Shows the holding name and formatted value inside each rect when it fits. Defaults to `true`. */\n showLabels?: boolean;\n};\n\nconst toKey = (holding: PortfolioHolding): string => holding.key || holding.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\n\n/**\n * A treemap for portfolio holdings / asset allocation, sized by weight — clearer than a donut\n * once there are more than a handful of positions.\n *\n * @example\n * ```tsx\n * import { PortfolioAllocationTreemap } from '@customafk/lunas-ui/features/charts';\n *\n * <PortfolioAllocationTreemap\n * data={[\n * { name: 'AAPL', value: 24000 },\n * { name: 'MSFT', value: 18500 },\n * { name: 'Bonds', value: 12000 },\n * ]}\n * />\n * ```\n */\nexport const PortfolioAllocationTreemap = ({\n data,\n valueFormatter = formatCompactNumber,\n showLabels = true,\n className,\n animate = true,\n height,\n}: PortfolioAllocationTreemapProps) => {\n const { chartData, config } = useMemo(() => {\n const entries = data.map((holding, index) => ({\n ...holding,\n key: toKey(holding),\n fill: holding.color || getChartColor(index),\n }));\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data]);\n\n const renderContent = (node: TreemapNode) => {\n if (node.depth !== 1) return <g />;\n const holding = chartData.find(entry => entry.key === node.name);\n const fitsLabel = showLabels && node.width >= 36 && node.height >= 24;\n\n return (\n <g>\n <rect x={node.x} y={node.y} width={node.width} height={node.height} fill={holding?.fill} stroke=\"var(--background)\" />\n {fitsLabel && (\n <text x={node.x + 6} y={node.y + 16} className=\"fill-white font-medium text-xs\">\n {holding?.name}\n </text>\n )}\n {fitsLabel && node.height > 40 && (\n <text x={node.x + 6} y={node.y + 32} className=\"fill-white/80 font-number text-[11px]\">\n {valueFormatter(node.value)}\n </text>\n )}\n </g>\n );\n };\n\n return (\n <ChartContainer\n data-slot=\"portfolio-allocation-treemap\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <Treemap data={chartData} dataKey=\"value\" nameKey=\"key\" isAnimationActive={animate} content={renderContent}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel formatter={value => valueFormatter(Number(value))} />} />\n </Treemap>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAoBA,MAAM,EAAS,GAAsC,EAAQ,KAAO,EAAQ,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EAmB5G,GAA8B,CACzC,OACA,iBAAiBA,EAAAA,oBACjB,aAAa,GACb,YACA,UAAU,GACV,YACqC,CACrC,GAAM,CAAE,YAAW,WAAA,EAAA,EAAA,QAAA,KAAyB,CAC1C,IAAM,EAAU,EAAK,KAAK,EAAS,KAAW,CAC5C,GAAG,EACH,IAAK,EAAM,CAAO,EAClB,KAAM,EAAQ,OAASC,EAAAA,cAAc,CAAK,CAC5C,EAAE,EAEF,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,CAAI,CAAC,EAwBT,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,+BACF,SACR,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,EAE5D,UAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,QAAD,CAAS,KAAM,EAAW,QAAQ,QAAQ,QAAQ,MAAM,kBAAmB,EAAS,QA7BjE,GAAsB,CAC3C,GAAI,EAAK,QAAU,EAAG,OAAO,EAAA,EAAA,IAAA,CAAC,IAAD,CAAI,CAAA,EACjC,IAAM,EAAU,EAAU,KAAK,GAAS,EAAM,MAAQ,EAAK,IAAI,EACzD,EAAY,GAAc,EAAK,OAAS,IAAM,EAAK,QAAU,GAEnE,OACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,EAAG,EAAK,EAAG,EAAG,EAAK,EAAG,MAAO,EAAK,MAAO,OAAQ,EAAK,OAAQ,KAAM,GAAS,KAAM,OAAO,mBAAqB,CAAA,EACpH,IACC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,EAAG,EAAK,EAAI,EAAG,EAAG,EAAK,EAAI,GAAI,UAAU,iCAC5C,SAAA,GAAS,IACN,CAAA,EAEP,GAAa,EAAK,OAAS,KAC1B,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,EAAG,EAAK,EAAI,EAAG,EAAG,EAAK,EAAI,GAAI,UAAU,wCAC5C,SAAA,EAAe,EAAK,KAAK,CACtB,CAAA,CAEP,CAAA,CAAA,CAEP,EAUM,UAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAc,SAAS,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CAAqB,QAAQ,MAAM,UAAA,GAAU,UAAW,GAAS,EAAe,OAAO,CAAK,CAAC,CAAI,CAAA,CAAI,CAAA,CACrH,CAAA,CACK,CAAA,CAEpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-allocation-treemap-Cb9Kidrl.mjs","names":[],"sources":["../packages/components/features/charts/components/portfolio-allocation-treemap.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 type { TreemapNode } from 'recharts';\nimport { Treemap } from 'recharts';\nimport type { BaseChartProps, PortfolioHolding } from '../types';\nimport { formatCompactNumber, getChartColor } from '../utils';\n\nexport type PortfolioAllocationTreemapProps = BaseChartProps & {\n data: PortfolioHolding[];\n valueFormatter?: (value: number) => string;\n /** Shows the holding name and formatted value inside each rect when it fits. Defaults to `true`. */\n showLabels?: boolean;\n};\n\nconst toKey = (holding: PortfolioHolding): string => holding.key || holding.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\n\n/**\n * A treemap for portfolio holdings / asset allocation, sized by weight — clearer than a donut\n * once there are more than a handful of positions.\n *\n * @example\n * ```tsx\n * import { PortfolioAllocationTreemap } from '@customafk/lunas-ui/features/charts';\n *\n * <PortfolioAllocationTreemap\n * data={[\n * { name: 'AAPL', value: 24000 },\n * { name: 'MSFT', value: 18500 },\n * { name: 'Bonds', value: 12000 },\n * ]}\n * />\n * ```\n */\nexport const PortfolioAllocationTreemap = ({\n data,\n valueFormatter = formatCompactNumber,\n showLabels = true,\n className,\n animate = true,\n height,\n}: PortfolioAllocationTreemapProps) => {\n const { chartData, config } = useMemo(() => {\n const entries = data.map((holding, index) => ({\n ...holding,\n key: toKey(holding),\n fill: holding.color || getChartColor(index),\n }));\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data]);\n\n const renderContent = (node: TreemapNode) => {\n if (node.depth !== 1) return <g />;\n const holding = chartData.find(entry => entry.key === node.name);\n const fitsLabel = showLabels && node.width >= 36 && node.height >= 24;\n\n return (\n <g>\n <rect x={node.x} y={node.y} width={node.width} height={node.height} fill={holding?.fill} stroke=\"var(--background)\" />\n {fitsLabel && (\n <text x={node.x + 6} y={node.y + 16} className=\"fill-white font-medium text-xs\">\n {holding?.name}\n </text>\n )}\n {fitsLabel && node.height > 40 && (\n <text x={node.x + 6} y={node.y + 32} className=\"fill-white/80 font-number text-[11px]\">\n {valueFormatter(node.value)}\n </text>\n )}\n </g>\n );\n };\n\n return (\n <ChartContainer\n data-slot=\"portfolio-allocation-treemap\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <Treemap data={chartData} dataKey=\"value\" nameKey=\"key\" isAnimationActive={animate} content={renderContent}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel formatter={value => valueFormatter(Number(value))} />} />\n </Treemap>\n </ChartContainer>\n );\n};\n"],"mappings":"yVAoBA,MAAM,EAAS,GAAsC,EAAQ,KAAO,EAAQ,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EAmB5G,GAA8B,CACzC,OACA,iBAAiB,EACjB,aAAa,GACb,YACA,UAAU,GACV,YACqC,CACrC,GAAM,CAAE,YAAW,UAAW,MAAc,CAC1C,IAAM,EAAU,EAAK,KAAK,EAAS,KAAW,CAC5C,GAAG,EACH,IAAK,EAAM,CAAO,EAClB,KAAM,EAAQ,OAAS,EAAc,CAAK,CAC5C,EAAE,EAEF,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,CAAI,CAAC,EAwBT,OACE,EAAC,EAAD,CACE,YAAU,+BACF,SACR,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,
|
|
1
|
+
{"version":3,"file":"portfolio-allocation-treemap-Cb9Kidrl.mjs","names":[],"sources":["../packages/components/features/charts/components/portfolio-allocation-treemap.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 type { TreemapNode } from 'recharts';\nimport { Treemap } from 'recharts';\nimport type { BaseChartProps, PortfolioHolding } from '../types';\nimport { formatCompactNumber, getChartColor } from '../utils';\n\nexport type PortfolioAllocationTreemapProps = BaseChartProps & {\n data: PortfolioHolding[];\n valueFormatter?: (value: number) => string;\n /** Shows the holding name and formatted value inside each rect when it fits. Defaults to `true`. */\n showLabels?: boolean;\n};\n\nconst toKey = (holding: PortfolioHolding): string => holding.key || holding.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\n\n/**\n * A treemap for portfolio holdings / asset allocation, sized by weight — clearer than a donut\n * once there are more than a handful of positions.\n *\n * @example\n * ```tsx\n * import { PortfolioAllocationTreemap } from '@customafk/lunas-ui/features/charts';\n *\n * <PortfolioAllocationTreemap\n * data={[\n * { name: 'AAPL', value: 24000 },\n * { name: 'MSFT', value: 18500 },\n * { name: 'Bonds', value: 12000 },\n * ]}\n * />\n * ```\n */\nexport const PortfolioAllocationTreemap = ({\n data,\n valueFormatter = formatCompactNumber,\n showLabels = true,\n className,\n animate = true,\n height,\n}: PortfolioAllocationTreemapProps) => {\n const { chartData, config } = useMemo(() => {\n const entries = data.map((holding, index) => ({\n ...holding,\n key: toKey(holding),\n fill: holding.color || getChartColor(index),\n }));\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data]);\n\n const renderContent = (node: TreemapNode) => {\n if (node.depth !== 1) return <g />;\n const holding = chartData.find(entry => entry.key === node.name);\n const fitsLabel = showLabels && node.width >= 36 && node.height >= 24;\n\n return (\n <g>\n <rect x={node.x} y={node.y} width={node.width} height={node.height} fill={holding?.fill} stroke=\"var(--background)\" />\n {fitsLabel && (\n <text x={node.x + 6} y={node.y + 16} className=\"fill-white font-medium text-xs\">\n {holding?.name}\n </text>\n )}\n {fitsLabel && node.height > 40 && (\n <text x={node.x + 6} y={node.y + 32} className=\"fill-white/80 font-number text-[11px]\">\n {valueFormatter(node.value)}\n </text>\n )}\n </g>\n );\n };\n\n return (\n <ChartContainer\n data-slot=\"portfolio-allocation-treemap\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <Treemap data={chartData} dataKey=\"value\" nameKey=\"key\" isAnimationActive={animate} content={renderContent}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel formatter={value => valueFormatter(Number(value))} />} />\n </Treemap>\n </ChartContainer>\n );\n};\n"],"mappings":"yVAoBA,MAAM,EAAS,GAAsC,EAAQ,KAAO,EAAQ,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EAmB5G,GAA8B,CACzC,OACA,iBAAiB,EACjB,aAAa,GACb,YACA,UAAU,GACV,YACqC,CACrC,GAAM,CAAE,YAAW,UAAW,MAAc,CAC1C,IAAM,EAAU,EAAK,KAAK,EAAS,KAAW,CAC5C,GAAG,EACH,IAAK,EAAM,CAAO,EAClB,KAAM,EAAQ,OAAS,EAAc,CAAK,CAC5C,EAAE,EAEF,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,CAAI,CAAC,EAwBT,OACE,EAAC,EAAD,CACE,YAAU,+BACF,SACR,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,EAE5D,SAAA,EAAC,EAAD,CAAS,KAAM,EAAW,QAAQ,QAAQ,QAAQ,MAAM,kBAAmB,EAAS,QA7BjE,GAAsB,CAC3C,GAAI,EAAK,QAAU,EAAG,OAAO,EAAC,IAAD,CAAI,CAAA,EACjC,IAAM,EAAU,EAAU,KAAK,GAAS,EAAM,MAAQ,EAAK,IAAI,EACzD,EAAY,GAAc,EAAK,OAAS,IAAM,EAAK,QAAU,GAEnE,OACE,EAAC,IAAD,CAAA,SAAA,CACE,EAAC,OAAD,CAAM,EAAG,EAAK,EAAG,EAAG,EAAK,EAAG,MAAO,EAAK,MAAO,OAAQ,EAAK,OAAQ,KAAM,GAAS,KAAM,OAAO,mBAAqB,CAAA,EACpH,GACC,EAAC,OAAD,CAAM,EAAG,EAAK,EAAI,EAAG,EAAG,EAAK,EAAI,GAAI,UAAU,iCAC5C,SAAA,GAAS,IACN,CAAA,EAEP,GAAa,EAAK,OAAS,IAC1B,EAAC,OAAD,CAAM,EAAG,EAAK,EAAI,EAAG,EAAG,EAAK,EAAI,GAAI,UAAU,wCAC5C,SAAA,EAAe,EAAK,KAAK,CACtB,CAAA,CAEP,CAAA,CAAA,CAEP,EAUM,SAAA,EAAC,EAAD,CAAc,QAAS,EAAC,EAAD,CAAqB,QAAQ,MAAM,UAAA,GAAU,UAAW,GAAS,EAAe,OAAO,CAAK,CAAC,CAAI,CAAA,CAAI,CAAA,CACrH,CAAA,CACK,CAAA,CAEpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-range-area-chart-BW6RQb_9.cjs","names":["toDateLabel","ChartContainer","ComposedChart","CartesianGrid","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Area","Line"],"sources":["../packages/components/features/charts/components/price-range-area-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 { Area, CartesianGrid, ComposedChart, Line, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { toDateLabel } from '../utils';\n\nexport type PriceRangeAreaChartProps = BaseChartProps & {\n /** Only `date`, `high`, `low`, and `close` are used; pass the same rows given to `CandlestickChart`. */\n data: Array<Pick<OHLCPoint, 'date' | 'high' | 'low' | 'close'>>;\n /** Close-price series label. Defaults to `'Close'`. */\n label?: string;\n /** High-low band label. Defaults to `'Range'`. */\n rangeLabel?: string;\n color?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A shaded high-low trading-range band with the close price drawn on top — the daily range is\n * visible at a glance alongside the closing trend.\n *\n * @example\n * ```tsx\n * import { PriceRangeAreaChart } from '@customafk/lunas-ui/features/charts';\n *\n * <PriceRangeAreaChart\n * data={[{ date: '2026-06-01', high: 146.2, low: 141.8, close: 144.9 }]}\n * />\n * ```\n */\nexport const PriceRangeAreaChart = ({\n data,\n label = 'Close',\n rangeLabel = 'Range',\n color = 'var(--chart-1)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: PriceRangeAreaChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color }, rangeSpan: { label: rangeLabel, color } }), [label, color, rangeLabel]);\n\n const chartData = useMemo(() => data.map(point => ({ ...point, rangeSpan: point.high - point.low })), [data]);\n\n return (\n <ChartContainer\n data-slot=\"price-range-area-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={chartData} 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={['auto', 'auto']} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(value, name, item) => {\n if (name !== 'close') return null;\n const point = item.payload as { high: number; low: number };\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n {config.close?.label} <span className=\"font-medium font-number text-text-positive-strong\">{valueFormatter(Number(value))}</span>\n </span>\n <span className=\"text-[11px] text-muted\">\n {valueFormatter(point.low)} – {valueFormatter(point.high)}\n </span>\n </div>\n );\n }}\n />\n }\n />\n <Area dataKey=\"low\" stackId=\"range\" stroke=\"none\" fill=\"transparent\" isAnimationActive={animate} />\n <Area dataKey=\"rangeSpan\" stackId=\"range\" stroke=\"none\" fill={color} fillOpacity={0.15} isAnimationActive={animate} />\n <Line type=\"natural\" dataKey=\"close\" stroke={color} strokeWidth={2} dot={false} isAnimationActive={animate} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAsCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,aAAa,QACb,QAAQ,iBACR,iBAAiB,GAAS,EAAM,eAAe,OAAO,EACtD,gBAAgBA,EAAAA,YAChB,WAAW,GACX,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,GAAA,EAAA,EAAA,QAAA,MAAqC,CAAE,MAAO,CAAE,QAAO,OAAM,EAAG,UAAW,CAAE,MAAO,EAAY,OAAM,CAAE,GAAI,CAAC,EAAO,EAAO,CAAU,CAAC,EAEtI,GAAA,EAAA,EAAA,QAAA,KAA0B,EAAK,IAAI,IAAU,CAAE,GAAG,EAAO,UAAW,EAAM,KAAO,EAAM,GAAI,EAAE,EAAG,CAAC,CAAI,CAAC,EAE5G,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,yBACF,SACR,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,
|
|
1
|
+
{"version":3,"file":"price-range-area-chart-BW6RQb_9.cjs","names":["toDateLabel","ChartContainer","ComposedChart","CartesianGrid","XAxis","YAxis","ChartTooltip","ChartTooltipContent","Area","Line"],"sources":["../packages/components/features/charts/components/price-range-area-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 { Area, CartesianGrid, ComposedChart, Line, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { toDateLabel } from '../utils';\n\nexport type PriceRangeAreaChartProps = BaseChartProps & {\n /** Only `date`, `high`, `low`, and `close` are used; pass the same rows given to `CandlestickChart`. */\n data: Array<Pick<OHLCPoint, 'date' | 'high' | 'low' | 'close'>>;\n /** Close-price series label. Defaults to `'Close'`. */\n label?: string;\n /** High-low band label. Defaults to `'Range'`. */\n rangeLabel?: string;\n color?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A shaded high-low trading-range band with the close price drawn on top — the daily range is\n * visible at a glance alongside the closing trend.\n *\n * @example\n * ```tsx\n * import { PriceRangeAreaChart } from '@customafk/lunas-ui/features/charts';\n *\n * <PriceRangeAreaChart\n * data={[{ date: '2026-06-01', high: 146.2, low: 141.8, close: 144.9 }]}\n * />\n * ```\n */\nexport const PriceRangeAreaChart = ({\n data,\n label = 'Close',\n rangeLabel = 'Range',\n color = 'var(--chart-1)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: PriceRangeAreaChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color }, rangeSpan: { label: rangeLabel, color } }), [label, color, rangeLabel]);\n\n const chartData = useMemo(() => data.map(point => ({ ...point, rangeSpan: point.high - point.low })), [data]);\n\n return (\n <ChartContainer\n data-slot=\"price-range-area-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={chartData} 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={['auto', 'auto']} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(value, name, item) => {\n if (name !== 'close') return null;\n const point = item.payload as { high: number; low: number };\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n {config.close?.label} <span className=\"font-medium font-number text-text-positive-strong\">{valueFormatter(Number(value))}</span>\n </span>\n <span className=\"text-[11px] text-muted\">\n {valueFormatter(point.low)} – {valueFormatter(point.high)}\n </span>\n </div>\n );\n }}\n />\n }\n />\n <Area dataKey=\"low\" stackId=\"range\" stroke=\"none\" fill=\"transparent\" isAnimationActive={animate} />\n <Area dataKey=\"rangeSpan\" stackId=\"range\" stroke=\"none\" fill={color} fillOpacity={0.15} isAnimationActive={animate} />\n <Line type=\"natural\" dataKey=\"close\" stroke={color} strokeWidth={2} dot={false} isAnimationActive={animate} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMAsCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,aAAa,QACb,QAAQ,iBACR,iBAAiB,GAAS,EAAM,eAAe,OAAO,EACtD,gBAAgBA,EAAAA,YAChB,WAAW,GACX,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,GAAA,EAAA,EAAA,QAAA,MAAqC,CAAE,MAAO,CAAE,QAAO,OAAM,EAAG,UAAW,CAAE,MAAO,EAAY,OAAM,CAAE,GAAI,CAAC,EAAO,EAAO,CAAU,CAAC,EAEtI,GAAA,EAAA,EAAA,QAAA,KAA0B,EAAK,IAAI,IAAU,CAAE,GAAG,EAAO,UAAW,EAAM,KAAO,EAAM,GAAI,EAAE,EAAG,CAAC,CAAI,CAAC,EAE5G,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,yBACF,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,CAAe,KAAM,EAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,GAAI,OAAQ,EAAG,KAAM,EAAG,EAAjF,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,CAAC,OAAQ,MAAM,EAAG,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAI,cAAe,CAAiB,CAAA,GAC7H,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CACE,OAAQ,GACR,SACE,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CACE,gBAAiB,EAAG,IAAY,CAC9B,IAAM,EAAO,IAAU,EAAE,EAAE,SAAS,KACpC,OAAO,EAAO,EAAc,CAAI,EAAI,IACtC,EACA,WAAY,EAAO,EAAM,IAAS,CAChC,GAAI,IAAS,QAAS,OAAO,KAC7B,IAAM,EAAQ,EAAK,QACnB,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,eAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,aAAhB,SAAA,CACG,EAAO,OAAO,MAAM,KAAC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oDAAqD,SAAA,EAAe,OAAO,CAAK,CAAC,CAAQ,CAAA,CAC3H,CACN,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,yBAAhB,SAAA,CACG,EAAe,EAAM,GAAG,EAAE,MAAI,EAAe,EAAM,IAAI,CACpD,CACH,CAAA,CAAA,GAET,CACD,CAAA,CAEJ,CAAA,GACD,EAAA,EAAA,IAAA,CAACC,EAAAA,KAAD,CAAM,QAAQ,MAAM,QAAQ,QAAQ,OAAO,OAAO,KAAK,cAAc,kBAAmB,CAAU,CAAA,GAClG,EAAA,EAAA,IAAA,CAACA,EAAAA,KAAD,CAAM,QAAQ,YAAY,QAAQ,QAAQ,OAAO,OAAO,KAAM,EAAO,YAAa,IAAM,kBAAmB,CAAU,CAAA,GACrH,EAAA,EAAA,IAAA,CAACC,EAAAA,KAAD,CAAM,KAAK,UAAU,QAAQ,QAAQ,OAAQ,EAAO,YAAa,EAAG,IAAK,GAAO,kBAAmB,CAAU,CAAA,CAChG,GACD,CAAA,CAEpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-range-area-chart-Dy01mhWJ.mjs","names":[],"sources":["../packages/components/features/charts/components/price-range-area-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 { Area, CartesianGrid, ComposedChart, Line, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { toDateLabel } from '../utils';\n\nexport type PriceRangeAreaChartProps = BaseChartProps & {\n /** Only `date`, `high`, `low`, and `close` are used; pass the same rows given to `CandlestickChart`. */\n data: Array<Pick<OHLCPoint, 'date' | 'high' | 'low' | 'close'>>;\n /** Close-price series label. Defaults to `'Close'`. */\n label?: string;\n /** High-low band label. Defaults to `'Range'`. */\n rangeLabel?: string;\n color?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A shaded high-low trading-range band with the close price drawn on top — the daily range is\n * visible at a glance alongside the closing trend.\n *\n * @example\n * ```tsx\n * import { PriceRangeAreaChart } from '@customafk/lunas-ui/features/charts';\n *\n * <PriceRangeAreaChart\n * data={[{ date: '2026-06-01', high: 146.2, low: 141.8, close: 144.9 }]}\n * />\n * ```\n */\nexport const PriceRangeAreaChart = ({\n data,\n label = 'Close',\n rangeLabel = 'Range',\n color = 'var(--chart-1)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: PriceRangeAreaChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color }, rangeSpan: { label: rangeLabel, color } }), [label, color, rangeLabel]);\n\n const chartData = useMemo(() => data.map(point => ({ ...point, rangeSpan: point.high - point.low })), [data]);\n\n return (\n <ChartContainer\n data-slot=\"price-range-area-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={chartData} 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={['auto', 'auto']} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(value, name, item) => {\n if (name !== 'close') return null;\n const point = item.payload as { high: number; low: number };\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n {config.close?.label} <span className=\"font-medium font-number text-text-positive-strong\">{valueFormatter(Number(value))}</span>\n </span>\n <span className=\"text-[11px] text-muted\">\n {valueFormatter(point.low)} – {valueFormatter(point.high)}\n </span>\n </div>\n );\n }}\n />\n }\n />\n <Area dataKey=\"low\" stackId=\"range\" stroke=\"none\" fill=\"transparent\" isAnimationActive={animate} />\n <Area dataKey=\"rangeSpan\" stackId=\"range\" stroke=\"none\" fill={color} fillOpacity={0.15} isAnimationActive={animate} />\n <Line type=\"natural\" dataKey=\"close\" stroke={color} strokeWidth={2} dot={false} isAnimationActive={animate} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"iYAsCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,aAAa,QACb,QAAQ,iBACR,iBAAiB,GAAS,EAAM,eAAe,OAAO,EACtD,gBAAgB,EAChB,WAAW,GACX,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,EAAS,OAA4B,CAAE,MAAO,CAAE,QAAO,OAAM,EAAG,UAAW,CAAE,MAAO,EAAY,OAAM,CAAE,GAAI,CAAC,EAAO,EAAO,CAAU,CAAC,EAEtI,EAAY,MAAc,EAAK,IAAI,IAAU,CAAE,GAAG,EAAO,UAAW,EAAM,KAAO,EAAM,GAAI,EAAE,EAAG,CAAC,CAAI,CAAC,EAE5G,OACE,EAAC,EAAD,CACE,YAAU,yBACF,SACR,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,
|
|
1
|
+
{"version":3,"file":"price-range-area-chart-Dy01mhWJ.mjs","names":[],"sources":["../packages/components/features/charts/components/price-range-area-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 { Area, CartesianGrid, ComposedChart, Line, XAxis, YAxis } from 'recharts';\nimport type { BaseChartProps, OHLCPoint } from '../types';\nimport { toDateLabel } from '../utils';\n\nexport type PriceRangeAreaChartProps = BaseChartProps & {\n /** Only `date`, `high`, `low`, and `close` are used; pass the same rows given to `CandlestickChart`. */\n data: Array<Pick<OHLCPoint, 'date' | 'high' | 'low' | 'close'>>;\n /** Close-price series label. Defaults to `'Close'`. */\n label?: string;\n /** High-low band label. Defaults to `'Range'`. */\n rangeLabel?: string;\n color?: string;\n valueFormatter?: (value: number) => string;\n dateFormatter?: (date: string | Date) => string;\n showGrid?: boolean;\n};\n\n/**\n * A shaded high-low trading-range band with the close price drawn on top — the daily range is\n * visible at a glance alongside the closing trend.\n *\n * @example\n * ```tsx\n * import { PriceRangeAreaChart } from '@customafk/lunas-ui/features/charts';\n *\n * <PriceRangeAreaChart\n * data={[{ date: '2026-06-01', high: 146.2, low: 141.8, close: 144.9 }]}\n * />\n * ```\n */\nexport const PriceRangeAreaChart = ({\n data,\n label = 'Close',\n rangeLabel = 'Range',\n color = 'var(--chart-1)',\n valueFormatter = value => value.toLocaleString('en-US'),\n dateFormatter = toDateLabel,\n showGrid = true,\n className,\n animate = true,\n height,\n}: PriceRangeAreaChartProps) => {\n const config = useMemo<ChartConfig>(() => ({ close: { label, color }, rangeSpan: { label: rangeLabel, color } }), [label, color, rangeLabel]);\n\n const chartData = useMemo(() => data.map(point => ({ ...point, rangeSpan: point.high - point.low })), [data]);\n\n return (\n <ChartContainer\n data-slot=\"price-range-area-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <ComposedChart data={chartData} 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={['auto', 'auto']} tickLine={false} axisLine={false} tickMargin={8} width={64} tickFormatter={valueFormatter} />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n labelFormatter={(_, payload) => {\n const date = payload?.[0]?.payload?.date;\n return date ? dateFormatter(date) : null;\n }}\n formatter={(value, name, item) => {\n if (name !== 'close') return null;\n const point = item.payload as { high: number; low: number };\n return (\n <div className=\"grid gap-0.5\">\n <span className=\"text-muted\">\n {config.close?.label} <span className=\"font-medium font-number text-text-positive-strong\">{valueFormatter(Number(value))}</span>\n </span>\n <span className=\"text-[11px] text-muted\">\n {valueFormatter(point.low)} – {valueFormatter(point.high)}\n </span>\n </div>\n );\n }}\n />\n }\n />\n <Area dataKey=\"low\" stackId=\"range\" stroke=\"none\" fill=\"transparent\" isAnimationActive={animate} />\n <Area dataKey=\"rangeSpan\" stackId=\"range\" stroke=\"none\" fill={color} fillOpacity={0.15} isAnimationActive={animate} />\n <Line type=\"natural\" dataKey=\"close\" stroke={color} strokeWidth={2} dot={false} isAnimationActive={animate} />\n </ComposedChart>\n </ChartContainer>\n );\n};\n"],"mappings":"iYAsCA,MAAa,GAAuB,CAClC,OACA,QAAQ,QACR,aAAa,QACb,QAAQ,iBACR,iBAAiB,GAAS,EAAM,eAAe,OAAO,EACtD,gBAAgB,EAChB,WAAW,GACX,YACA,UAAU,GACV,YAC8B,CAC9B,IAAM,EAAS,OAA4B,CAAE,MAAO,CAAE,QAAO,OAAM,EAAG,UAAW,CAAE,MAAO,EAAY,OAAM,CAAE,GAAI,CAAC,EAAO,EAAO,CAAU,CAAC,EAEtI,EAAY,MAAc,EAAK,IAAI,IAAU,CAAE,GAAG,EAAO,UAAW,EAAM,KAAO,EAAM,GAAI,EAAE,EAAG,CAAC,CAAI,CAAC,EAE5G,OACE,EAAC,EAAD,CACE,YAAU,yBACF,SACR,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,EAE5D,SAAA,EAAC,EAAD,CAAe,KAAM,EAAW,OAAQ,CAAE,IAAK,EAAG,MAAO,GAAI,OAAQ,EAAG,KAAM,EAAG,EAAjF,SAAA,CACG,GAAY,EAAC,EAAD,CAAe,SAAU,EAAQ,CAAA,EAC9C,EAAC,EAAD,CAAO,QAAQ,OAAO,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,cAAe,CAAgB,CAAA,EACtG,EAAC,EAAD,CAAO,OAAQ,CAAC,OAAQ,MAAM,EAAG,SAAU,GAAO,SAAU,GAAO,WAAY,EAAG,MAAO,GAAI,cAAe,CAAiB,CAAA,EAC7H,EAAC,EAAD,CACE,OAAQ,GACR,QACE,EAAC,EAAD,CACE,gBAAiB,EAAG,IAAY,CAC9B,IAAM,EAAO,IAAU,EAAE,EAAE,SAAS,KACpC,OAAO,EAAO,EAAc,CAAI,EAAI,IACtC,EACA,WAAY,EAAO,EAAM,IAAS,CAChC,GAAI,IAAS,QAAS,OAAO,KAC7B,IAAM,EAAQ,EAAK,QACnB,OACE,EAAC,MAAD,CAAK,UAAU,eAAf,SAAA,CACE,EAAC,OAAD,CAAM,UAAU,aAAhB,SAAA,CACG,EAAO,OAAO,MAAM,IAAC,EAAC,OAAD,CAAM,UAAU,oDAAqD,SAAA,EAAe,OAAO,CAAK,CAAC,CAAQ,CAAA,CAC3H,CACN,CAAA,EAAA,EAAC,OAAD,CAAM,UAAU,yBAAhB,SAAA,CACG,EAAe,EAAM,GAAG,EAAE,MAAI,EAAe,EAAM,IAAI,CACpD,CACH,CAAA,CAAA,GAET,CACD,CAAA,CAEJ,CAAA,EACD,EAAC,EAAD,CAAM,QAAQ,MAAM,QAAQ,QAAQ,OAAO,OAAO,KAAK,cAAc,kBAAmB,CAAU,CAAA,EAClG,EAAC,EAAD,CAAM,QAAQ,YAAY,QAAQ,QAAQ,OAAO,OAAO,KAAM,EAAO,YAAa,IAAM,kBAAmB,CAAU,CAAA,EACrH,EAAC,EAAD,CAAM,KAAK,UAAU,QAAQ,QAAQ,OAAQ,EAAO,YAAa,EAAG,IAAK,GAAO,kBAAmB,CAAU,CAAA,CAChG,GACD,CAAA,CAEpB"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
//#region packages/components/cards/product-card.d.ts
|
|
2
2
|
type Props = {
|
|
3
|
-
/** Unique identifier for the product. */
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
/** Unique identifier for the product. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** URL-friendly slug for the product. */
|
|
6
|
+
slug: string;
|
|
7
|
+
/** Display name of the product shown on the card. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** URL of the product's thumbnail image. */
|
|
10
|
+
thumbnail: string;
|
|
11
|
+
/** Regular price of the product in VND. */
|
|
12
|
+
price: number;
|
|
13
|
+
/** Optional sale / discounted price in VND. */
|
|
14
|
+
salePrice?: number;
|
|
15
|
+
/** Optional sale discount percentage (0–100). */
|
|
9
16
|
salePercentage?: number;
|
|
10
17
|
};
|
|
11
18
|
/**
|
|
@@ -27,4 +34,4 @@ type Props = {
|
|
|
27
34
|
declare const ProductCard: React.FC<Props>;
|
|
28
35
|
//#endregion
|
|
29
36
|
export { ProductCard as t };
|
|
30
|
-
//# sourceMappingURL=product-card-
|
|
37
|
+
//# sourceMappingURL=product-card-CYNh0CT5.d.cts.map
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
//#region packages/components/cards/product-card.d.ts
|
|
2
2
|
type Props = {
|
|
3
|
-
/** Unique identifier for the product. */
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
/** Unique identifier for the product. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** URL-friendly slug for the product. */
|
|
6
|
+
slug: string;
|
|
7
|
+
/** Display name of the product shown on the card. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** URL of the product's thumbnail image. */
|
|
10
|
+
thumbnail: string;
|
|
11
|
+
/** Regular price of the product in VND. */
|
|
12
|
+
price: number;
|
|
13
|
+
/** Optional sale / discounted price in VND. */
|
|
14
|
+
salePrice?: number;
|
|
15
|
+
/** Optional sale discount percentage (0–100). */
|
|
9
16
|
salePercentage?: number;
|
|
10
17
|
};
|
|
11
18
|
/**
|
|
@@ -27,4 +34,4 @@ type Props = {
|
|
|
27
34
|
declare const ProductCard: React.FC<Props>;
|
|
28
35
|
//#endregion
|
|
29
36
|
export { ProductCard as t };
|
|
30
|
-
//# sourceMappingURL=product-card-
|
|
37
|
+
//# sourceMappingURL=product-card-CYNh0CT5.d.mts.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Progress } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/progress.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* A horizontal progress bar that visually represents a completion percentage.
|
|
@@ -11,11 +10,7 @@ import { Progress } from "radix-ui";
|
|
|
11
10
|
* <Progress value={65} />
|
|
12
11
|
* ```
|
|
13
12
|
*/
|
|
14
|
-
declare function Progress$1({
|
|
15
|
-
className,
|
|
16
|
-
value,
|
|
17
|
-
...props
|
|
18
|
-
}: React.ComponentProps<typeof Progress.Root>): import("react").JSX.Element;
|
|
13
|
+
declare function Progress$1({ className, value, ...props }: React.ComponentProps<typeof Progress.Root>): import("react").JSX.Element;
|
|
19
14
|
//#endregion
|
|
20
15
|
export { Progress$1 as t };
|
|
21
|
-
//# sourceMappingURL=progress-
|
|
16
|
+
//# sourceMappingURL=progress-BpWaSlPG.d.cts.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Progress } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/progress.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* A horizontal progress bar that visually represents a completion percentage.
|
|
@@ -11,11 +10,7 @@ import { Progress } from "radix-ui";
|
|
|
11
10
|
* <Progress value={65} />
|
|
12
11
|
* ```
|
|
13
12
|
*/
|
|
14
|
-
declare function Progress$1({
|
|
15
|
-
className,
|
|
16
|
-
value,
|
|
17
|
-
...props
|
|
18
|
-
}: React.ComponentProps<typeof Progress.Root>): import("react").JSX.Element;
|
|
13
|
+
declare function Progress$1({ className, value, ...props }: React.ComponentProps<typeof Progress.Root>): import("react").JSX.Element;
|
|
19
14
|
//#endregion
|
|
20
15
|
export { Progress$1 as t };
|
|
21
|
-
//# sourceMappingURL=progress-
|
|
16
|
+
//# sourceMappingURL=progress-BpWaSlPG.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-display-DbfN7U8m.cjs","names":["UITableEmpty","Progress"],"sources":["../packages/components/features/tables/components/atoms/progress-display.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress } from '@/components/ui/progress';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableProgressDisplay} component. */\ntype Props = {\n /** Percentage value between 0 and 100; `null`/`undefined` renders an empty state. */\n value: number | null | undefined;\n /** When `true`, shows the numeric percentage next to the bar (default: `true`). */\n showLabel?: boolean;\n /**\n * Color thresholds applied to the progress indicator.\n * - `≥ successThreshold` → green\n * - `≥ warningThreshold` → yellow\n * - otherwise → red\n *\n * Defaults: `successThreshold = 70`, `warningThreshold = 40`.\n */\n successThreshold?: number;\n warningThreshold?: number;\n};\n\n/**\n * Renders a horizontal progress bar with an optional percentage label for a\n * table cell. The bar color shifts from red → yellow → green based on\n * configurable thresholds. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITableProgressDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableProgressDisplay value={75} />\n */\nexport const UITableProgressDisplay = memo(({ value, showLabel = true, successThreshold = 70, warningThreshold = 40 }: Props) => {\n if (value === null || value === undefined) return <UITableEmpty />;\n\n const clamped = Math.min(100, Math.max(0, value));\n\n const indicatorClass =\n clamped >= successThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-success'\n : clamped >= warningThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-warning'\n : '[&>[data-slot=progress-indicator]]:bg-danger';\n\n return (\n <div className=\"flex w-full min-w-24 items-center gap-x-2\">\n <Progress value={clamped} className={cn('flex-1', indicatorClass)} />\n {showLabel && <span className=\"w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums\">{clamped}%</span>}\n </div>\n );\n});\nUITableProgressDisplay.displayName = 'UITableProgressDisplay';\n"],"mappings":"0KAqCA,MAAa,GAAA,EAAA,EAAA,KAAA,EAA+B,CAAE,QAAO,YAAY,GAAM,mBAAmB,GAAI,mBAAmB,MAAgB,CAC/H,GAAI,GAAU,KAA6B,OAAO,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAe,CAAA,EAEjE,IAAM,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,CAAK,CAAC,EAShD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"progress-display-DbfN7U8m.cjs","names":["UITableEmpty","Progress"],"sources":["../packages/components/features/tables/components/atoms/progress-display.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress } from '@/components/ui/progress';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableProgressDisplay} component. */\ntype Props = {\n /** Percentage value between 0 and 100; `null`/`undefined` renders an empty state. */\n value: number | null | undefined;\n /** When `true`, shows the numeric percentage next to the bar (default: `true`). */\n showLabel?: boolean;\n /**\n * Color thresholds applied to the progress indicator.\n * - `≥ successThreshold` → green\n * - `≥ warningThreshold` → yellow\n * - otherwise → red\n *\n * Defaults: `successThreshold = 70`, `warningThreshold = 40`.\n */\n successThreshold?: number;\n warningThreshold?: number;\n};\n\n/**\n * Renders a horizontal progress bar with an optional percentage label for a\n * table cell. The bar color shifts from red → yellow → green based on\n * configurable thresholds. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITableProgressDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableProgressDisplay value={75} />\n */\nexport const UITableProgressDisplay = memo(({ value, showLabel = true, successThreshold = 70, warningThreshold = 40 }: Props) => {\n if (value === null || value === undefined) return <UITableEmpty />;\n\n const clamped = Math.min(100, Math.max(0, value));\n\n const indicatorClass =\n clamped >= successThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-success'\n : clamped >= warningThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-warning'\n : '[&>[data-slot=progress-indicator]]:bg-danger';\n\n return (\n <div className=\"flex w-full min-w-24 items-center gap-x-2\">\n <Progress value={clamped} className={cn('flex-1', indicatorClass)} />\n {showLabel && <span className=\"w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums\">{clamped}%</span>}\n </div>\n );\n});\nUITableProgressDisplay.displayName = 'UITableProgressDisplay';\n"],"mappings":"0KAqCA,MAAa,GAAA,EAAA,EAAA,KAAA,EAA+B,CAAE,QAAO,YAAY,GAAM,mBAAmB,GAAI,mBAAmB,MAAgB,CAC/H,GAAI,GAAU,KAA6B,OAAO,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAe,CAAA,EAEjE,IAAM,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,CAAK,CAAC,EAShD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,4CAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,SAAD,CAAU,MAAO,EAAS,WAAA,EAAA,EAAA,GAAA,CAAc,SAR1C,GAAW,EACP,gDACA,GAAW,EACT,gDACA,8CAI4D,CAAI,CAAA,EACnE,IAAa,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,mFAAhB,SAAA,CAAoG,EAAQ,GAAO,CAC9H,CAAA,CAAA,GAET,CAAC,EACD,EAAuB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-display-qgvclwy9.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/progress-display.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress } from '@/components/ui/progress';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableProgressDisplay} component. */\ntype Props = {\n /** Percentage value between 0 and 100; `null`/`undefined` renders an empty state. */\n value: number | null | undefined;\n /** When `true`, shows the numeric percentage next to the bar (default: `true`). */\n showLabel?: boolean;\n /**\n * Color thresholds applied to the progress indicator.\n * - `≥ successThreshold` → green\n * - `≥ warningThreshold` → yellow\n * - otherwise → red\n *\n * Defaults: `successThreshold = 70`, `warningThreshold = 40`.\n */\n successThreshold?: number;\n warningThreshold?: number;\n};\n\n/**\n * Renders a horizontal progress bar with an optional percentage label for a\n * table cell. The bar color shifts from red → yellow → green based on\n * configurable thresholds. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITableProgressDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableProgressDisplay value={75} />\n */\nexport const UITableProgressDisplay = memo(({ value, showLabel = true, successThreshold = 70, warningThreshold = 40 }: Props) => {\n if (value === null || value === undefined) return <UITableEmpty />;\n\n const clamped = Math.min(100, Math.max(0, value));\n\n const indicatorClass =\n clamped >= successThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-success'\n : clamped >= warningThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-warning'\n : '[&>[data-slot=progress-indicator]]:bg-danger';\n\n return (\n <div className=\"flex w-full min-w-24 items-center gap-x-2\">\n <Progress value={clamped} className={cn('flex-1', indicatorClass)} />\n {showLabel && <span className=\"w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums\">{clamped}%</span>}\n </div>\n );\n});\nUITableProgressDisplay.displayName = 'UITableProgressDisplay';\n"],"mappings":"0NAqCA,MAAa,EAAyB,GAAM,CAAE,QAAO,YAAY,GAAM,mBAAmB,GAAI,mBAAmB,MAAgB,CAC/H,GAAI,GAAU,KAA6B,OAAO,EAAC,EAAD,CAAe,CAAA,EAEjE,IAAM,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,CAAK,CAAC,EAShD,OACE,EAAC,MAAD,CAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"progress-display-qgvclwy9.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/progress-display.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Progress } from '@/components/ui/progress';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableProgressDisplay} component. */\ntype Props = {\n /** Percentage value between 0 and 100; `null`/`undefined` renders an empty state. */\n value: number | null | undefined;\n /** When `true`, shows the numeric percentage next to the bar (default: `true`). */\n showLabel?: boolean;\n /**\n * Color thresholds applied to the progress indicator.\n * - `≥ successThreshold` → green\n * - `≥ warningThreshold` → yellow\n * - otherwise → red\n *\n * Defaults: `successThreshold = 70`, `warningThreshold = 40`.\n */\n successThreshold?: number;\n warningThreshold?: number;\n};\n\n/**\n * Renders a horizontal progress bar with an optional percentage label for a\n * table cell. The bar color shifts from red → yellow → green based on\n * configurable thresholds. Renders {@link UITableEmpty} when `value` is absent.\n *\n * @example\n * import { UITableProgressDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableProgressDisplay value={75} />\n */\nexport const UITableProgressDisplay = memo(({ value, showLabel = true, successThreshold = 70, warningThreshold = 40 }: Props) => {\n if (value === null || value === undefined) return <UITableEmpty />;\n\n const clamped = Math.min(100, Math.max(0, value));\n\n const indicatorClass =\n clamped >= successThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-success'\n : clamped >= warningThreshold\n ? '[&>[data-slot=progress-indicator]]:bg-warning'\n : '[&>[data-slot=progress-indicator]]:bg-danger';\n\n return (\n <div className=\"flex w-full min-w-24 items-center gap-x-2\">\n <Progress value={clamped} className={cn('flex-1', indicatorClass)} />\n {showLabel && <span className=\"w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums\">{clamped}%</span>}\n </div>\n );\n});\nUITableProgressDisplay.displayName = 'UITableProgressDisplay';\n"],"mappings":"0NAqCA,MAAa,EAAyB,GAAM,CAAE,QAAO,YAAY,GAAM,mBAAmB,GAAI,mBAAmB,MAAgB,CAC/H,GAAI,GAAU,KAA6B,OAAO,EAAC,EAAD,CAAe,CAAA,EAEjE,IAAM,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,CAAK,CAAC,EAShD,OACE,EAAC,MAAD,CAAK,UAAU,4CAAf,SAAA,CACE,EAAC,EAAD,CAAU,MAAO,EAAS,UAAW,EAAG,SAR1C,GAAW,EACP,gDACA,GAAW,EACT,gDACA,8CAI4D,CAAI,CAAA,EACnE,GAAa,EAAC,OAAD,CAAM,UAAU,mFAAhB,SAAA,CAAoG,EAAQ,GAAO,CAC9H,CAAA,CAAA,GAET,CAAC,EACD,EAAuB,YAAc"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RadioGroup } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/radio-group.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.
|
|
@@ -21,15 +20,9 @@ import { RadioGroup } from "radix-ui";
|
|
|
21
20
|
* </RadioGroup>
|
|
22
21
|
* ```
|
|
23
22
|
*/
|
|
24
|
-
declare function RadioGroup$1({
|
|
25
|
-
className,
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof RadioGroup.Root>): import("react").JSX.Element;
|
|
23
|
+
declare function RadioGroup$1({ className, ...props }: React.ComponentProps<typeof RadioGroup.Root>): import("react").JSX.Element;
|
|
28
24
|
/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */
|
|
29
|
-
declare function RadioGroupItem({
|
|
30
|
-
className,
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<typeof RadioGroup.Item>): import("react").JSX.Element;
|
|
25
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroup.Item>): import("react").JSX.Element;
|
|
33
26
|
//#endregion
|
|
34
27
|
export { RadioGroupItem as n, RadioGroup$1 as t };
|
|
35
|
-
//# sourceMappingURL=radio-group-
|
|
28
|
+
//# sourceMappingURL=radio-group-D_ssq0Q2.d.cts.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RadioGroup } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/radio-group.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.
|
|
@@ -21,15 +20,9 @@ import { RadioGroup } from "radix-ui";
|
|
|
21
20
|
* </RadioGroup>
|
|
22
21
|
* ```
|
|
23
22
|
*/
|
|
24
|
-
declare function RadioGroup$1({
|
|
25
|
-
className,
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof RadioGroup.Root>): import("react").JSX.Element;
|
|
23
|
+
declare function RadioGroup$1({ className, ...props }: React.ComponentProps<typeof RadioGroup.Root>): import("react").JSX.Element;
|
|
28
24
|
/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */
|
|
29
|
-
declare function RadioGroupItem({
|
|
30
|
-
className,
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<typeof RadioGroup.Item>): import("react").JSX.Element;
|
|
25
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroup.Item>): import("react").JSX.Element;
|
|
33
26
|
//#endregion
|
|
34
27
|
export { RadioGroupItem as n, RadioGroup$1 as t };
|
|
35
|
-
//# sourceMappingURL=radio-group-
|
|
28
|
+
//# sourceMappingURL=radio-group-D_ssq0Q2.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as e}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=radio-group-field-
|
|
1
|
+
import{G as e}from"./tanstack-form-q9hDCc0Y.mjs";import{RadioGroup as t,RadioGroupItem as n}from"./ui/radio-group.mjs";import{Field as r,FieldContent as i,FieldContentMain as a,FieldDescription as o,FieldGroup as s,FieldLabel as c,FieldNote as l,FieldSeparator as u,FieldTitle as d,FieldTooltip as f}from"./field-V2DoD8qL.mjs";import{cn as p}from"@customafk/react-toolkit/utils";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{useStore as g}from"@tanstack/react-form";const _=({label:_,description:v,orientation:y,options:b,tooltip:x,helperText:S})=>{let C=e(),w=g(C.form.store,({isSubmitting:e})=>e);return h(s,{className:`px-4`,children:[h(r,{orientation:y,className:`flex-col gap-2`,children:[h(i,{children:[h(c,{children:[_,x&&m(f,{tooltip:x})]}),m(o,{children:v}),m(l,{isShow:!!S,children:S})]}),m(a,{children:m(t,{value:C.state.value??``,className:`w-full`,onValueChange:C.handleChange,children:b.map(e=>m(c,{className:p(`h-fit`,C.state.value===e.value&&`border-primary-weak! bg-primary-bg-subtle`,w&&`pointer-events-none bg-muted-muted opacity-60`,C.state.value===e.value&&w&&`border-border-strong!`),children:h(r,{orientation:`horizontal`,className:`items-start gap-3 rounded p-2!`,children:[m(n,{value:e.value,className:`mt-0.5 shrink-0`}),h(i,{className:`gap-0.5!`,children:[m(d,{children:e.label}),m(o,{className:`text-xs`,children:e.description})]})]})},e.value))})})]}),m(u,{})]})};export{_ as RadioGroupField};
|
|
2
|
+
//# sourceMappingURL=radio-group-field-DOJ4jVSr.mjs.map
|