@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,5 +1,4 @@
|
|
|
1
1
|
import { Dialog } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/sheet.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Root provider for the Sheet panel — wraps all Sheet sub-components and manages open state.
|
|
@@ -19,48 +18,26 @@ import { Dialog } from "radix-ui";
|
|
|
19
18
|
* </Sheet>
|
|
20
19
|
* ```
|
|
21
20
|
*/
|
|
22
|
-
declare function Sheet({
|
|
23
|
-
...props
|
|
24
|
-
}: React.ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
|
|
21
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
|
|
25
22
|
/** Button or element that opens the Sheet when interacted with. */
|
|
26
|
-
declare function SheetTrigger({
|
|
27
|
-
...props
|
|
28
|
-
}: React.ComponentProps<typeof Dialog.Trigger>): import("react").JSX.Element;
|
|
23
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog.Trigger>): import("react").JSX.Element;
|
|
29
24
|
/** Button that programmatically closes the Sheet. */
|
|
30
|
-
declare function SheetClose({
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<typeof Dialog.Close>): import("react").JSX.Element;
|
|
25
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog.Close>): import("react").JSX.Element;
|
|
33
26
|
/**
|
|
34
27
|
* The sliding panel itself; renders on the specified `side` of the viewport and includes a built-in close button.
|
|
35
28
|
*/
|
|
36
|
-
declare function SheetContent({
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
side,
|
|
40
|
-
...props
|
|
41
|
-
}: React.ComponentProps<typeof Dialog.Content> & {
|
|
42
|
-
/** Edge of the viewport from which the sheet slides in. */side?: 'top' | 'right' | 'bottom' | 'left';
|
|
29
|
+
declare function SheetContent({ className, children, side, ...props }: React.ComponentProps<typeof Dialog.Content> & {
|
|
30
|
+
/** Edge of the viewport from which the sheet slides in. */
|
|
31
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
43
32
|
}): import("react").JSX.Element;
|
|
44
33
|
/** Padded container for the Sheet title and description at the top of the panel. */
|
|
45
|
-
declare function SheetHeader({
|
|
46
|
-
className,
|
|
47
|
-
...props
|
|
48
|
-
}: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
34
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
49
35
|
/** Sticky footer area at the bottom of the Sheet panel, typically used for action buttons. */
|
|
50
|
-
declare function SheetFooter({
|
|
51
|
-
className,
|
|
52
|
-
...props
|
|
53
|
-
}: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
36
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
54
37
|
/** Accessible title element for the Sheet, announced by screen readers on open. */
|
|
55
|
-
declare function SheetTitle({
|
|
56
|
-
className,
|
|
57
|
-
...props
|
|
58
|
-
}: React.ComponentProps<typeof Dialog.Title>): import("react").JSX.Element;
|
|
38
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof Dialog.Title>): import("react").JSX.Element;
|
|
59
39
|
/** Accessible description element for the Sheet, providing supplemental context to the title. */
|
|
60
|
-
declare function SheetDescription({
|
|
61
|
-
className,
|
|
62
|
-
...props
|
|
63
|
-
}: React.ComponentProps<typeof Dialog.Description>): import("react").JSX.Element;
|
|
40
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof Dialog.Description>): import("react").JSX.Element;
|
|
64
41
|
//#endregion
|
|
65
42
|
export { SheetFooter as a, SheetTrigger as c, SheetDescription as i, SheetClose as n, SheetHeader as o, SheetContent as r, SheetTitle as s, Sheet as t };
|
|
66
|
-
//# sourceMappingURL=sheet-
|
|
43
|
+
//# sourceMappingURL=sheet-BBvQsKM_.d.cts.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Dialog } from "radix-ui";
|
|
2
|
-
|
|
3
2
|
//#region packages/components/ui/sheet.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Root provider for the Sheet panel — wraps all Sheet sub-components and manages open state.
|
|
@@ -19,48 +18,26 @@ import { Dialog } from "radix-ui";
|
|
|
19
18
|
* </Sheet>
|
|
20
19
|
* ```
|
|
21
20
|
*/
|
|
22
|
-
declare function Sheet({
|
|
23
|
-
...props
|
|
24
|
-
}: React.ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
|
|
21
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
|
|
25
22
|
/** Button or element that opens the Sheet when interacted with. */
|
|
26
|
-
declare function SheetTrigger({
|
|
27
|
-
...props
|
|
28
|
-
}: React.ComponentProps<typeof Dialog.Trigger>): import("react").JSX.Element;
|
|
23
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog.Trigger>): import("react").JSX.Element;
|
|
29
24
|
/** Button that programmatically closes the Sheet. */
|
|
30
|
-
declare function SheetClose({
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<typeof Dialog.Close>): import("react").JSX.Element;
|
|
25
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog.Close>): import("react").JSX.Element;
|
|
33
26
|
/**
|
|
34
27
|
* The sliding panel itself; renders on the specified `side` of the viewport and includes a built-in close button.
|
|
35
28
|
*/
|
|
36
|
-
declare function SheetContent({
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
side,
|
|
40
|
-
...props
|
|
41
|
-
}: React.ComponentProps<typeof Dialog.Content> & {
|
|
42
|
-
/** Edge of the viewport from which the sheet slides in. */side?: 'top' | 'right' | 'bottom' | 'left';
|
|
29
|
+
declare function SheetContent({ className, children, side, ...props }: React.ComponentProps<typeof Dialog.Content> & {
|
|
30
|
+
/** Edge of the viewport from which the sheet slides in. */
|
|
31
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
43
32
|
}): import("react").JSX.Element;
|
|
44
33
|
/** Padded container for the Sheet title and description at the top of the panel. */
|
|
45
|
-
declare function SheetHeader({
|
|
46
|
-
className,
|
|
47
|
-
...props
|
|
48
|
-
}: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
34
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
49
35
|
/** Sticky footer area at the bottom of the Sheet panel, typically used for action buttons. */
|
|
50
|
-
declare function SheetFooter({
|
|
51
|
-
className,
|
|
52
|
-
...props
|
|
53
|
-
}: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
36
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
54
37
|
/** Accessible title element for the Sheet, announced by screen readers on open. */
|
|
55
|
-
declare function SheetTitle({
|
|
56
|
-
className,
|
|
57
|
-
...props
|
|
58
|
-
}: React.ComponentProps<typeof Dialog.Title>): import("react").JSX.Element;
|
|
38
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof Dialog.Title>): import("react").JSX.Element;
|
|
59
39
|
/** Accessible description element for the Sheet, providing supplemental context to the title. */
|
|
60
|
-
declare function SheetDescription({
|
|
61
|
-
className,
|
|
62
|
-
...props
|
|
63
|
-
}: React.ComponentProps<typeof Dialog.Description>): import("react").JSX.Element;
|
|
40
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof Dialog.Description>): import("react").JSX.Element;
|
|
64
41
|
//#endregion
|
|
65
42
|
export { SheetFooter as a, SheetTrigger as c, SheetDescription as i, SheetClose as n, SheetHeader as o, SheetContent as r, SheetTitle as s, Sheet as t };
|
|
66
|
-
//# sourceMappingURL=sheet-
|
|
43
|
+
//# sourceMappingURL=sheet-BBvQsKM_.d.mts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Button as e}from"./ui/button.mjs";import{Tooltip as t,TooltipContent as n,TooltipProvider as r,TooltipTrigger as i}from"./ui/tooltip.mjs";import{MenuIcon as a}from"lucide-react";import{createContext as o,use as s,useCallback as c,useEffect as l,useMemo as u,useState as d}from"react";import{cn as f}from"@customafk/react-toolkit/utils";import{cva as p}from"class-variance-authority";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{Slot as g}from"radix-ui";const _=`detail_dialog_sidebar_state`,v=3600*24*7,y=`18rem`,b=`3rem`,x=`p`,S=o(null);function C(){let e=s(S);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function w({defaultOpen:e=!0,open:t,onOpenChange:n}){let[r,i]=d(e),a=t??r,o=c(e=>{let t=typeof e==`function`?e(a):e;n?n(t):i(t),document.cookie=`${_}=${t}; path=/; max-age=${v}`},[n,a]),s=c(()=>{o(e=>!e)},[o]);l(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]);let f=a?`expanded`:`collapsed`;return u(()=>({state:f,toggleSidebar:s,open:a,setOpen:o}),[f,a,o,s])}function T({defaultOpen:e=!0,open:t,onOpenChange:n,className:i,style:a,children:o,...s}){let c=w({defaultOpen:e,open:t,onOpenChange:n});return m(S.Provider,{value:c,children:m(r,{delayDuration:0,children:m(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":y,"--sidebar-width-icon":b,...a},className:f(`group/sidebar-wrapper grid h-full min-h-[85dvh] w-full grid-cols-[auto_1fr]`,i),...s,children:o})})})}function E({side:e=`left`,className:t,children:n,...r}){let{state:i}=C();return h(`div`,{className:`group peer block text-sidebar-foreground`,"data-state":i,"data-collapsible":i===`collapsed`?`icon`:``,"data-side":e,"data-slot":`sidebar`,children:[m(`div`,{"data-slot":`sidebar-gap`,className:f(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[side=right]:rotate-180`,`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),m(`div`,{"data-slot":`sidebar-container`,className:f(`absolute inset-y-0 z-20 flex w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear`,`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,e===`left`?`left-0`:`right-0`,t),...r,children:m(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`grid size-full grid-rows-[auto_minmax(0,1fr)_auto] shadow-nav`,children:n})})]})}function D({className:t,onClick:n,...r}){let{toggleSidebar:i}=C();return h(e,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:f(`size-10 rounded-full [&_svg]:size-6!`,t),onClick:e=>{n?.(e),i()},...r,children:[m(a,{}),m(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function O({className:e,...t}){return m(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:f(`flex flex-col gap-2 p-2`,e),...t})}function k({className:e,children:t,...n}){let{open:r}=C();return m(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:f(`flex flex-col gap-2 p-2`,e),...n,children:h(j,{children:[r&&m(M,{children:t}),r&&m(M,{children:h(`p`,{className:`pt-2 text-center text-text-positive-subtle text-xs`,children:[`Copyright © `,new Date().getFullYear(),`, Lunas.`]})})]})})}function A({className:e,...t}){return m(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:f(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function j({className:e,...t}){return m(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:f(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function M({className:e,...t}){return m(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:f(`group/menu-item relative`,e),...t})}const N=p([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,background-color,width,height,padding]`,`active:bg-sidebar-accent active:text-sidebar-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted data-[active=true]:font-normal data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4 [&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function P({asChild:e=!1,isActive:r=!1,variant:a=`default`,size:o=`default`,tooltip:s,className:c,...l}){let u=e?g.Slot:`button`,{state:d}=C(),p=m(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":o,"data-active":r,className:f(N({variant:a,size:o}),c),...l});return s?(typeof s==`string`&&(s={children:s}),h(t,{children:[m(i,{asChild:!0,children:p}),m(n,{side:`right`,align:`center`,hidden:d!==`collapsed`,...s})]})):p}export{w as _,P as a,v as c,y as d,b as f,C as g,T as h,j as i,_ as l,S as m,k as n,M as o,E as p,O as r,D as s,A as t,x as u};
|
|
2
|
+
//# sourceMappingURL=sidebar-core-Bz_LtXZy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-core-Bz_LtXZy.mjs","names":["SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/components/sidebar-core.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot as SlotPrimitive } from 'radix-ui';\n\nexport const SIDEBAR_COOKIE_NAME = 'detail_dialog_sidebar_state';\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_WIDTH = '18rem';\nexport const SIDEBAR_WIDTH_ICON = '3rem';\nexport const SIDEBAR_KEYBOARD_SHORTCUT = 'p';\n\nexport type SidebarContextProps = {\n /** Current visual state of the sidebar. */\n state: 'expanded' | 'collapsed';\n /** Whether the sidebar is open. */\n open: boolean;\n /** Setter for the open state. */\n setOpen: (open: boolean) => void;\n /** Toggles the sidebar between expanded and collapsed. */\n toggleSidebar: () => void;\n};\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\n/**\n * Reads the current sidebar open/collapsed state and toggle handler from context.\n * Also used internally by `DetailDialogSidebarRail` in `./sidebar-extras`.\n */\nfunction useSidebar() {\n const context = use(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n/**\n * Sidebar open/collapsed state, cookie-persisted, with a keyboard shortcut to toggle. Shared by\n * `SidebarProvider` (below, generic/standalone) and `DetailDialogProvider` (`../components/provider`,\n * DetailDialog's own layout shell) so the state logic lives in exactly one place.\n */\nfunction useSidebarState({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n}: {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}): SidebarContextProps {\n const [_open, _setOpen] = useState<boolean>(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n // biome-ignore lint/suspicious/noDocumentCookie: persists sidebar state across page loads\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n const toggleSidebar = useCallback(() => {\n setOpen(open => !open);\n }, [setOpen]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n const state = open ? 'expanded' : 'collapsed';\n\n return useMemo<SidebarContextProps>(() => ({ state, toggleSidebar, open, setOpen }), [state, open, setOpen, toggleSidebar]);\n}\n\n/**\n * Generic, standalone-reusable context provider for `Sidebar` — a plain 2-column grid (sidebar |\n * content). For `DetailDialog`'s own header/content grid shell, use `DetailDialogProvider`\n * (`../components/provider`) instead.\n *\n * @example\n * ```tsx\n * import { SidebarProvider, Sidebar } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <SidebarProvider defaultOpen={true}>\n * <Sidebar>{...}</Sidebar>\n * <main>{...}</main>\n * </SidebarProvider>\n * ```\n */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n /** Whether the sidebar is open by default (uncontrolled). Defaults to `true`. */\n defaultOpen?: boolean;\n /** Controlled open state. When provided the component becomes controlled. */\n open?: boolean;\n /** Callback fired when the open state changes in controlled mode. */\n onOpenChange?: (open: boolean) => void;\n}) {\n const contextValue = useSidebarState({ defaultOpen, open: openProp, onOpenChange: setOpenProp });\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={{ '--sidebar-width': SIDEBAR_WIDTH, '--sidebar-width-icon': SIDEBAR_WIDTH_ICON, ...style } as React.CSSProperties}\n className={cn('group/sidebar-wrapper grid h-full min-h-[85dvh] w-full grid-cols-[auto_1fr]', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/**\n * Sidebar container that collapses to an icon strip. Always rendered inline, regardless of viewport size.\n *\n * @example\n * ```tsx\n * import { Sidebar } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <Sidebar side=\"left\">\n * {children}\n * </Sidebar>\n * ```\n */\nfunction Sidebar({\n side = 'left',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n /** Which edge the sidebar is anchored to. Defaults to `'left'`. */\n side?: 'left' | 'right';\n}) {\n const { state } = useSidebar();\n\n return (\n <div\n className=\"group peer block text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? 'icon' : ''}\n data-side={side}\n data-slot=\"sidebar\"\n >\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[side=right]:rotate-180',\n 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'absolute inset-y-0 z-20 flex w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear',\n 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n side === 'left' ? 'left-0' : 'right-0',\n className\n )}\n {...props}\n >\n <div data-sidebar=\"sidebar\" data-slot=\"sidebar-inner\" className=\"grid size-full grid-rows-[auto_minmax(0,1fr)_auto] shadow-nav\">\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * Icon button that toggles the detail-dialog sidebar open or collapsed.\n *\n * @example\n * ```tsx\n * import { DetailDialogSidebarTrigger } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <DetailDialogSidebarTrigger />\n * ```\n */\nfunction DetailDialogSidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:size-6!', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction DetailDialogSidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarFooter({ className, children, ...props }: React.ComponentProps<'div'>) {\n const { open } = useSidebar();\n return (\n <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props}>\n <DetailDialogSidebarMenu>\n {open && <DetailDialogSidebarMenuItem>{children}</DetailDialogSidebarMenuItem>}\n {open && (\n <DetailDialogSidebarMenuItem>\n <p className=\"pt-2 text-center text-text-positive-subtle text-xs\">Copyright © {new Date().getFullYear()}, Lunas.</p>\n </DetailDialogSidebarMenuItem>\n )}\n </DetailDialogSidebarMenu>\n </div>\n );\n}\n\nfunction DetailDialogSidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'truncate text-left font-normal',\n 'transition-[color,background-color,width,height,padding]',\n 'active:bg-sidebar-accent active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-primary-muted data-[active=true]:font-normal data-[active=true]:text-sidebar-primary',\n 'data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2!',\n '[&>svg]:size-4 [&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction DetailDialogSidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n const { state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) return button;\n\n if (typeof tooltip === 'string') {\n tooltip = { children: tooltip };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed'} {...tooltip} />\n </Tooltip>\n );\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n // biome-ignore lint/style/useComponentExportOnlyModules: true\n useSidebar,\n // biome-ignore lint/style/useComponentExportOnlyModules: true\n useSidebarState,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./ui/button.cjs"),t=require("./ui/tooltip.cjs");let n=require("lucide-react"),r=require("react"),i=require("@customafk/react-toolkit/utils"),a=require("class-variance-authority"),o=require("react/jsx-runtime"),s=require("radix-ui");const c=`detail_dialog_sidebar_state`,l=3600*24*7,u=`18rem`,d=`3rem`,f=(0,r.createContext)(null);function p(){let e=(0,r.use)(f);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function m({defaultOpen:e=!0,open:t,onOpenChange:n}){let[i,a]=(0,r.useState)(e),o=t??i,s=(0,r.useCallback)(e=>{let t=typeof e==`function`?e(o):e;n?n(t):a(t),document.cookie=`${c}=${t}; path=/; max-age=${l}`},[n,o]),u=(0,r.useCallback)(()=>{s(e=>!e)},[s]);(0,r.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let d=o?`expanded`:`collapsed`;return(0,r.useMemo)(()=>({state:d,toggleSidebar:u,open:o,setOpen:s}),[d,o,s,u])}function h({defaultOpen:e=!0,open:n,onOpenChange:r,className:a,style:s,children:c,...l}){let p=m({defaultOpen:e,open:n,onOpenChange:r});return(0,o.jsx)(f.Provider,{value:p,children:(0,o.jsx)(t.TooltipProvider,{delayDuration:0,children:(0,o.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":u,"--sidebar-width-icon":d,...s},className:(0,i.cn)(`group/sidebar-wrapper grid h-full min-h-[85dvh] w-full grid-cols-[auto_1fr]`,a),...l,children:c})})})}function g({side:e=`left`,className:t,children:n,...r}){let{state:a}=p();return(0,o.jsxs)(`div`,{className:`group peer block text-sidebar-foreground`,"data-state":a,"data-collapsible":a===`collapsed`?`icon`:``,"data-side":e,"data-slot":`sidebar`,children:[(0,o.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,i.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[side=right]:rotate-180`,`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,o.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,i.cn)(`absolute inset-y-0 z-20 flex w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear`,`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,e===`left`?`left-0`:`right-0`,t),...r,children:(0,o.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`grid size-full grid-rows-[auto_minmax(0,1fr)_auto] shadow-nav`,children:n})})]})}function _({className:t,onClick:r,...a}){let{toggleSidebar:s}=p();return(0,o.jsxs)(e.Button,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,i.cn)(`size-10 rounded-full [&_svg]:size-6!`,t),onClick:e=>{r?.(e),s()},...a,children:[(0,o.jsx)(n.MenuIcon,{}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function v({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,i.cn)(`flex flex-col gap-2 p-2`,e),...t})}function y({className:e,children:t,...n}){let{open:r}=p();return(0,o.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,i.cn)(`flex flex-col gap-2 p-2`,e),...n,children:(0,o.jsxs)(x,{children:[r&&(0,o.jsx)(S,{children:t}),r&&(0,o.jsx)(S,{children:(0,o.jsxs)(`p`,{className:`pt-2 text-center text-text-positive-subtle text-xs`,children:[`Copyright © `,new Date().getFullYear(),`, Lunas.`]})})]})})}function b({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,i.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function x({className:e,...t}){return(0,o.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,i.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function S({className:e,...t}){return(0,o.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,i.cn)(`group/menu-item relative`,e),...t})}const C=(0,a.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,background-color,width,height,padding]`,`active:bg-sidebar-accent active:text-sidebar-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted data-[active=true]:font-normal data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4 [&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function w({asChild:e=!1,isActive:n=!1,variant:r=`default`,size:a=`default`,tooltip:c,className:l,...u}){let d=e?s.Slot.Slot:`button`,{state:f}=p(),m=(0,o.jsx)(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":a,"data-active":n,className:(0,i.cn)(C({variant:r,size:a}),l),...u});return c?(typeof c==`string`&&(c={children:c}),(0,o.jsxs)(t.Tooltip,{children:[(0,o.jsx)(t.TooltipTrigger,{asChild:!0,children:m}),(0,o.jsx)(t.TooltipContent,{side:`right`,align:`center`,hidden:f!==`collapsed`,...c})]})):m}Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return`p`}});
|
|
2
|
+
//# sourceMappingURL=sidebar-core-DUdB9WCv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-core-DUdB9WCv.cjs","names":["TooltipProvider","Button","MenuIcon","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent"],"sources":["../packages/components/dialogs/detail-dialog/components/sidebar-core.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot as SlotPrimitive } from 'radix-ui';\n\nexport const SIDEBAR_COOKIE_NAME = 'detail_dialog_sidebar_state';\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_WIDTH = '18rem';\nexport const SIDEBAR_WIDTH_ICON = '3rem';\nexport const SIDEBAR_KEYBOARD_SHORTCUT = 'p';\n\nexport type SidebarContextProps = {\n /** Current visual state of the sidebar. */\n state: 'expanded' | 'collapsed';\n /** Whether the sidebar is open. */\n open: boolean;\n /** Setter for the open state. */\n setOpen: (open: boolean) => void;\n /** Toggles the sidebar between expanded and collapsed. */\n toggleSidebar: () => void;\n};\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\n/**\n * Reads the current sidebar open/collapsed state and toggle handler from context.\n * Also used internally by `DetailDialogSidebarRail` in `./sidebar-extras`.\n */\nfunction useSidebar() {\n const context = use(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n/**\n * Sidebar open/collapsed state, cookie-persisted, with a keyboard shortcut to toggle. Shared by\n * `SidebarProvider` (below, generic/standalone) and `DetailDialogProvider` (`../components/provider`,\n * DetailDialog's own layout shell) so the state logic lives in exactly one place.\n */\nfunction useSidebarState({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n}: {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}): SidebarContextProps {\n const [_open, _setOpen] = useState<boolean>(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n // biome-ignore lint/suspicious/noDocumentCookie: persists sidebar state across page loads\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n const toggleSidebar = useCallback(() => {\n setOpen(open => !open);\n }, [setOpen]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n const state = open ? 'expanded' : 'collapsed';\n\n return useMemo<SidebarContextProps>(() => ({ state, toggleSidebar, open, setOpen }), [state, open, setOpen, toggleSidebar]);\n}\n\n/**\n * Generic, standalone-reusable context provider for `Sidebar` — a plain 2-column grid (sidebar |\n * content). For `DetailDialog`'s own header/content grid shell, use `DetailDialogProvider`\n * (`../components/provider`) instead.\n *\n * @example\n * ```tsx\n * import { SidebarProvider, Sidebar } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <SidebarProvider defaultOpen={true}>\n * <Sidebar>{...}</Sidebar>\n * <main>{...}</main>\n * </SidebarProvider>\n * ```\n */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n /** Whether the sidebar is open by default (uncontrolled). Defaults to `true`. */\n defaultOpen?: boolean;\n /** Controlled open state. When provided the component becomes controlled. */\n open?: boolean;\n /** Callback fired when the open state changes in controlled mode. */\n onOpenChange?: (open: boolean) => void;\n}) {\n const contextValue = useSidebarState({ defaultOpen, open: openProp, onOpenChange: setOpenProp });\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={{ '--sidebar-width': SIDEBAR_WIDTH, '--sidebar-width-icon': SIDEBAR_WIDTH_ICON, ...style } as React.CSSProperties}\n className={cn('group/sidebar-wrapper grid h-full min-h-[85dvh] w-full grid-cols-[auto_1fr]', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/**\n * Sidebar container that collapses to an icon strip. Always rendered inline, regardless of viewport size.\n *\n * @example\n * ```tsx\n * import { Sidebar } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <Sidebar side=\"left\">\n * {children}\n * </Sidebar>\n * ```\n */\nfunction Sidebar({\n side = 'left',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n /** Which edge the sidebar is anchored to. Defaults to `'left'`. */\n side?: 'left' | 'right';\n}) {\n const { state } = useSidebar();\n\n return (\n <div\n className=\"group peer block text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? 'icon' : ''}\n data-side={side}\n data-slot=\"sidebar\"\n >\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[side=right]:rotate-180',\n 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'absolute inset-y-0 z-20 flex w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear',\n 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n side === 'left' ? 'left-0' : 'right-0',\n className\n )}\n {...props}\n >\n <div data-sidebar=\"sidebar\" data-slot=\"sidebar-inner\" className=\"grid size-full grid-rows-[auto_minmax(0,1fr)_auto] shadow-nav\">\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * Icon button that toggles the detail-dialog sidebar open or collapsed.\n *\n * @example\n * ```tsx\n * import { DetailDialogSidebarTrigger } from '@customafk/lunas-ui/dialogs/detail-dialog/components/sidebar';\n *\n * <DetailDialogSidebarTrigger />\n * ```\n */\nfunction DetailDialogSidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:size-6!', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction DetailDialogSidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarFooter({ className, children, ...props }: React.ComponentProps<'div'>) {\n const { open } = useSidebar();\n return (\n <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props}>\n <DetailDialogSidebarMenu>\n {open && <DetailDialogSidebarMenuItem>{children}</DetailDialogSidebarMenuItem>}\n {open && (\n <DetailDialogSidebarMenuItem>\n <p className=\"pt-2 text-center text-text-positive-subtle text-xs\">Copyright © {new Date().getFullYear()}, Lunas.</p>\n </DetailDialogSidebarMenuItem>\n )}\n </DetailDialogSidebarMenu>\n </div>\n );\n}\n\nfunction DetailDialogSidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'truncate text-left font-normal',\n 'transition-[color,background-color,width,height,padding]',\n 'active:bg-sidebar-accent active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-primary-muted data-[active=true]:font-normal data-[active=true]:text-sidebar-primary',\n 'data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2!',\n '[&>svg]:size-4 [&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction DetailDialogSidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n const { state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) return button;\n\n if (typeof tooltip === 'string') {\n tooltip = { children: tooltip };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed'} {...tooltip} />\n </Tooltip>\n );\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n // biome-ignore lint/style/useComponentExportOnlyModules: true\n useSidebar,\n // biome-ignore lint/style/useComponentExportOnlyModules: true\n useSidebarState,\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./ui/button.cjs"),t=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-array-field-
|
|
1
|
+
const e=require("./ui/button.cjs"),t=require("./tanstack-form-BxqS40rB.cjs");let n=require("lucide-react"),r=require("react"),i=require("@customafk/react-toolkit/utils"),a=require("react/jsx-runtime");function o({width:e,className:t,children:n}){return(0,a.jsx)(`div`,{"data-slot":`array-col`,style:e?{width:typeof e==`number`?`${e}px`:e,flexShrink:0}:{flex:1,minWidth:0},className:t,children:n})}function s({className:e,children:t}){return(0,a.jsxs)(`div`,{"data-slot":`array-header-row`,className:(0,i.cn)(`mb-1 flex items-center gap-2 px-1 text-xs font-medium text-text-positive-weak`,e),children:[t,(0,a.jsx)(`div`,{className:`min-w-8 w-8 shrink-0`})]})}function c({defaultRow:o,children:s,addLabel:c=`Thêm hàng`,className:l}){let u=t.G(),d=u.state.value??[],f=(0,r.useCallback)(()=>{u.pushValue({...o})},[u,o]),p=(0,r.useCallback)(e=>{u.removeValue(e)},[u]);return(0,a.jsxs)(`div`,{"data-slot":`simple-array-field`,className:(0,i.cn)(`flex flex-col gap-2`,l),children:[d.map((t,r)=>(0,a.jsxs)(`div`,{className:`flex items-start gap-2`,children:[s(r),(0,a.jsx)(e.Button,{type:`button`,size:`icon`,variant:`ghost`,color:`danger`,className:`min-w-8`,onClick:()=>p(r),children:(0,a.jsx)(n.Trash2Icon,{size:14})})]},r)),(0,a.jsx)(`div`,{children:(0,a.jsxs)(e.Button,{type:`button`,variant:`outline`,color:`muted`,size:`xs`,onClick:f,children:[(0,a.jsx)(n.PlusIcon,{size:13}),c]})})]})}exports.ArrayCol=o,exports.ArrayHeaderRow=s,exports.SimpleArrayField=c;
|
|
2
|
+
//# sourceMappingURL=simple-array-field-bCUuPMgT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-array-field-
|
|
1
|
+
{"version":3,"file":"simple-array-field-bCUuPMgT.cjs","names":["useTanStackFieldContext","Button","Trash2Icon","PlusIcon"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-array-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { PlusIcon, Trash2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\n\nimport { useTanStackFieldContext } from '../form-context';\n\n// ─── ArrayCol ──────────────────────────────────────────────────────────────\n\ntype ArrayColProps = {\n /**\n * Fixed column width as a pixel number (e.g. `96`) or any CSS string\n * (e.g. `'8rem'`, `'20%'`). Omit to let the column expand and fill the\n * remaining row space (`flex: 1`).\n */\n width?: number | string;\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * Layout helper for columns inside a `SimpleArrayField` row. Controls width\n * without repeating `<div className=\"w-24\">` or `<div className=\"flex-1\">`.\n *\n * @example\n * <SimpleArrayField defaultRow={...}>\n * {i => (\n * <>\n * <ArrayCol> // flex-1 — takes remaining space\n * <AppField name={`items[${i}].name`}>...</AppField>\n * </ArrayCol>\n * <ArrayCol width={96}> // 96 px fixed\n * <AppField name={`items[${i}].qty`}>...</AppField>\n * </ArrayCol>\n * <ArrayCol width=\"8rem\"> // CSS string\n * <AppField name={`items[${i}].tax`}>...</AppField>\n * </ArrayCol>\n * </>\n * )}\n * </SimpleArrayField>\n */\nexport function ArrayCol({ width, className, children }: ArrayColProps) {\n const style: React.CSSProperties = width ? { width: typeof width === 'number' ? `${width}px` : width, flexShrink: 0 } : { flex: 1, minWidth: 0 };\n\n return (\n <div data-slot=\"array-col\" style={style} className={className}>\n {children}\n </div>\n );\n}\n\n// ─── ArrayHeaderRow ────────────────────────────────────────────────────────\n\ntype ArrayHeaderRowProps = {\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * Styled header row for a `SimpleArrayField` table. Place it directly above\n * `<SimpleArrayField>` and use `<ArrayCol>` children with text labels to align\n * headers with their columns. A spacer matching the delete-button width is\n * appended automatically.\n *\n * @example\n * <ArrayHeaderRow>\n * <ArrayCol>Name</ArrayCol>\n * <ArrayCol width={96}>Price</ArrayCol>\n * <ArrayCol width={80}>Qty</ArrayCol>\n * </ArrayHeaderRow>\n * <SimpleArrayField defaultRow={...}>\n * {i => (...)}\n * </SimpleArrayField>\n */\nexport function ArrayHeaderRow({ className, children }: ArrayHeaderRowProps) {\n return (\n <div data-slot=\"array-header-row\" className={cn('mb-1 flex items-center gap-2 px-1 text-xs font-medium text-text-positive-weak', className)}>\n {children}\n {/* spacer matching the delete icon button width */}\n <div className=\"min-w-8 w-8 shrink-0\" />\n </div>\n );\n}\n\n// ─── SimpleArrayField ──────────────────────────────────────────────────────\n\nexport type SimpleArrayFieldProps<T> = {\n /**\n * Shape of a brand-new empty row appended when the user clicks \"Add row\".\n */\n defaultRow: T;\n /**\n * Render function called once per row. Receives the zero-based row `index`\n * so you can build field paths like `` `items[${index}].name` ``.\n */\n children: (index: number) => React.ReactNode;\n /** Label on the add button. Defaults to `'Add row'`. */\n addLabel?: string;\n className?: string;\n};\n\n/**\n * Array field wrapper that manages rows (add / remove) while letting you\n * freely compose any fields inside each row.\n *\n * @example\n * const { AppForm, AppField } = useTanStackForm({ defaultValues: { items: [] } });\n *\n * <AppForm>\n * <AppField name=\"items\">\n * {({ SimpleArrayField }) => (\n * <SimpleArrayField defaultRow={{ name: null, qty: null }}>\n * {(i) => (\n * <div className=\"flex gap-2\">\n * <AppField name={`items[${i}].name`}>\n * {({ SimpleTextField }) => <SimpleTextField label=\"Name\" />}\n * </AppField>\n * <AppField name={`items[${i}].qty`}>\n * {({ SimpleNumberField }) => <SimpleNumberField label=\"Qty\" />}\n * </AppField>\n * </div>\n * )}\n * </SimpleArrayField>\n * )}\n * </AppField>\n * </AppForm>\n */\nexport function SimpleArrayField<T>({ defaultRow, children, addLabel = 'Thêm hàng', className }: SimpleArrayFieldProps<T>) {\n const field = useTanStackFieldContext<T[]>();\n const rows = field.state.value ?? [];\n\n const addRow = useCallback(() => {\n field.pushValue({ ...defaultRow } as T);\n }, [field, defaultRow]);\n\n const removeRow = useCallback(\n (index: number) => {\n field.removeValue(index);\n },\n [field]\n );\n\n return (\n <div data-slot=\"simple-array-field\" className={cn('flex flex-col gap-2', className)}>\n {rows.map((_, i) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for form rows\n <div key={i} className=\"flex items-start gap-2\">\n {children(i)}\n <Button type=\"button\" size=\"icon\" variant=\"ghost\" color=\"danger\" className=\"min-w-8\" onClick={() => removeRow(i)}>\n <Trash2Icon size={14} />\n </Button>\n </div>\n ))}\n\n <div>\n <Button type=\"button\" variant=\"outline\" color=\"muted\" size=\"xs\" onClick={addRow}>\n <PlusIcon size={13} />\n {addLabel}\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"yMA8CA,SAAgB,EAAS,CAAE,QAAO,YAAW,YAA2B,CAGtE,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,YAAY,MAHM,EAAQ,CAAE,MAAO,OAAO,GAAU,SAAW,GAAG,EAAM,IAAM,EAAO,WAAY,CAAE,EAAI,CAAE,KAAM,EAAG,SAAU,CAAE,EAGzF,YACjD,UACE,CAAA,CAET,CAyBA,SAAgB,EAAe,CAAE,YAAW,YAAiC,CAC3E,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,YAAU,mBAAmB,WAAA,EAAA,EAAA,GAAA,CAAc,gFAAiF,CAAS,EAA1I,SAAA,CACG,GAED,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,sBAAwB,CAAA,CACpC,GAET,CA6CA,SAAgB,EAAoB,CAAE,aAAY,WAAU,WAAW,YAAa,aAAuC,CACzH,IAAM,EAAQA,EAAAA,EAA6B,EACrC,EAAO,EAAM,MAAM,OAAS,CAAC,EAE7B,GAAA,EAAA,EAAA,YAAA,KAA2B,CAC/B,EAAM,UAAU,CAAE,GAAG,CAAW,CAAM,CACxC,EAAG,CAAC,EAAO,CAAU,CAAC,EAEhB,GAAA,EAAA,EAAA,YAAA,CACH,GAAkB,CACjB,EAAM,YAAY,CAAK,CACzB,EACA,CAAC,CAAK,CACR,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,YAAU,qBAAqB,WAAA,EAAA,EAAA,GAAA,CAAc,sBAAuB,CAAS,EAAlF,SAAA,CACG,EAAK,KAAK,EAAG,KAEZ,EAAA,EAAA,KAAA,CAAC,MAAD,CAAa,UAAU,yBAAvB,SAAA,CACG,EAAS,CAAC,GACX,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAK,SAAS,KAAK,OAAO,QAAQ,QAAQ,MAAM,SAAS,UAAU,UAAU,YAAe,EAAU,CAAC,EAC7G,UAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,KAAM,EAAK,CAAA,CACjB,CAAA,CACL,CALK,EAAA,CAKL,CACN,GAED,EAAA,EAAA,IAAA,CAAC,MAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAACD,EAAAA,OAAD,CAAQ,KAAK,SAAS,QAAQ,UAAU,MAAM,QAAQ,KAAK,KAAK,QAAS,EAAzE,SAAA,EACE,EAAA,EAAA,IAAA,CAACE,EAAAA,SAAD,CAAU,KAAM,EAAK,CAAA,EACpB,CACK,CACL,CAAA,CAAA,CAAA,CACF,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Button as e}from"./ui/button.mjs";import{G as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-array-field-
|
|
1
|
+
import{Button as e}from"./ui/button.mjs";import{G as t}from"./tanstack-form-q9hDCc0Y.mjs";import{PlusIcon as n,Trash2Icon as r}from"lucide-react";import{useCallback as i}from"react";import{cn as a}from"@customafk/react-toolkit/utils";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({width:e,className:t,children:n}){return o(`div`,{"data-slot":`array-col`,style:e?{width:typeof e==`number`?`${e}px`:e,flexShrink:0}:{flex:1,minWidth:0},className:t,children:n})}function l({className:e,children:t}){return s(`div`,{"data-slot":`array-header-row`,className:a(`mb-1 flex items-center gap-2 px-1 text-xs font-medium text-text-positive-weak`,e),children:[t,o(`div`,{className:`min-w-8 w-8 shrink-0`})]})}function u({defaultRow:c,children:l,addLabel:u=`Thêm hàng`,className:d}){let f=t(),p=f.state.value??[],m=i(()=>{f.pushValue({...c})},[f,c]),h=i(e=>{f.removeValue(e)},[f]);return s(`div`,{"data-slot":`simple-array-field`,className:a(`flex flex-col gap-2`,d),children:[p.map((t,n)=>s(`div`,{className:`flex items-start gap-2`,children:[l(n),o(e,{type:`button`,size:`icon`,variant:`ghost`,color:`danger`,className:`min-w-8`,onClick:()=>h(n),children:o(r,{size:14})})]},n)),o(`div`,{children:s(e,{type:`button`,variant:`outline`,color:`muted`,size:`xs`,onClick:m,children:[o(n,{size:13}),u]})})]})}export{c as ArrayCol,l as ArrayHeaderRow,u as SimpleArrayField};
|
|
2
|
+
//# sourceMappingURL=simple-array-field-wFE_DUOV.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-array-field-
|
|
1
|
+
{"version":3,"file":"simple-array-field-wFE_DUOV.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-array-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { PlusIcon, Trash2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\n\nimport { useTanStackFieldContext } from '../form-context';\n\n// ─── ArrayCol ──────────────────────────────────────────────────────────────\n\ntype ArrayColProps = {\n /**\n * Fixed column width as a pixel number (e.g. `96`) or any CSS string\n * (e.g. `'8rem'`, `'20%'`). Omit to let the column expand and fill the\n * remaining row space (`flex: 1`).\n */\n width?: number | string;\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * Layout helper for columns inside a `SimpleArrayField` row. Controls width\n * without repeating `<div className=\"w-24\">` or `<div className=\"flex-1\">`.\n *\n * @example\n * <SimpleArrayField defaultRow={...}>\n * {i => (\n * <>\n * <ArrayCol> // flex-1 — takes remaining space\n * <AppField name={`items[${i}].name`}>...</AppField>\n * </ArrayCol>\n * <ArrayCol width={96}> // 96 px fixed\n * <AppField name={`items[${i}].qty`}>...</AppField>\n * </ArrayCol>\n * <ArrayCol width=\"8rem\"> // CSS string\n * <AppField name={`items[${i}].tax`}>...</AppField>\n * </ArrayCol>\n * </>\n * )}\n * </SimpleArrayField>\n */\nexport function ArrayCol({ width, className, children }: ArrayColProps) {\n const style: React.CSSProperties = width ? { width: typeof width === 'number' ? `${width}px` : width, flexShrink: 0 } : { flex: 1, minWidth: 0 };\n\n return (\n <div data-slot=\"array-col\" style={style} className={className}>\n {children}\n </div>\n );\n}\n\n// ─── ArrayHeaderRow ────────────────────────────────────────────────────────\n\ntype ArrayHeaderRowProps = {\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * Styled header row for a `SimpleArrayField` table. Place it directly above\n * `<SimpleArrayField>` and use `<ArrayCol>` children with text labels to align\n * headers with their columns. A spacer matching the delete-button width is\n * appended automatically.\n *\n * @example\n * <ArrayHeaderRow>\n * <ArrayCol>Name</ArrayCol>\n * <ArrayCol width={96}>Price</ArrayCol>\n * <ArrayCol width={80}>Qty</ArrayCol>\n * </ArrayHeaderRow>\n * <SimpleArrayField defaultRow={...}>\n * {i => (...)}\n * </SimpleArrayField>\n */\nexport function ArrayHeaderRow({ className, children }: ArrayHeaderRowProps) {\n return (\n <div data-slot=\"array-header-row\" className={cn('mb-1 flex items-center gap-2 px-1 text-xs font-medium text-text-positive-weak', className)}>\n {children}\n {/* spacer matching the delete icon button width */}\n <div className=\"min-w-8 w-8 shrink-0\" />\n </div>\n );\n}\n\n// ─── SimpleArrayField ──────────────────────────────────────────────────────\n\nexport type SimpleArrayFieldProps<T> = {\n /**\n * Shape of a brand-new empty row appended when the user clicks \"Add row\".\n */\n defaultRow: T;\n /**\n * Render function called once per row. Receives the zero-based row `index`\n * so you can build field paths like `` `items[${index}].name` ``.\n */\n children: (index: number) => React.ReactNode;\n /** Label on the add button. Defaults to `'Add row'`. */\n addLabel?: string;\n className?: string;\n};\n\n/**\n * Array field wrapper that manages rows (add / remove) while letting you\n * freely compose any fields inside each row.\n *\n * @example\n * const { AppForm, AppField } = useTanStackForm({ defaultValues: { items: [] } });\n *\n * <AppForm>\n * <AppField name=\"items\">\n * {({ SimpleArrayField }) => (\n * <SimpleArrayField defaultRow={{ name: null, qty: null }}>\n * {(i) => (\n * <div className=\"flex gap-2\">\n * <AppField name={`items[${i}].name`}>\n * {({ SimpleTextField }) => <SimpleTextField label=\"Name\" />}\n * </AppField>\n * <AppField name={`items[${i}].qty`}>\n * {({ SimpleNumberField }) => <SimpleNumberField label=\"Qty\" />}\n * </AppField>\n * </div>\n * )}\n * </SimpleArrayField>\n * )}\n * </AppField>\n * </AppForm>\n */\nexport function SimpleArrayField<T>({ defaultRow, children, addLabel = 'Thêm hàng', className }: SimpleArrayFieldProps<T>) {\n const field = useTanStackFieldContext<T[]>();\n const rows = field.state.value ?? [];\n\n const addRow = useCallback(() => {\n field.pushValue({ ...defaultRow } as T);\n }, [field, defaultRow]);\n\n const removeRow = useCallback(\n (index: number) => {\n field.removeValue(index);\n },\n [field]\n );\n\n return (\n <div data-slot=\"simple-array-field\" className={cn('flex flex-col gap-2', className)}>\n {rows.map((_, i) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for form rows\n <div key={i} className=\"flex items-start gap-2\">\n {children(i)}\n <Button type=\"button\" size=\"icon\" variant=\"ghost\" color=\"danger\" className=\"min-w-8\" onClick={() => removeRow(i)}>\n <Trash2Icon size={14} />\n </Button>\n </div>\n ))}\n\n <div>\n <Button type=\"button\" variant=\"outline\" color=\"muted\" size=\"xs\" onClick={addRow}>\n <PlusIcon size={13} />\n {addLabel}\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"4RA8CA,SAAgB,EAAS,CAAE,QAAO,YAAW,YAA2B,CAGtE,OACE,EAAC,MAAD,CAAK,YAAU,YAAY,MAHM,EAAQ,CAAE,MAAO,OAAO,GAAU,SAAW,GAAG,EAAM,IAAM,EAAO,WAAY,CAAE,EAAI,CAAE,KAAM,EAAG,SAAU,CAAE,EAGzF,YACjD,UACE,CAAA,CAET,CAyBA,SAAgB,EAAe,CAAE,YAAW,YAAiC,CAC3E,OACE,EAAC,MAAD,CAAK,YAAU,mBAAmB,UAAW,EAAG,gFAAiF,CAAS,EAA1I,SAAA,CACG,EAED,EAAC,MAAD,CAAK,UAAU,sBAAwB,CAAA,CACpC,GAET,CA6CA,SAAgB,EAAoB,CAAE,aAAY,WAAU,WAAW,YAAa,aAAuC,CACzH,IAAM,EAAQ,EAA6B,EACrC,EAAO,EAAM,MAAM,OAAS,CAAC,EAE7B,EAAS,MAAkB,CAC/B,EAAM,UAAU,CAAE,GAAG,CAAW,CAAM,CACxC,EAAG,CAAC,EAAO,CAAU,CAAC,EAEhB,EAAY,EACf,GAAkB,CACjB,EAAM,YAAY,CAAK,CACzB,EACA,CAAC,CAAK,CACR,EAEA,OACE,EAAC,MAAD,CAAK,YAAU,qBAAqB,UAAW,EAAG,sBAAuB,CAAS,EAAlF,SAAA,CACG,EAAK,KAAK,EAAG,IAEZ,EAAC,MAAD,CAAa,UAAU,yBAAvB,SAAA,CACG,EAAS,CAAC,EACX,EAAC,EAAD,CAAQ,KAAK,SAAS,KAAK,OAAO,QAAQ,QAAQ,MAAM,SAAS,UAAU,UAAU,YAAe,EAAU,CAAC,EAC7G,SAAA,EAAC,EAAD,CAAY,KAAM,EAAK,CAAA,CACjB,CAAA,CACL,CALK,EAAA,CAKL,CACN,EAED,EAAC,MAAD,CAAA,SACE,EAAC,EAAD,CAAQ,KAAK,SAAS,QAAQ,UAAU,MAAM,QAAQ,KAAK,KAAK,QAAS,EAAzE,SAAA,CACE,EAAC,EAAD,CAAU,KAAM,EAAK,CAAA,EACpB,CACK,CACL,CAAA,CAAA,CAAA,CACF,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./ui/checkbox.cjs"),t=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-boolean-field-
|
|
1
|
+
const e=require("./ui/checkbox.cjs"),t=require("./tanstack-form-BxqS40rB.cjs"),n=require("./ui/label.cjs"),r=require("./ui/switch.cjs"),i=require("./field-BSLi-P0Q.cjs");let a=require("react"),o=require("react/jsx-runtime"),s=require("@tanstack/react-form");const c=({label:c,required:l,disabled:u,variant:d=`checkbox`})=>{let f=(0,a.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=t.G(),v=(0,s.useStore)(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=h.value??!1,x=u||v,S=(0,a.useCallback)(e=>{v||_(e)},[v,_]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2 h-9`,children:[d===`switch`?(0,o.jsx)(r.Switch,{id:f,name:m,checked:b,disabled:x,"aria-invalid":y,onBlur:g,onCheckedChange:S}):(0,o.jsx)(e.Checkbox,{id:f,name:m,checked:b,disabled:x,"aria-invalid":y,onBlur:g,onCheckedChange:S}),c&&(0,o.jsxs)(n.Label,{htmlFor:f,className:`cursor-pointer`,children:[c,l&&(0,o.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]})]}),y&&(0,o.jsx)(i.FieldError,{errors:h.meta.errors})]})};exports.SimpleBooleanField=c;
|
|
2
|
+
//# sourceMappingURL=simple-boolean-field-DRapzNrB.cjs.map
|
package/dist/{simple-boolean-field-BeL9WjD5.cjs.map → simple-boolean-field-DRapzNrB.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-boolean-field-
|
|
1
|
+
{"version":3,"file":"simple-boolean-field-DRapzNrB.cjs","names":["useTanStackFieldContext","Switch","Checkbox","Label","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-boolean-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { Label } from '@/components/ui/label';\nimport { Switch } from '@/components/ui/switch';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n variant?: 'checkbox' | 'switch';\n};\n\nexport const SimpleBooleanField: React.FC<Props> = ({ label, required, disabled, variant = 'checkbox' }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<boolean | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const checked = state.value ?? false;\n const isDisabled = disabled || isSubmitting;\n\n const onCheckedChange = useCallback(\n (value: boolean) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center gap-2 h-9\">\n {variant === 'switch' ? (\n <Switch id={id} name={name} checked={checked} disabled={isDisabled} aria-invalid={_invalid} onBlur={handleBlur} onCheckedChange={onCheckedChange} />\n ) : (\n <Checkbox id={id} name={name} checked={checked} disabled={isDisabled} aria-invalid={_invalid} onBlur={handleBlur} onCheckedChange={onCheckedChange} />\n )}\n {label && (\n <Label htmlFor={id} className=\"cursor-pointer\">\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kQAoBA,MAAa,GAAuC,CAAE,QAAO,WAAU,WAAU,UAAU,cAAiB,CAC1G,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAwC,EAE1F,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAU,EAAM,OAAS,GACzB,EAAa,GAAY,EAEzB,GAAA,EAAA,EAAA,YAAA,CACH,GAAmB,CACd,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,8BAAf,SAAA,CACG,IAAY,UACX,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAY,KAAU,OAAe,UAAS,SAAU,EAAY,eAAc,EAAU,OAAQ,EAA6B,iBAAkB,CAAA,GAEnJ,EAAA,EAAA,IAAA,CAACC,EAAAA,SAAD,CAAc,KAAU,OAAe,UAAS,SAAU,EAAY,eAAc,EAAU,OAAQ,EAA6B,iBAAkB,CAAA,EAEtJ,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,EAAI,UAAU,iBAA9B,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,CAEN,CAAA,CAAA,CACJ,CAAA,EAAA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Checkbox as e}from"./ui/checkbox.mjs";import{G as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-boolean-field-
|
|
1
|
+
import{Checkbox as e}from"./ui/checkbox.mjs";import{G as t}from"./tanstack-form-q9hDCc0Y.mjs";import{Label as n}from"./ui/label.mjs";import{Switch as r}from"./ui/switch.mjs";import{FieldError as i}from"./field-V2DoD8qL.mjs";import{useCallback as a,useId as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{useStore as l}from"@tanstack/react-form";const u=({label:u,required:d,disabled:f,variant:p=`checkbox`})=>{let m=o(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=t(),b=l(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=_.value??!1,C=f||b,w=a(e=>{b||y(e)},[b,y]);return c(`div`,{className:`flex flex-col gap-1.5`,children:[c(`div`,{className:`flex items-center gap-2 h-9`,children:[s(p===`switch`?r:e,{id:m,name:g,checked:S,disabled:C,"aria-invalid":x,onBlur:v,onCheckedChange:w}),u&&c(n,{htmlFor:m,className:`cursor-pointer`,children:[u,d&&s(`span`,{className:`text-danger-strong`,children:`*`})]})]}),x&&s(i,{errors:_.meta.errors})]})};export{u as SimpleBooleanField};
|
|
2
|
+
//# sourceMappingURL=simple-boolean-field-GQJyeyVS.mjs.map
|
package/dist/{simple-boolean-field-DZ0J-Pk0.mjs.map → simple-boolean-field-GQJyeyVS.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-boolean-field-
|
|
1
|
+
{"version":3,"file":"simple-boolean-field-GQJyeyVS.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-boolean-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { Label } from '@/components/ui/label';\nimport { Switch } from '@/components/ui/switch';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n variant?: 'checkbox' | 'switch';\n};\n\nexport const SimpleBooleanField: React.FC<Props> = ({ label, required, disabled, variant = 'checkbox' }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<boolean | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const checked = state.value ?? false;\n const isDisabled = disabled || isSubmitting;\n\n const onCheckedChange = useCallback(\n (value: boolean) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center gap-2 h-9\">\n {variant === 'switch' ? (\n <Switch id={id} name={name} checked={checked} disabled={isDisabled} aria-invalid={_invalid} onBlur={handleBlur} onCheckedChange={onCheckedChange} />\n ) : (\n <Checkbox id={id} name={name} checked={checked} disabled={isDisabled} aria-invalid={_invalid} onBlur={handleBlur} onCheckedChange={onCheckedChange} />\n )}\n {label && (\n <Label htmlFor={id} className=\"cursor-pointer\">\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"iXAoBA,MAAa,GAAuC,CAAE,QAAO,WAAU,WAAU,UAAU,cAAiB,CAC1G,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAwC,EAE1F,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAU,EAAM,OAAS,GACzB,EAAa,GAAY,EAEzB,EAAkB,EACrB,GAAmB,CACd,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,CACE,EAAC,MAAD,CAAK,UAAU,8BAAf,SAAA,CAEI,EADD,IAAY,SACV,EAEA,EAFD,CAAY,KAAU,OAAe,UAAS,SAAU,EAAY,eAAc,EAAU,OAAQ,EAA6B,iBAAkB,CAEE,EAEtJ,GACC,EAAC,EAAD,CAAO,QAAS,EAAI,UAAU,iBAA9B,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,CAEN,CAAA,CAAA,CACJ,CAAA,EAAA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region packages/components/cards/simple-card.d.ts
|
|
2
|
+
type Props = {
|
|
3
|
+
/** The card's heading text displayed in the header. */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Optional subtitle or description shown below the title. */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Optional node rendered as a card action (e.g. a button) in the header. */
|
|
8
|
+
action?: React.ReactNode;
|
|
9
|
+
/** Optional node rendered inside the card footer. */
|
|
10
|
+
footer?: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A general-purpose card with a header, optional description, action slot, content area, and footer.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { SimpleCard } from '@customafk/lunas-ui/cards/simple-card';
|
|
18
|
+
*
|
|
19
|
+
* <SimpleCard title="Summary" description="Overview of results">
|
|
20
|
+
* <p>Card body content goes here.</p>
|
|
21
|
+
* </SimpleCard>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
declare const SimpleCard: ({ title, description, action, footer, children }: React.PropsWithChildren<Props>) => import("react").JSX.Element;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { SimpleCard as t };
|
|
27
|
+
//# sourceMappingURL=simple-card-Dhf9UXBg.d.cts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region packages/components/cards/simple-card.d.ts
|
|
2
|
+
type Props = {
|
|
3
|
+
/** The card's heading text displayed in the header. */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Optional subtitle or description shown below the title. */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Optional node rendered as a card action (e.g. a button) in the header. */
|
|
8
|
+
action?: React.ReactNode;
|
|
9
|
+
/** Optional node rendered inside the card footer. */
|
|
10
|
+
footer?: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A general-purpose card with a header, optional description, action slot, content area, and footer.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { SimpleCard } from '@customafk/lunas-ui/cards/simple-card';
|
|
18
|
+
*
|
|
19
|
+
* <SimpleCard title="Summary" description="Overview of results">
|
|
20
|
+
* <p>Card body content goes here.</p>
|
|
21
|
+
* </SimpleCard>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
declare const SimpleCard: ({ title, description, action, footer, children }: React.PropsWithChildren<Props>) => import("react").JSX.Element;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { SimpleCard as t };
|
|
27
|
+
//# sourceMappingURL=simple-card-Dhf9UXBg.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./ui/button.cjs"),t=require("./ui/command.cjs"),n=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-combobox-field-
|
|
1
|
+
const e=require("./ui/button.cjs"),t=require("./ui/command.cjs"),n=require("./tanstack-form-BxqS40rB.cjs"),r=require("./ui/popover.cjs"),i=require("./ui/label.cjs"),a=require("./ui/drawer.cjs"),o=require("./field-BSLi-P0Q.cjs");let s=require("react"),c=require("@customafk/react-toolkit/utils"),l=require("react/jsx-runtime"),u=require("@tanstack/react-form"),d=require("@customafk/react-toolkit/hooks/useMobile");const f=({label:f,placeholder:p,required:m,disabled:h,options:g})=>{let _=(0,s.useId)(),{form:v,state:y,handleBlur:b,handleChange:x}=n.G(),S=(0,u.useStore)(v.store,({isSubmitting:e})=>e),C=(0,d.useIsMobile)(),[w,T]=(0,s.useState)(!1),E=y.meta.isTouched&&!y.meta.isValid,D=h||S,O=g.find(({value:e})=>e===y.value)?.label,k=(0,l.jsxs)(t.Command,{children:[(0,l.jsx)(t.CommandInput,{placeholder:p??`Tìm kiếm…`}),(0,l.jsxs)(t.CommandList,{children:[(0,l.jsx)(t.CommandEmpty,{children:`Không tìm thấy kết quả.`}),(0,l.jsx)(t.CommandGroup,{children:g.map(e=>(0,l.jsx)(t.CommandItem,{value:e.label,onSelect:()=>{x(e.value===y.value?null:e.value),T(!1)},children:e.label},e.value))})]})]});return C?(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f&&(0,l.jsxs)(i.Label,{htmlFor:_,children:[f,m&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsx)(e.Button,{id:_,type:`button`,variant:`outline`,color:`muted`,disabled:D,"aria-invalid":E,className:(0,c.cn)(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!y.value&&`text-text-positive-muted`,E&&`outline-danger bg-danger-bg-subtle`),onBlur:b,onClick:()=>T(!0),children:O??(0,l.jsx)(`span`,{className:`text-text-positive-muted`,children:p})}),(0,l.jsx)(a.Drawer,{open:w,onOpenChange:T,direction:`bottom`,children:(0,l.jsxs)(a.DrawerContent,{children:[(0,l.jsx)(a.DrawerHeader,{children:(0,l.jsx)(a.DrawerTitle,{children:f??p??`Tìm kiếm…`})}),(0,l.jsx)(`div`,{className:`overflow-y-auto pb-safe-bottom`,children:k})]})}),E&&(0,l.jsx)(o.FieldError,{errors:y.meta.errors})]}):(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f&&(0,l.jsxs)(i.Label,{htmlFor:_,children:[f,m&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsxs)(r.Popover,{children:[(0,l.jsx)(r.PopoverTrigger,{asChild:!0,children:(0,l.jsx)(e.Button,{id:_,variant:`outline`,color:`muted`,size:`lg`,disabled:D,"aria-invalid":E,className:(0,c.cn)(`flex w-full items-center justify-start rounded outline-border font-normal`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,!y.value&&`text-text-positive-muted`),children:O??(0,l.jsx)(`span`,{className:`text-text-positive-muted`,children:p})})}),(0,l.jsx)(r.PopoverContent,{align:`start`,side:`bottom`,className:`w-[--radix-popover-trigger-width] p-0 rounded`,onBlur:b,children:k})]}),E&&(0,l.jsx)(o.FieldError,{errors:y.meta.errors})]})};exports.SimpleComboboxField=f;
|
|
2
|
+
//# sourceMappingURL=simple-combobox-field-Cp5dfQv3.cjs.map
|
package/dist/{simple-combobox-field-CeV40wnv.cjs.map → simple-combobox-field-Cp5dfQv3.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-combobox-field-
|
|
1
|
+
{"version":3,"file":"simple-combobox-field-Cp5dfQv3.cjs","names":["useTanStackFieldContext","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Label","Button","Drawer","DrawerContent","DrawerHeader","DrawerTitle","FieldError","Popover","PopoverTrigger","PopoverContent"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-combobox-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '@/components/ui/command';\nimport { Drawer, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleComboboxField: React.FC<Props> = ({ label, placeholder, required, disabled, options }) => {\n const id = useId();\n const { form, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const isDisabled = disabled || isSubmitting;\n\n const selectedLabel = options.find(({ value }) => value === state.value)?.label;\n\n const commandList = (\n <Command>\n <CommandInput placeholder={placeholder ?? 'Tìm kiếm…'} />\n <CommandList>\n <CommandEmpty>Không tìm thấy kết quả.</CommandEmpty>\n <CommandGroup>\n {options.map(option => (\n <CommandItem\n key={option.value}\n value={option.label}\n onSelect={() => {\n handleChange(option.value === state.value ? null : option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n );\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Tìm kiếm…'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"overflow-y-auto pb-safe-bottom\">{commandList}</div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Popover>\n <PopoverTrigger asChild>\n <Button\n id={id}\n variant=\"outline\"\n color=\"muted\"\n size=\"lg\"\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={cn(\n 'flex w-full items-center justify-start rounded outline-border font-normal',\n 'hover:bg-transparent',\n 'focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak',\n 'data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak',\n !state.value && 'text-text-positive-muted'\n )}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent align=\"start\" side=\"bottom\" className=\"w-[--radix-popover-trigger-width] p-0 rounded\" onBlur={handleBlur}>\n {commandList}\n </PopoverContent>\n </Popover>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Button as e}from"./ui/button.mjs";import{Command as t,CommandEmpty as n,CommandGroup as r,CommandInput as i,CommandItem as a,CommandList as o}from"./ui/command.mjs";import{G as s}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-combobox-field-
|
|
1
|
+
import{Button as e}from"./ui/button.mjs";import{Command as t,CommandEmpty as n,CommandGroup as r,CommandInput as i,CommandItem as a,CommandList as o}from"./ui/command.mjs";import{G as s}from"./tanstack-form-q9hDCc0Y.mjs";import{Popover as c,PopoverContent as l,PopoverTrigger as u}from"./ui/popover.mjs";import{Label as d}from"./ui/label.mjs";import{Drawer as f,DrawerContent as p,DrawerHeader as m,DrawerTitle as h}from"./ui/drawer.mjs";import{FieldError as g}from"./field-V2DoD8qL.mjs";import{useId as _,useState as v}from"react";import{cn as y}from"@customafk/react-toolkit/utils";import{jsx as b,jsxs as x}from"react/jsx-runtime";import{useStore as S}from"@tanstack/react-form";import{useIsMobile as C}from"@customafk/react-toolkit/hooks/useMobile";const w=({label:w,placeholder:T,required:E,disabled:D,options:O})=>{let k=_(),{form:A,state:j,handleBlur:M,handleChange:N}=s(),P=S(A.store,({isSubmitting:e})=>e),F=C(),[I,L]=v(!1),R=j.meta.isTouched&&!j.meta.isValid,z=D||P,B=O.find(({value:e})=>e===j.value)?.label,V=x(t,{children:[b(i,{placeholder:T??`Tìm kiếm…`}),x(o,{children:[b(n,{children:`Không tìm thấy kết quả.`}),b(r,{children:O.map(e=>b(a,{value:e.label,onSelect:()=>{N(e.value===j.value?null:e.value),L(!1)},children:e.label},e.value))})]})]});return F?x(`div`,{className:`flex flex-col gap-1.5`,children:[w&&x(d,{htmlFor:k,children:[w,E&&b(`span`,{className:`text-danger-strong`,children:`*`})]}),b(e,{id:k,type:`button`,variant:`outline`,color:`muted`,disabled:z,"aria-invalid":R,className:y(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!j.value&&`text-text-positive-muted`,R&&`outline-danger bg-danger-bg-subtle`),onBlur:M,onClick:()=>L(!0),children:B??b(`span`,{className:`text-text-positive-muted`,children:T})}),b(f,{open:I,onOpenChange:L,direction:`bottom`,children:x(p,{children:[b(m,{children:b(h,{children:w??T??`Tìm kiếm…`})}),b(`div`,{className:`overflow-y-auto pb-safe-bottom`,children:V})]})}),R&&b(g,{errors:j.meta.errors})]}):x(`div`,{className:`flex flex-col gap-1.5`,children:[w&&x(d,{htmlFor:k,children:[w,E&&b(`span`,{className:`text-danger-strong`,children:`*`})]}),x(c,{children:[b(u,{asChild:!0,children:b(e,{id:k,variant:`outline`,color:`muted`,size:`lg`,disabled:z,"aria-invalid":R,className:y(`flex w-full items-center justify-start rounded outline-border font-normal`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,!j.value&&`text-text-positive-muted`),children:B??b(`span`,{className:`text-text-positive-muted`,children:T})})}),b(l,{align:`start`,side:`bottom`,className:`w-[--radix-popover-trigger-width] p-0 rounded`,onBlur:M,children:V})]}),R&&b(g,{errors:j.meta.errors})]})};export{w as SimpleComboboxField};
|
|
2
|
+
//# sourceMappingURL=simple-combobox-field-D6IaMJKl.mjs.map
|