@customafk/lunas-ui 0.2.65 → 0.2.67
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 +41 -0
- package/dist/FeatureDeveloping-zuTTDIh_.d.mts +41 -0
- package/dist/FeatureFixing-DYQlgHPk.d.cts +41 -0
- package/dist/FeatureFixing-DYQlgHPk.d.mts +41 -0
- package/dist/LoginPage-vMXvwtxf.d.cts +53 -0
- package/dist/LoginPage-vMXvwtxf.d.mts +53 -0
- package/dist/NotAuthorized-CZIQ6EaA.d.cts +41 -0
- package/dist/NotAuthorized-CZIQ6EaA.d.mts +41 -0
- package/dist/NotFound-CRSKxhV8.d.cts +41 -0
- package/dist/NotFound-CRSKxhV8.d.mts +41 -0
- package/dist/RegisterPage-BBtpEzvL.d.cts +50 -0
- package/dist/RegisterPage-BBtpEzvL.d.mts +50 -0
- package/dist/VerifyEmailPage-CsmIeYLu.d.cts +62 -0
- package/dist/VerifyEmailPage-CsmIeYLu.d.mts +62 -0
- package/dist/{action-submit-3kZ7JOop.cjs → action-submit-42PxGLsR.cjs} +2 -2
- package/dist/{action-submit-3kZ7JOop.cjs.map → action-submit-42PxGLsR.cjs.map} +1 -1
- package/dist/{action-submit-Dg5GvYz5.mjs → action-submit-SviPJW3i.mjs} +2 -2
- package/dist/{action-submit-Dg5GvYz5.mjs.map → action-submit-SviPJW3i.mjs.map} +1 -1
- package/dist/{actions-form-CE_enCgE.cjs → actions-form-Bo46j_dH.cjs} +2 -2
- package/dist/{actions-form-CE_enCgE.cjs.map → actions-form-Bo46j_dH.cjs.map} +1 -1
- package/dist/{actions-form-BL_B81Vg.mjs → actions-form-QdAsKwcQ.mjs} +2 -2
- package/dist/{actions-form-BL_B81Vg.mjs.map → actions-form-QdAsKwcQ.mjs.map} +1 -1
- package/dist/activity-heatmap-chart-DufvFndI.mjs +2 -0
- package/dist/activity-heatmap-chart-DufvFndI.mjs.map +1 -0
- package/dist/activity-heatmap-chart-gDcvIAK_.cjs +2 -0
- package/dist/activity-heatmap-chart-gDcvIAK_.cjs.map +1 -0
- package/dist/add-new-DkBwXh0Q.d.cts +16 -0
- package/dist/add-new-DkBwXh0Q.d.mts +16 -0
- package/dist/alert-dialog-Cdhz7jSj.d.cts +88 -0
- package/dist/alert-dialog-Cdhz7jSj.d.mts +88 -0
- package/dist/analysis-panel-BD2QvOth.mjs +2 -0
- package/dist/analysis-panel-BD2QvOth.mjs.map +1 -0
- package/dist/analysis-panel-UlC7cvO2.cjs +2 -0
- package/dist/analysis-panel-UlC7cvO2.cjs.map +1 -0
- package/dist/aspect-ratio-huscluwJ.d.cts +22 -0
- package/dist/aspect-ratio-huscluwJ.d.mts +22 -0
- package/dist/avatar-BpeFwSkQ.d.cts +33 -0
- package/dist/avatar-BpeFwSkQ.d.mts +33 -0
- package/dist/avatar-name-display-BrpnTqa_.mjs +2 -0
- package/dist/avatar-name-display-BrpnTqa_.mjs.map +1 -0
- package/dist/avatar-name-display-CLi1DJUs.cjs +2 -0
- package/dist/avatar-name-display-CLi1DJUs.cjs.map +1 -0
- package/dist/{badge-D0InQSvM.d.cts → badge-MRT40pxM.d.cts} +3 -3
- package/dist/{badge-D0InQSvM.d.mts → badge-MRT40pxM.d.mts} +3 -3
- package/dist/badge-display-Bs0QeCJt.cjs +2 -0
- package/dist/badge-display-Bs0QeCJt.cjs.map +1 -0
- package/dist/badge-display-Dg5XM66P.mjs +2 -0
- package/dist/badge-display-Dg5XM66P.mjs.map +1 -0
- package/dist/boolean-display-BnN32_Jd.cjs +2 -0
- package/dist/boolean-display-BnN32_Jd.cjs.map +1 -0
- package/dist/boolean-display-DVn3UGuZ.mjs +2 -0
- package/dist/boolean-display-DVn3UGuZ.mjs.map +1 -0
- package/dist/breadcrumb-CSpScKZm.d.cts +69 -0
- package/dist/breadcrumb-CSpScKZm.d.mts +69 -0
- package/dist/{button-DIqm3YRo.d.cts → button-Bk4Y6_9I.d.cts} +3 -3
- package/dist/{button-DIqm3YRo.d.mts → button-Bk4Y6_9I.d.mts} +3 -3
- package/dist/button-group-Cd5m5G3p.d.mts +48 -0
- package/dist/button-group-CiKhLVCg.d.cts +48 -0
- package/dist/calendar-DPKt7D3w.d.mts +43 -0
- package/dist/calendar-stv2bJv0.d.cts +43 -0
- package/dist/candlestick-chart-CiBiCU3y.mjs +2 -0
- package/dist/candlestick-chart-CiBiCU3y.mjs.map +1 -0
- package/dist/candlestick-chart-CqmRkfXj.cjs +2 -0
- package/dist/candlestick-chart-CqmRkfXj.cjs.map +1 -0
- package/dist/card-DOnx7RKz.d.cts +60 -0
- package/dist/card-DOnx7RKz.d.mts +60 -0
- package/dist/cards/grid-product-card.d.cts +2 -30
- package/dist/cards/grid-product-card.d.mts +2 -30
- package/dist/cards/product-card.d.cts +2 -30
- package/dist/cards/product-card.d.mts +2 -30
- package/dist/cards/simple-card.d.cts +2 -29
- package/dist/cards/simple-card.d.mts +2 -29
- package/dist/carousel-CV3IZ96x.d.mts +70 -0
- package/dist/carousel-c2XuzmYN.d.cts +70 -0
- package/dist/chart-sYFksFMk.d.cts +80 -0
- package/dist/chart-sYFksFMk.d.mts +80 -0
- package/dist/checkbox-XfLNnG0S.d.cts +24 -0
- package/dist/checkbox-XfLNnG0S.d.mts +24 -0
- package/dist/{checkbox-field-DdeohRmi.cjs → checkbox-field-B1vCz-Wf.cjs} +2 -2
- package/dist/{checkbox-field-DdeohRmi.cjs.map → checkbox-field-B1vCz-Wf.cjs.map} +1 -1
- package/dist/{checkbox-field-CRcfuDu1.mjs → checkbox-field-FqCe38_D.mjs} +2 -2
- package/dist/{checkbox-field-CRcfuDu1.mjs.map → checkbox-field-FqCe38_D.mjs.map} +1 -1
- package/dist/{cms-layout-SubgSF72.cjs → cms-layout-CGGJqbr0.cjs} +2 -2
- package/dist/{cms-layout-SubgSF72.cjs.map → cms-layout-CGGJqbr0.cjs.map} +1 -1
- package/dist/{cms-layout-CuF5ahpj.mjs → cms-layout-ePySxIQN.mjs} +2 -2
- package/dist/{cms-layout-CuF5ahpj.mjs.map → cms-layout-ePySxIQN.mjs.map} +1 -1
- package/dist/collapsible-liIHmFuw.d.cts +32 -0
- package/dist/collapsible-liIHmFuw.d.mts +32 -0
- package/dist/combobox-field-D6fiCcvU.mjs +2 -0
- package/dist/{combobox-field-BGChwajc.mjs.map → combobox-field-D6fiCcvU.mjs.map} +1 -1
- package/dist/{combobox-field-D9NdSih1.cjs → combobox-field-DLpH6J9H.cjs} +2 -2
- package/dist/{combobox-field-D9NdSih1.cjs.map → combobox-field-DLpH6J9H.cjs.map} +1 -1
- package/dist/command-Bb6SneVI.d.mts +87 -0
- package/dist/command-CHSJVU9o.d.cts +87 -0
- package/dist/confirm-dialog-B8Vu0z8S.d.cts +142 -0
- package/dist/confirm-dialog-B8Vu0z8S.d.mts +142 -0
- package/dist/context-menu-BOlGSuep.d.cts +123 -0
- package/dist/context-menu-BOlGSuep.d.mts +123 -0
- package/dist/conversion-funnel-chart-CW_zDfKS.mjs +2 -0
- package/dist/conversion-funnel-chart-CW_zDfKS.mjs.map +1 -0
- package/dist/conversion-funnel-chart-r2m2QbiQ.cjs +2 -0
- package/dist/conversion-funnel-chart-r2m2QbiQ.cjs.map +1 -0
- package/dist/correlation-scatter-chart-Djtt7NU7.mjs +2 -0
- package/dist/correlation-scatter-chart-Djtt7NU7.mjs.map +1 -0
- package/dist/correlation-scatter-chart-HF48YUIB.cjs +2 -0
- package/dist/correlation-scatter-chart-HF48YUIB.cjs.map +1 -0
- package/dist/country-C8QijcHF.d.mts +21 -0
- package/dist/country-CJIaO0I7.d.cts +21 -0
- package/dist/currency-display-CKLQ_lxN.mjs +2 -0
- package/dist/currency-display-CKLQ_lxN.mjs.map +1 -0
- package/dist/currency-display-CZ6PJAzu.cjs +2 -0
- package/dist/currency-display-CZ6PJAzu.cjs.map +1 -0
- package/dist/data-display/country.d.cts +2 -21
- package/dist/data-display/country.d.mts +2 -21
- package/dist/data-display/data-list.d.cts +2 -38
- package/dist/data-display/data-list.d.mts +2 -38
- package/dist/data-display/date-tooltip.d.cts +2 -18
- package/dist/data-display/date-tooltip.d.mts +2 -18
- package/dist/data-display/date.d.cts +2 -39
- package/dist/data-display/date.d.mts +2 -39
- package/dist/data-display/empty.d.cts +2 -19
- package/dist/data-display/empty.d.mts +2 -19
- package/dist/data-display/name.d.cts +2 -18
- package/dist/data-display/name.d.mts +2 -18
- package/dist/data-display/phone-number.d.cts +2 -18
- package/dist/data-display/phone-number.d.mts +2 -18
- package/dist/data-display/role-badge.d.cts +2 -21
- package/dist/data-display/role-badge.d.mts +2 -21
- package/dist/data-display/statistic.d.cts +2 -45
- package/dist/data-display/statistic.d.mts +2 -45
- package/dist/data-display/user.d.cts +2 -20
- package/dist/data-display/user.d.mts +2 -20
- package/dist/data-list-Cg510z2m.d.cts +38 -0
- package/dist/data-list-Cg510z2m.d.mts +38 -0
- package/dist/date-KANPBbN4.d.cts +39 -0
- package/dist/date-KANPBbN4.d.mts +39 -0
- package/dist/date-display-BQOVmN7S.cjs +2 -0
- package/dist/date-display-BQOVmN7S.cjs.map +1 -0
- package/dist/date-display-BrCdJkmq.mjs +2 -0
- package/dist/date-display-BrCdJkmq.mjs.map +1 -0
- package/dist/{date-field-Dm4ki1HS.mjs → date-field-Cxbrc0Vl.mjs} +2 -2
- package/dist/{date-field-Dm4ki1HS.mjs.map → date-field-Cxbrc0Vl.mjs.map} +1 -1
- package/dist/{date-field-BqAX4M_h.cjs → date-field-RvEB9F1r.cjs} +2 -2
- package/dist/{date-field-BqAX4M_h.cjs.map → date-field-RvEB9F1r.cjs.map} +1 -1
- package/dist/date-tooltip-DptxGOj_.d.cts +18 -0
- package/dist/date-tooltip-DptxGOj_.d.mts +18 -0
- package/dist/description-display-BQFLzI2g.mjs +2 -0
- package/dist/description-display-BQFLzI2g.mjs.map +1 -0
- package/dist/description-display-DnDAB3a1.cjs +2 -0
- package/dist/description-display-DnDAB3a1.cjs.map +1 -0
- package/dist/{dialog-form-ClWBZbUN.mjs → dialog-form-C0W5C0u9.mjs} +2 -2
- package/dist/{dialog-form-ClWBZbUN.mjs.map → dialog-form-C0W5C0u9.mjs.map} +1 -1
- package/dist/{dialog-form-DN-NlQFO.cjs → dialog-form-CkNCwzWG.cjs} +2 -2
- package/dist/{dialog-form-DN-NlQFO.cjs.map → dialog-form-CkNCwzWG.cjs.map} +1 -1
- package/dist/dialogs/confirm-dialog.d.cts +2 -142
- package/dist/dialogs/confirm-dialog.d.mts +2 -142
- 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 +50 -38
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +50 -38
- 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 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.d.cts +2 -36
- package/dist/dialogs/detail-dialog/index.d.mts +2 -36
- package/dist/dialogs/detail-dialog/index.mjs +1 -1
- package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
- package/dist/dialogs/error-dialog.d.cts +2 -22
- package/dist/dialogs/error-dialog.d.mts +2 -22
- package/dist/dialogs/loading-dialog.d.cts +2 -19
- package/dist/dialogs/loading-dialog.d.mts +2 -19
- package/dist/donut-chart-CsPPKy0G.cjs +2 -0
- package/dist/donut-chart-CsPPKy0G.cjs.map +1 -0
- package/dist/donut-chart-eKZjuzW0.mjs +2 -0
- package/dist/donut-chart-eKZjuzW0.mjs.map +1 -0
- package/dist/drawer-Dwx99ff3.d.cts +70 -0
- package/dist/drawer-Dwx99ff3.d.mts +70 -0
- package/dist/dropdown-menu-CcMccVns.d.cts +125 -0
- package/dist/dropdown-menu-CcMccVns.d.mts +125 -0
- package/dist/edit-button-0_FLZoT3.cjs +2 -0
- package/dist/edit-button-0_FLZoT3.cjs.map +1 -0
- package/dist/edit-button-DmMFMzG0.mjs +2 -0
- package/dist/edit-button-DmMFMzG0.mjs.map +1 -0
- package/dist/edit-qfS5kOtM.d.cts +16 -0
- package/dist/edit-qfS5kOtM.d.mts +16 -0
- package/dist/email-display-D6ZgA_en.cjs +2 -0
- package/dist/email-display-D6ZgA_en.cjs.map +1 -0
- package/dist/email-display-m745lUts.mjs +2 -0
- package/dist/email-display-m745lUts.mjs.map +1 -0
- package/dist/{email-field-lDd9ouFN.cjs → email-field-BErx3liY.cjs} +2 -2
- package/dist/{email-field-lDd9ouFN.cjs.map → email-field-BErx3liY.cjs.map} +1 -1
- package/dist/{email-field-DZNR_JbT.mjs → email-field-BtcdBWL4.mjs} +2 -2
- package/dist/{email-field-DZNR_JbT.mjs.map → email-field-BtcdBWL4.mjs.map} +1 -1
- package/dist/empty-CaNJjp05.d.cts +65 -0
- package/dist/empty-CaNJjp05.d.mts +65 -0
- package/dist/empty-ClQptIZH.d.cts +19 -0
- package/dist/empty-ClQptIZH.d.mts +19 -0
- package/dist/error-dialog-D4jOPhmw.d.cts +22 -0
- package/dist/error-dialog-D4jOPhmw.d.mts +22 -0
- package/dist/features/charts/index.cjs +1 -1
- package/dist/features/charts/index.cjs.map +1 -1
- package/dist/features/charts/index.d.cts +2 -904
- package/dist/features/charts/index.d.mts +2 -904
- package/dist/features/charts/index.mjs +1 -1
- package/dist/features/charts/index.mjs.map +1 -1
- package/dist/features/descriptions/index.cjs +1 -1
- package/dist/features/descriptions/index.cjs.map +1 -1
- package/dist/features/descriptions/index.d.cts +2 -231
- package/dist/features/descriptions/index.d.mts +2 -231
- package/dist/features/descriptions/index.mjs +1 -1
- package/dist/features/descriptions/index.mjs.map +1 -1
- package/dist/features/search-modal/index.d.cts +2 -14
- package/dist/features/search-modal/index.d.mts +2 -14
- package/dist/features/tables/index.cjs +1 -1
- package/dist/features/tables/index.d.cts +2 -2
- package/dist/features/tables/index.d.mts +2 -2
- package/dist/features/tables/index.mjs +1 -1
- package/dist/features/tanstack-form/index.cjs +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/file-uploader-U64lH0zG.d.cts +101 -0
- package/dist/file-uploader-U64lH0zG.d.mts +101 -0
- package/dist/filter-Bb9_Blk3.cjs +2 -0
- package/dist/filter-Bb9_Blk3.cjs.map +1 -0
- package/dist/filter-CG6wQHRd.mjs +2 -0
- package/dist/filter-CG6wQHRd.mjs.map +1 -0
- package/dist/flex-bw7U4hXn.d.cts +114 -0
- package/dist/flex-bw7U4hXn.d.mts +114 -0
- package/dist/form-CMP15S4r.d.cts +109 -0
- package/dist/form-CMP15S4r.d.mts +109 -0
- package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs +2 -0
- package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs.map +1 -0
- package/dist/gain-loss-bar-chart-FUzN7DxF.cjs +2 -0
- package/dist/gain-loss-bar-chart-FUzN7DxF.cjs.map +1 -0
- package/dist/google-Bl-jBW8L.d.cts +48 -0
- package/dist/google-Bl-jBW8L.d.mts +48 -0
- package/dist/grid-i7Oz2Izf.d.cts +19 -0
- package/dist/grid-i7Oz2Izf.d.mts +19 -0
- package/dist/grid-product-card-bpADqDOQ.d.cts +30 -0
- package/dist/grid-product-card-bpADqDOQ.d.mts +30 -0
- package/dist/hover-card-Prwm-0Q4.d.cts +35 -0
- package/dist/hover-card-Prwm-0Q4.d.mts +35 -0
- package/dist/image-Cln0r7Eb.d.cts +27 -0
- package/dist/image-Cln0r7Eb.d.mts +27 -0
- package/dist/{index-C4isgHWG.d.cts → index-BRE7tL8d.d.cts} +121 -500
- package/dist/index-C2HFO3a9.d.mts +231 -0
- package/dist/index-C9eXmnvk.d.cts +36 -0
- package/dist/index-C9eXmnvk.d.mts +36 -0
- package/dist/index-CBntsHIg.d.cts +520 -0
- package/dist/index-CBntsHIg.d.mts +520 -0
- package/dist/{index-DOaKN0wJ.d.mts → index-D9bKlLiM.d.cts} +2 -22
- package/dist/{index-DOaKN0wJ.d.cts → index-D9bKlLiM.d.mts} +2 -22
- package/dist/index-DJiiPHPf.d.cts +59 -0
- package/dist/index-DJiiPHPf.d.mts +59 -0
- package/dist/index-DtIL69PB.d.cts +14 -0
- package/dist/index-DtIL69PB.d.mts +14 -0
- package/dist/{index-C8W56XKm.d.mts → index-DvoLzsh0.d.mts} +121 -500
- package/dist/index-fZChR7MS.d.cts +231 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +91 -91
- package/dist/index.d.mts +91 -91
- package/dist/index.mjs +1 -1
- package/dist/indexed-performance-line-chart-CT79KOM6.cjs +2 -0
- package/dist/indexed-performance-line-chart-CT79KOM6.cjs.map +1 -0
- package/dist/indexed-performance-line-chart-D7F-rIMv.mjs +2 -0
- package/dist/indexed-performance-line-chart-D7F-rIMv.mjs.map +1 -0
- package/dist/{input-go3H4EQz.d.cts → input-BieGEIDf.d.cts} +2 -2
- package/dist/{input-go3H4EQz.d.mts → input-BieGEIDf.d.mts} +2 -2
- package/dist/input-otp-6hJfhBHX.d.cts +56 -0
- package/dist/input-otp-6hJfhBHX.d.mts +56 -0
- package/dist/item-DTR2f2CX.d.cts +99 -0
- package/dist/item-cIhkI3ZI.d.mts +99 -0
- package/dist/label-DPG_GY7h.d.cts +22 -0
- package/dist/label-DPG_GY7h.d.mts +22 -0
- package/dist/layouts/cms-layout/index.cjs +1 -1
- package/dist/layouts/cms-layout/index.mjs +1 -1
- package/dist/layouts/flex.d.cts +2 -114
- package/dist/layouts/flex.d.mts +2 -114
- package/dist/layouts/grid.d.cts +2 -19
- package/dist/layouts/grid.d.mts +2 -19
- package/dist/layouts/payment-layout/index.cjs +1 -1
- package/dist/layouts/payment-layout/index.d.cts +2 -59
- package/dist/layouts/payment-layout/index.d.mts +2 -59
- package/dist/layouts/payment-layout/index.mjs +1 -1
- package/dist/list-display-8Jx6G5nk.mjs +2 -0
- package/dist/list-display-8Jx6G5nk.mjs.map +1 -0
- package/dist/list-display-BQjNDttz.cjs +2 -0
- package/dist/list-display-BQjNDttz.cjs.map +1 -0
- package/dist/loading-dialog-C73EJx9s.d.cts +19 -0
- package/dist/loading-dialog-C73EJx9s.d.mts +19 -0
- package/dist/menubar-CFrn3S96.d.cts +133 -0
- package/dist/menubar-CFrn3S96.d.mts +133 -0
- package/dist/metric-radar-chart-6LTGQHsL.mjs +2 -0
- package/dist/metric-radar-chart-6LTGQHsL.mjs.map +1 -0
- package/dist/metric-radar-chart-DwgbXgJX.cjs +2 -0
- package/dist/metric-radar-chart-DwgbXgJX.cjs.map +1 -0
- package/dist/mirrored-bar-chart-BT7AYPJB.mjs +2 -0
- package/dist/mirrored-bar-chart-BT7AYPJB.mjs.map +1 -0
- package/dist/mirrored-bar-chart-BwjtExjh.cjs +2 -0
- package/dist/mirrored-bar-chart-BwjtExjh.cjs.map +1 -0
- package/dist/more-button-BKBcXz6E.mjs +2 -0
- package/dist/more-button-BKBcXz6E.mjs.map +1 -0
- package/dist/more-button-RYvZgYiu.cjs +2 -0
- package/dist/more-button-RYvZgYiu.cjs.map +1 -0
- package/dist/multi-select-BbiKgAYs.d.cts +116 -0
- package/dist/multi-select-BoBHt_Z9.d.mts +116 -0
- package/dist/name-7aoM5rAW.d.cts +18 -0
- package/dist/name-7aoM5rAW.d.mts +18 -0
- package/dist/name-display-BBJoNnRG.mjs +2 -0
- package/dist/name-display-BBJoNnRG.mjs.map +1 -0
- package/dist/name-display-scAMZdyr.cjs +2 -0
- package/dist/name-display-scAMZdyr.cjs.map +1 -0
- package/dist/navigation-menu-B1BY9Zll.d.cts +73 -0
- package/dist/navigation-menu-B1BY9Zll.d.mts +73 -0
- package/dist/{number-field-Baj9Yhiv.mjs → number-field-BjVjf6s4.mjs} +2 -2
- package/dist/{number-field-Baj9Yhiv.mjs.map → number-field-BjVjf6s4.mjs.map} +1 -1
- package/dist/{number-field-BqeSbMvE.cjs → number-field-DmKh7bbY.cjs} +2 -2
- package/dist/{number-field-BqeSbMvE.cjs.map → number-field-DmKh7bbY.cjs.map} +1 -1
- package/dist/orders-bar-chart-9RmtP6In.cjs +2 -0
- package/dist/orders-bar-chart-9RmtP6In.cjs.map +1 -0
- package/dist/orders-bar-chart-DQhJGmwY.mjs +2 -0
- package/dist/orders-bar-chart-DQhJGmwY.mjs.map +1 -0
- package/dist/pages/FeatureDeveloping.d.cts +2 -41
- package/dist/pages/FeatureDeveloping.d.mts +2 -41
- package/dist/pages/FeatureFixing.d.cts +2 -41
- package/dist/pages/FeatureFixing.d.mts +2 -41
- package/dist/pages/LoginPage.cjs +1 -1
- package/dist/pages/LoginPage.cjs.map +1 -1
- package/dist/pages/LoginPage.d.cts +2 -53
- package/dist/pages/LoginPage.d.mts +2 -53
- package/dist/pages/LoginPage.mjs +1 -1
- package/dist/pages/LoginPage.mjs.map +1 -1
- package/dist/pages/NotAuthorized.d.cts +2 -41
- package/dist/pages/NotAuthorized.d.mts +2 -41
- package/dist/pages/NotFound.d.cts +2 -41
- package/dist/pages/NotFound.d.mts +2 -41
- package/dist/pages/RegisterPage.cjs +1 -1
- package/dist/pages/RegisterPage.cjs.map +1 -1
- package/dist/pages/RegisterPage.d.cts +2 -50
- package/dist/pages/RegisterPage.d.mts +2 -50
- package/dist/pages/RegisterPage.mjs +1 -1
- package/dist/pages/RegisterPage.mjs.map +1 -1
- package/dist/pages/VerifyEmailPage.d.cts +2 -62
- package/dist/pages/VerifyEmailPage.d.mts +2 -62
- package/dist/pagination-B2fyP0J2.d.cts +64 -0
- package/dist/pagination-DY0PBCnI.d.mts +64 -0
- package/dist/paragraph-BTmvVS1S.d.mts +46 -0
- package/dist/paragraph-DbYYv0A0.d.cts +46 -0
- package/dist/{password-field-fzpU42sV.mjs → password-field-C5FsQUa8.mjs} +2 -2
- package/dist/{password-field-fzpU42sV.mjs.map → password-field-C5FsQUa8.mjs.map} +1 -1
- package/dist/{password-field-Cq0S949S.cjs → password-field-gHYDiXWY.cjs} +2 -2
- package/dist/{password-field-Cq0S949S.cjs.map → password-field-gHYDiXWY.cjs.map} +1 -1
- package/dist/payment-layout-Cb-Q8KD2.cjs +2 -0
- package/dist/{payment-layout-BLrXT-oc.cjs.map → payment-layout-Cb-Q8KD2.cjs.map} +1 -1
- package/dist/{payment-layout-Dsz6wYT1.mjs → payment-layout-DS5CEH1h.mjs} +2 -2
- package/dist/{payment-layout-Dsz6wYT1.mjs.map → payment-layout-DS5CEH1h.mjs.map} +1 -1
- package/dist/permalink-CZ3g9daG.mjs +2 -0
- package/dist/permalink-CZ3g9daG.mjs.map +1 -0
- package/dist/permalink-DeeEKhfc.cjs +2 -0
- package/dist/permalink-DeeEKhfc.cjs.map +1 -0
- package/dist/phone-number-6b_pkGI1.d.cts +18 -0
- package/dist/phone-number-6b_pkGI1.d.mts +18 -0
- package/dist/phone-number-C43z68gT.mjs +2 -0
- package/dist/phone-number-C43z68gT.mjs.map +1 -0
- package/dist/phone-number-DhThJwd6.cjs +2 -0
- package/dist/phone-number-DhThJwd6.cjs.map +1 -0
- package/dist/popover-CdOCi0xg.d.cts +50 -0
- package/dist/popover-CdOCi0xg.d.mts +50 -0
- package/dist/{popover-form-DNbBGWVF.mjs → popover-form-B2taDBAh.mjs} +2 -2
- package/dist/{popover-form-DNbBGWVF.mjs.map → popover-form-B2taDBAh.mjs.map} +1 -1
- package/dist/{popover-form-KLmew1Vd.cjs → popover-form-_hQQpfAB.cjs} +2 -2
- package/dist/{popover-form-KLmew1Vd.cjs.map → popover-form-_hQQpfAB.cjs.map} +1 -1
- package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs +2 -0
- package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs.map +1 -0
- package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs +2 -0
- package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs.map +1 -0
- package/dist/price-range-area-chart-BW6RQb_9.cjs +2 -0
- package/dist/price-range-area-chart-BW6RQb_9.cjs.map +1 -0
- package/dist/price-range-area-chart-Dy01mhWJ.mjs +2 -0
- package/dist/price-range-area-chart-Dy01mhWJ.mjs.map +1 -0
- package/dist/product-card-CvXLXbpV.d.cts +30 -0
- package/dist/product-card-CvXLXbpV.d.mts +30 -0
- package/dist/progress-Bp-5keO8.d.cts +21 -0
- package/dist/progress-Bp-5keO8.d.mts +21 -0
- package/dist/progress-display-B45TkUcr.cjs +2 -0
- package/dist/progress-display-B45TkUcr.cjs.map +1 -0
- package/dist/progress-display-DvV-YhkE.mjs +2 -0
- package/dist/progress-display-DvV-YhkE.mjs.map +1 -0
- package/dist/{radio-group-field-DjzD3i-f.cjs → radio-group-field-McpjpLW-.cjs} +2 -2
- package/dist/{radio-group-field-DjzD3i-f.cjs.map → radio-group-field-McpjpLW-.cjs.map} +1 -1
- package/dist/{radio-group-field-Ps8yHpnH.mjs → radio-group-field-ZqMrf9Dx.mjs} +2 -2
- package/dist/{radio-group-field-Ps8yHpnH.mjs.map → radio-group-field-ZqMrf9Dx.mjs.map} +1 -1
- package/dist/radio-group-ycQQrPGn.d.cts +35 -0
- package/dist/radio-group-ycQQrPGn.d.mts +35 -0
- package/dist/refresh-BiyrZAXL.d.cts +16 -0
- package/dist/refresh-BiyrZAXL.d.mts +16 -0
- package/dist/remove-button-B3qFw-M5.cjs +2 -0
- package/dist/remove-button-B3qFw-M5.cjs.map +1 -0
- package/dist/remove-button-Db5oSj4h.mjs +2 -0
- package/dist/remove-button-Db5oSj4h.mjs.map +1 -0
- package/dist/{resizable-BLfxHCf4.d.cts → resizable-CAyWR1At.d.cts} +2 -2
- package/dist/{resizable-BLfxHCf4.d.mts → resizable-CAyWR1At.d.mts} +2 -2
- package/dist/revenue-area-chart-BwzeTRzD.mjs +2 -0
- package/dist/revenue-area-chart-BwzeTRzD.mjs.map +1 -0
- package/dist/revenue-area-chart-w2FZCl_7.cjs +2 -0
- package/dist/revenue-area-chart-w2FZCl_7.cjs.map +1 -0
- package/dist/revenue-orders-composed-chart-BttOWYGt.cjs +2 -0
- package/dist/revenue-orders-composed-chart-BttOWYGt.cjs.map +1 -0
- package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs +2 -0
- package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs.map +1 -0
- package/dist/role-badge-Bl4Rimpk.d.mts +21 -0
- package/dist/role-badge-IdZW0tsN.d.cts +21 -0
- package/dist/sales-target-radial-chart-BFLxBT2m.mjs +2 -0
- package/dist/sales-target-radial-chart-BFLxBT2m.mjs.map +1 -0
- package/dist/sales-target-radial-chart-BoxSk7hW.cjs +2 -0
- package/dist/sales-target-radial-chart-BoxSk7hW.cjs.map +1 -0
- package/dist/sankey-flow-chart-CDUqIRMZ.cjs +2 -0
- package/dist/sankey-flow-chart-CDUqIRMZ.cjs.map +1 -0
- package/dist/sankey-flow-chart-bQ3Dffet.mjs +2 -0
- package/dist/sankey-flow-chart-bQ3Dffet.mjs.map +1 -0
- package/dist/scroll-area-PbkqIAaH.d.cts +35 -0
- package/dist/scroll-area-PbkqIAaH.d.mts +35 -0
- package/dist/search-input-Bq4enQzR.d.cts +27 -0
- package/dist/search-input-D51_mAY-.d.mts +27 -0
- package/dist/select-B5j4WvPM.d.cts +74 -0
- package/dist/select-B5j4WvPM.d.mts +74 -0
- package/dist/{select-field-B4eU65OI.cjs → select-field-DG8sQ5iN.cjs} +2 -2
- package/dist/{select-field-B4eU65OI.cjs.map → select-field-DG8sQ5iN.cjs.map} +1 -1
- package/dist/{select-field-D6Dw-Jwg.mjs → select-field-Kq5iQCRQ.mjs} +2 -2
- package/dist/{select-field-D6Dw-Jwg.mjs.map → select-field-Kq5iQCRQ.mjs.map} +1 -1
- package/dist/separator-D6_fMJtM.d.cts +32 -0
- package/dist/separator-D6_fMJtM.d.mts +32 -0
- package/dist/sheet-cHLLSvvt.d.cts +66 -0
- package/dist/sheet-cHLLSvvt.d.mts +66 -0
- package/dist/sidebar-core-Bh0dZXsm.mjs +2 -0
- package/dist/sidebar-core-Bh0dZXsm.mjs.map +1 -0
- package/dist/sidebar-core-DQE6ymo4.cjs +2 -0
- package/dist/sidebar-core-DQE6ymo4.cjs.map +1 -0
- package/dist/{simple-array-field-Bcs2pHdp.cjs → simple-array-field-4paKpxXk.cjs} +2 -2
- package/dist/{simple-array-field-Bcs2pHdp.cjs.map → simple-array-field-4paKpxXk.cjs.map} +1 -1
- package/dist/{simple-array-field-9oZ-Smzp.mjs → simple-array-field-C5XdemXa.mjs} +2 -2
- package/dist/{simple-array-field-9oZ-Smzp.mjs.map → simple-array-field-C5XdemXa.mjs.map} +1 -1
- package/dist/{simple-boolean-field-C-qq6Vlt.cjs → simple-boolean-field-B9T_fHk9.cjs} +2 -2
- package/dist/{simple-boolean-field-C-qq6Vlt.cjs.map → simple-boolean-field-B9T_fHk9.cjs.map} +1 -1
- package/dist/{simple-boolean-field-CkJUMxNU.mjs → simple-boolean-field-DpJ-fSQk.mjs} +2 -2
- package/dist/{simple-boolean-field-CkJUMxNU.mjs.map → simple-boolean-field-DpJ-fSQk.mjs.map} +1 -1
- package/dist/simple-card-6P377r4A.d.cts +29 -0
- package/dist/simple-card-6P377r4A.d.mts +29 -0
- package/dist/{simple-combobox-field-5dfMd49B.mjs → simple-combobox-field-Ch4SBHCH.mjs} +2 -2
- package/dist/{simple-combobox-field-5dfMd49B.mjs.map → simple-combobox-field-Ch4SBHCH.mjs.map} +1 -1
- package/dist/{simple-combobox-field-BtmQGEo5.cjs → simple-combobox-field-ChMKk7xp.cjs} +2 -2
- package/dist/{simple-combobox-field-BtmQGEo5.cjs.map → simple-combobox-field-ChMKk7xp.cjs.map} +1 -1
- package/dist/{simple-date-field-LVfNhVJi.cjs → simple-date-field-BGGlsHzG.cjs} +2 -2
- package/dist/{simple-date-field-LVfNhVJi.cjs.map → simple-date-field-BGGlsHzG.cjs.map} +1 -1
- package/dist/{simple-date-field-BXoLb496.mjs → simple-date-field-CVKqIrEs.mjs} +2 -2
- package/dist/{simple-date-field-BXoLb496.mjs.map → simple-date-field-CVKqIrEs.mjs.map} +1 -1
- package/dist/{simple-email-field-rZZIXu7S.mjs → simple-email-field-98w0846B.mjs} +2 -2
- package/dist/{simple-email-field-rZZIXu7S.mjs.map → simple-email-field-98w0846B.mjs.map} +1 -1
- package/dist/{simple-email-field-QVUrm8f7.cjs → simple-email-field-DYqCWprP.cjs} +2 -2
- package/dist/{simple-email-field-QVUrm8f7.cjs.map → simple-email-field-DYqCWprP.cjs.map} +1 -1
- package/dist/{simple-number-field-P9PTwcs4.cjs → simple-number-field-otvv2xq-.cjs} +2 -2
- package/dist/{simple-number-field-P9PTwcs4.cjs.map → simple-number-field-otvv2xq-.cjs.map} +1 -1
- package/dist/{simple-number-field-PJAyAOMO.mjs → simple-number-field-zF3oqS8d.mjs} +2 -2
- package/dist/{simple-number-field-PJAyAOMO.mjs.map → simple-number-field-zF3oqS8d.mjs.map} +1 -1
- package/dist/{simple-password-field-BEuFXAsk.mjs → simple-password-field-CuC10c70.mjs} +2 -2
- package/dist/{simple-password-field-BEuFXAsk.mjs.map → simple-password-field-CuC10c70.mjs.map} +1 -1
- package/dist/{simple-password-field-BW6YkfSP.cjs → simple-password-field-D2UMmghM.cjs} +2 -2
- package/dist/{simple-password-field-BW6YkfSP.cjs.map → simple-password-field-D2UMmghM.cjs.map} +1 -1
- package/dist/{simple-radio-group-field-BtQHJpOz.cjs → simple-radio-group-field-C2DDfIUs.cjs} +2 -2
- package/dist/{simple-radio-group-field-BtQHJpOz.cjs.map → simple-radio-group-field-C2DDfIUs.cjs.map} +1 -1
- package/dist/{simple-radio-group-field-DiYQfgts.mjs → simple-radio-group-field-CfziNlLf.mjs} +2 -2
- package/dist/{simple-radio-group-field-DiYQfgts.mjs.map → simple-radio-group-field-CfziNlLf.mjs.map} +1 -1
- package/dist/{simple-select-field--zJMLBUY.cjs → simple-select-field-CeNnXUHN.cjs} +2 -2
- package/dist/{simple-select-field--zJMLBUY.cjs.map → simple-select-field-CeNnXUHN.cjs.map} +1 -1
- package/dist/{simple-select-field-Df4DLsbi.mjs → simple-select-field-DIaxhi1-.mjs} +2 -2
- package/dist/{simple-select-field-Df4DLsbi.mjs.map → simple-select-field-DIaxhi1-.mjs.map} +1 -1
- package/dist/{simple-text-field-zAfkmlhc.mjs → simple-text-field-D8jyznSd.mjs} +2 -2
- package/dist/{simple-text-field-zAfkmlhc.mjs.map → simple-text-field-D8jyznSd.mjs.map} +1 -1
- package/dist/{simple-text-field-DVkuHrhF.cjs → simple-text-field-LYWVIAfQ.cjs} +2 -2
- package/dist/{simple-text-field-DVkuHrhF.cjs.map → simple-text-field-LYWVIAfQ.cjs.map} +1 -1
- package/dist/{simple-textarea-field-BaMK0feA.cjs → simple-textarea-field-DcEvaizE.cjs} +2 -2
- package/dist/{simple-textarea-field-BaMK0feA.cjs.map → simple-textarea-field-DcEvaizE.cjs.map} +1 -1
- package/dist/{simple-textarea-field-q9DeFByl.mjs → simple-textarea-field-p9qX_n7m.mjs} +2 -2
- package/dist/{simple-textarea-field-q9DeFByl.mjs.map → simple-textarea-field-p9qX_n7m.mjs.map} +1 -1
- package/dist/skeleton-Ct4sYEKk.d.cts +24 -0
- package/dist/skeleton-Ct4sYEKk.d.mts +24 -0
- package/dist/slider-DwR1MhR8.d.cts +24 -0
- package/dist/slider-DwR1MhR8.d.mts +24 -0
- package/dist/sonner-B6LxJMYT.d.mts +22 -0
- package/dist/sonner-BcNgR0GP.d.cts +22 -0
- package/dist/sparkline-chart-TbGzakUl.mjs +2 -0
- package/dist/sparkline-chart-TbGzakUl.mjs.map +1 -0
- package/dist/sparkline-chart-sPqaJHep.cjs +2 -0
- package/dist/sparkline-chart-sPqaJHep.cjs.map +1 -0
- package/dist/spinner-CXuqcoB5.d.cts +22 -0
- package/dist/spinner-CXuqcoB5.d.mts +22 -0
- package/dist/stacked-area-chart-DyxY96_l.cjs +2 -0
- package/dist/stacked-area-chart-DyxY96_l.cjs.map +1 -0
- package/dist/stacked-area-chart-UIWIxTmq.mjs +2 -0
- package/dist/stacked-area-chart-UIWIxTmq.mjs.map +1 -0
- package/dist/statistic-8zBJMdRa.d.cts +45 -0
- package/dist/statistic-8zBJMdRa.d.mts +45 -0
- package/dist/statistic-BHCSCw9Q.cjs +2 -0
- package/dist/statistic-BHCSCw9Q.cjs.map +1 -0
- package/dist/statistic-DwiUKz02.mjs +2 -0
- package/dist/statistic-DwiUKz02.mjs.map +1 -0
- package/dist/status-display-BKe0EupF.mjs +2 -0
- package/dist/status-display-BKe0EupF.mjs.map +1 -0
- package/dist/status-display-BRJX53bQ.cjs +2 -0
- package/dist/status-display-BRJX53bQ.cjs.map +1 -0
- package/dist/summary-bar-ByYm7uWR.mjs +2 -0
- package/dist/summary-bar-ByYm7uWR.mjs.map +1 -0
- package/dist/summary-bar-DjdtmsIY.cjs +2 -0
- package/dist/summary-bar-DjdtmsIY.cjs.map +1 -0
- package/dist/switch-9v4AYqJb.d.cts +24 -0
- package/dist/switch-9v4AYqJb.d.mts +24 -0
- package/dist/{switch-field-B8HVvc2f.mjs → switch-field-CIoNsRWN.mjs} +2 -2
- package/dist/{switch-field-B8HVvc2f.mjs.map → switch-field-CIoNsRWN.mjs.map} +1 -1
- package/dist/{switch-field-C1uNuuku.cjs → switch-field-n6a5SaEM.cjs} +2 -2
- package/dist/{switch-field-C1uNuuku.cjs.map → switch-field-n6a5SaEM.cjs.map} +1 -1
- package/dist/systems/google.d.cts +2 -48
- package/dist/systems/google.d.mts +2 -48
- package/dist/table-Dg2D0v87.d.cts +70 -0
- package/dist/table-Dg2D0v87.d.mts +70 -0
- package/dist/tables-9d53sH9E.mjs +2 -0
- package/dist/tables-9d53sH9E.mjs.map +1 -0
- package/dist/tables-B1O9qy-m.cjs +2 -0
- package/dist/tables-B1O9qy-m.cjs.map +1 -0
- package/dist/tabs-CJ6qZcFU.d.cts +42 -0
- package/dist/tabs-CJ6qZcFU.d.mts +42 -0
- package/dist/tanstack-form-CNrZQZhn.cjs +2 -0
- package/dist/tanstack-form-CNrZQZhn.cjs.map +1 -0
- package/dist/tanstack-form-PC9YNeeo.mjs +2 -0
- package/dist/tanstack-form-PC9YNeeo.mjs.map +1 -0
- package/dist/text-editor-BYE2-G5K.mjs +2 -0
- package/dist/text-editor-BYE2-G5K.mjs.map +1 -0
- package/dist/text-editor-CfQk5dIx.cjs +2 -0
- package/dist/text-editor-CfQk5dIx.cjs.map +1 -0
- package/dist/{text-editor-field-CcsR48Jw.mjs → text-editor-field-fso-sw29.mjs} +2 -2
- package/dist/{text-editor-field-CcsR48Jw.mjs.map → text-editor-field-fso-sw29.mjs.map} +1 -1
- package/dist/{text-editor-field-BBDgCPuc.cjs → text-editor-field-gas5r-xy.cjs} +2 -2
- package/dist/{text-editor-field-BBDgCPuc.cjs.map → text-editor-field-gas5r-xy.cjs.map} +1 -1
- package/dist/{text-field-qhiYvQKt.mjs → text-field-B67oTV62.mjs} +2 -2
- package/dist/{text-field-qhiYvQKt.mjs.map → text-field-B67oTV62.mjs.map} +1 -1
- package/dist/{text-field-BhC_ik5w.cjs → text-field-BMo-8rsq.cjs} +2 -2
- package/dist/{text-field-BhC_ik5w.cjs.map → text-field-BMo-8rsq.cjs.map} +1 -1
- package/dist/textarea-C8ZIZh-y.d.cts +26 -0
- package/dist/textarea-C8ZIZh-y.d.mts +26 -0
- package/dist/{textarea-field-C-7ZoUMz.cjs → textarea-field-BUGcITwp.cjs} +2 -2
- package/dist/{textarea-field-C-7ZoUMz.cjs.map → textarea-field-BUGcITwp.cjs.map} +1 -1
- package/dist/{textarea-field-DqDciVSB.mjs → textarea-field-D70rGYIk.mjs} +2 -2
- package/dist/{textarea-field-DqDciVSB.mjs.map → textarea-field-D70rGYIk.mjs.map} +1 -1
- package/dist/title-BT9guhSU.d.cts +41 -0
- package/dist/title-BT9guhSU.d.mts +41 -0
- package/dist/toggle-Bh4EazxT.d.cts +30 -0
- package/dist/toggle-Bh4EazxT.d.mts +30 -0
- package/dist/toggle-button-DNLtfjJC.mjs +2 -0
- package/dist/toggle-button-DNLtfjJC.mjs.map +1 -0
- package/dist/toggle-button-Dq78v8cH.cjs +2 -0
- package/dist/toggle-button-Dq78v8cH.cjs.map +1 -0
- package/dist/toggle-group-BpqkL1ds.d.cts +37 -0
- package/dist/toggle-group-DzNE38v5.d.mts +37 -0
- package/dist/tooltip-D4U-RhIu.d.cts +53 -0
- package/dist/tooltip-D4U-RhIu.d.mts +53 -0
- package/dist/tooltip-DVK6xfZ1.cjs +4 -0
- package/dist/tooltip-DVK6xfZ1.cjs.map +1 -0
- package/dist/tooltip-lvpW5dMi.mjs +4 -0
- package/dist/tooltip-lvpW5dMi.mjs.map +1 -0
- package/dist/top-products-bar-chart-5EJFSkeo.cjs +2 -0
- package/dist/top-products-bar-chart-5EJFSkeo.cjs.map +1 -0
- package/dist/top-products-bar-chart-CKYaOGWT.mjs +2 -0
- package/dist/top-products-bar-chart-CKYaOGWT.mjs.map +1 -0
- package/dist/trash-BfWSqlL4.d.cts +16 -0
- package/dist/trash-BfWSqlL4.d.mts +16 -0
- package/dist/typography/paragraph.d.cts +2 -46
- package/dist/typography/paragraph.d.mts +2 -46
- package/dist/typography/title.d.cts +2 -41
- package/dist/typography/title.d.mts +2 -41
- package/dist/ui/alert-dialog.d.cts +2 -88
- package/dist/ui/alert-dialog.d.mts +2 -88
- package/dist/ui/aspect-ratio.d.cts +2 -22
- package/dist/ui/aspect-ratio.d.mts +2 -22
- package/dist/ui/avatar.d.cts +2 -33
- package/dist/ui/avatar.d.mts +2 -33
- package/dist/ui/badge.d.cts +1 -1
- package/dist/ui/badge.d.mts +1 -1
- package/dist/ui/breadcrumb.d.cts +2 -69
- package/dist/ui/breadcrumb.d.mts +2 -69
- package/dist/ui/button-group.d.cts +2 -48
- package/dist/ui/button-group.d.mts +2 -48
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/buttons/add-new.d.cts +2 -16
- package/dist/ui/buttons/add-new.d.mts +2 -16
- package/dist/ui/buttons/edit.d.cts +2 -16
- package/dist/ui/buttons/edit.d.mts +2 -16
- package/dist/ui/buttons/refresh.d.cts +2 -16
- package/dist/ui/buttons/refresh.d.mts +2 -16
- package/dist/ui/buttons/trash.d.cts +2 -16
- package/dist/ui/buttons/trash.d.mts +2 -16
- package/dist/ui/buttons/upload-image.d.cts +2 -23
- package/dist/ui/buttons/upload-image.d.mts +2 -23
- package/dist/ui/calendar.d.cts +2 -43
- package/dist/ui/calendar.d.mts +2 -43
- package/dist/ui/card.d.cts +2 -60
- package/dist/ui/card.d.mts +2 -60
- package/dist/ui/carousel.d.cts +2 -70
- package/dist/ui/carousel.d.mts +2 -70
- package/dist/ui/chart.d.cts +2 -80
- package/dist/ui/chart.d.mts +2 -80
- package/dist/ui/checkbox.d.cts +2 -24
- package/dist/ui/checkbox.d.mts +2 -24
- package/dist/ui/collapsible.d.cts +2 -32
- package/dist/ui/collapsible.d.mts +2 -32
- package/dist/ui/command.d.cts +2 -87
- package/dist/ui/command.d.mts +2 -87
- package/dist/ui/context-menu.d.cts +2 -123
- package/dist/ui/context-menu.d.mts +2 -123
- package/dist/ui/drawer.d.cts +2 -70
- package/dist/ui/drawer.d.mts +2 -70
- package/dist/ui/dropdown-menu.d.cts +2 -125
- package/dist/ui/dropdown-menu.d.mts +2 -125
- package/dist/ui/empty.d.cts +2 -65
- package/dist/ui/empty.d.mts +2 -65
- package/dist/ui/field.d.cts +1 -1
- package/dist/ui/field.d.mts +1 -1
- package/dist/ui/file-uploader.d.cts +2 -101
- package/dist/ui/file-uploader.d.mts +2 -101
- package/dist/ui/form.d.cts +2 -109
- package/dist/ui/form.d.mts +2 -109
- package/dist/ui/hover-card.d.cts +2 -35
- package/dist/ui/hover-card.d.mts +2 -35
- package/dist/ui/image.d.cts +2 -27
- package/dist/ui/image.d.mts +2 -27
- package/dist/ui/input-otp.d.cts +2 -56
- package/dist/ui/input-otp.d.mts +2 -56
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/inputs/search-input.d.cts +2 -27
- package/dist/ui/inputs/search-input.d.mts +2 -27
- package/dist/ui/item.d.cts +2 -99
- package/dist/ui/item.d.mts +2 -99
- package/dist/ui/label.d.cts +2 -22
- package/dist/ui/label.d.mts +2 -22
- package/dist/ui/menubar.d.cts +2 -133
- package/dist/ui/menubar.d.mts +2 -133
- package/dist/ui/multi-select.d.cts +2 -116
- package/dist/ui/multi-select.d.mts +2 -116
- package/dist/ui/navigation-menu.d.cts +2 -73
- package/dist/ui/navigation-menu.d.mts +2 -73
- package/dist/ui/pagination.d.cts +2 -64
- package/dist/ui/pagination.d.mts +2 -64
- package/dist/ui/popover.d.cts +2 -50
- package/dist/ui/popover.d.mts +2 -50
- package/dist/ui/progress.d.cts +2 -21
- package/dist/ui/progress.d.mts +2 -21
- package/dist/ui/radio-group.d.cts +2 -35
- package/dist/ui/radio-group.d.mts +2 -35
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.mts +1 -1
- package/dist/ui/scroll-area.d.cts +2 -35
- package/dist/ui/scroll-area.d.mts +2 -35
- package/dist/ui/select.d.cts +2 -74
- package/dist/ui/select.d.mts +2 -74
- package/dist/ui/separator.d.cts +2 -32
- package/dist/ui/separator.d.mts +2 -32
- package/dist/ui/sheet.d.cts +2 -66
- package/dist/ui/sheet.d.mts +2 -66
- package/dist/ui/skeleton.d.cts +2 -24
- package/dist/ui/skeleton.d.mts +2 -24
- package/dist/ui/slider.d.cts +2 -24
- package/dist/ui/slider.d.mts +2 -24
- package/dist/ui/sonner.d.cts +2 -22
- package/dist/ui/sonner.d.mts +2 -22
- package/dist/ui/spinner.d.cts +2 -22
- package/dist/ui/spinner.d.mts +2 -22
- package/dist/ui/switch.d.cts +2 -24
- package/dist/ui/switch.d.mts +2 -24
- package/dist/ui/table.d.cts +2 -70
- package/dist/ui/table.d.mts +2 -70
- package/dist/ui/tabs.d.cts +2 -42
- package/dist/ui/tabs.d.mts +2 -42
- package/dist/ui/textarea.d.cts +2 -26
- package/dist/ui/textarea.d.mts +2 -26
- package/dist/ui/toggle-group.d.cts +2 -37
- package/dist/ui/toggle-group.d.mts +2 -37
- package/dist/ui/toggle.d.cts +2 -30
- package/dist/ui/toggle.d.mts +2 -30
- package/dist/ui/tooltip.d.cts +2 -53
- package/dist/ui/tooltip.d.mts +2 -53
- package/dist/upload-image-D4VZU3IA.d.cts +23 -0
- package/dist/upload-image-D4VZU3IA.d.mts +23 -0
- package/dist/user-BymzvsYp.mjs +2 -0
- package/dist/user-BymzvsYp.mjs.map +1 -0
- package/dist/user-CvesQf42.d.cts +20 -0
- package/dist/user-CvesQf42.d.mts +20 -0
- package/dist/user-Dn53Fu5q.cjs +2 -0
- package/dist/user-Dn53Fu5q.cjs.map +1 -0
- package/dist/volume-bar-chart-BRpC_8-X.mjs +2 -0
- package/dist/volume-bar-chart-BRpC_8-X.mjs.map +1 -0
- package/dist/volume-bar-chart-CRxZPZIn.cjs +2 -0
- package/dist/volume-bar-chart-CRxZPZIn.cjs.map +1 -0
- package/dist/waterfall-chart-CTB2f5eh.cjs +2 -0
- package/dist/waterfall-chart-CTB2f5eh.cjs.map +1 -0
- package/dist/waterfall-chart-DwetaJFJ.mjs +2 -0
- package/dist/waterfall-chart-DwetaJFJ.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/combobox-field-BGChwajc.mjs +0 -2
- package/dist/payment-layout-BLrXT-oc.cjs +0 -2
- package/dist/tables-B0Jl8Osc.cjs +0 -4
- package/dist/tables-B0Jl8Osc.cjs.map +0 -1
- package/dist/tables-Cylalxey.mjs +0 -4
- package/dist/tables-Cylalxey.mjs.map +0 -1
- package/dist/tanstack-form-CM_Hb3JT.mjs +0 -2
- package/dist/tanstack-form-CM_Hb3JT.mjs.map +0 -1
- package/dist/tanstack-form-DS_ZvRl8.cjs +0 -2
- package/dist/tanstack-form-DS_ZvRl8.cjs.map +0 -1
- package/dist/text-editor-BQtIXOpM.mjs +0 -2
- package/dist/text-editor-BQtIXOpM.mjs.map +0 -1
- package/dist/text-editor-DJYQXXtP.cjs +0 -2
- package/dist/text-editor-DJYQXXtP.cjs.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { t as Dialog } from "./dialog-BASlxWF_.cjs";
|
|
2
|
+
import { Command } from "cmdk";
|
|
3
|
+
|
|
4
|
+
//#region packages/components/ui/command.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* A cmdk-powered command palette for searching and executing commands.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import {
|
|
11
|
+
* Command, CommandInput, CommandList, CommandEmpty,
|
|
12
|
+
* CommandGroup, CommandItem,
|
|
13
|
+
* } from '@customafk/lunas-ui/ui/command';
|
|
14
|
+
*
|
|
15
|
+
* <Command>
|
|
16
|
+
* <CommandInput placeholder="Type a command…" />
|
|
17
|
+
* <CommandList>
|
|
18
|
+
* <CommandEmpty>No results found.</CommandEmpty>
|
|
19
|
+
* <CommandGroup heading="Suggestions">
|
|
20
|
+
* <CommandItem>Calendar</CommandItem>
|
|
21
|
+
* <CommandItem>Search</CommandItem>
|
|
22
|
+
* </CommandGroup>
|
|
23
|
+
* </CommandList>
|
|
24
|
+
* </Command>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare function Command$1({
|
|
28
|
+
className,
|
|
29
|
+
...props
|
|
30
|
+
}: React.ComponentProps<typeof Command>): import("react").JSX.Element;
|
|
31
|
+
/**
|
|
32
|
+
* A Command palette rendered inside a Dialog overlay.
|
|
33
|
+
*
|
|
34
|
+
* @param title - Accessible title for the dialog (screen-reader only).
|
|
35
|
+
* @param description - Accessible description for the dialog (screen-reader only).
|
|
36
|
+
* @param showCloseButton - Whether to show the built-in close button on the dialog.
|
|
37
|
+
*/
|
|
38
|
+
declare function CommandDialog({
|
|
39
|
+
title,
|
|
40
|
+
description,
|
|
41
|
+
children,
|
|
42
|
+
className,
|
|
43
|
+
showCloseButton,
|
|
44
|
+
...props
|
|
45
|
+
}: React.ComponentProps<typeof Dialog> & {
|
|
46
|
+
title?: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
className?: string;
|
|
49
|
+
showCloseButton?: boolean;
|
|
50
|
+
}): import("react").JSX.Element;
|
|
51
|
+
/** Search input with a leading search icon that filters CommandItems in real time. */
|
|
52
|
+
declare function CommandInput({
|
|
53
|
+
className,
|
|
54
|
+
...props
|
|
55
|
+
}: React.ComponentProps<typeof Command.Input>): import("react").JSX.Element;
|
|
56
|
+
/** Scrollable list that renders filtered CommandGroups and CommandItems. */
|
|
57
|
+
declare function CommandList({
|
|
58
|
+
className,
|
|
59
|
+
...props
|
|
60
|
+
}: React.ComponentProps<typeof Command.List>): import("react").JSX.Element;
|
|
61
|
+
/** Fallback message displayed when no CommandItems match the current search query. */
|
|
62
|
+
declare function CommandEmpty({
|
|
63
|
+
...props
|
|
64
|
+
}: React.ComponentProps<typeof Command.Empty>): import("react").JSX.Element;
|
|
65
|
+
/** Groups CommandItems under an optional heading label. */
|
|
66
|
+
declare function CommandGroup({
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}: React.ComponentProps<typeof Command.Group>): import("react").JSX.Element;
|
|
70
|
+
/** Horizontal dividing line between groups in a CommandList. */
|
|
71
|
+
declare function CommandSeparator({
|
|
72
|
+
className,
|
|
73
|
+
...props
|
|
74
|
+
}: React.ComponentProps<typeof Command.Separator>): import("react").JSX.Element;
|
|
75
|
+
/** A selectable row inside a CommandGroup that is highlighted when active or hovered. */
|
|
76
|
+
declare function CommandItem({
|
|
77
|
+
className,
|
|
78
|
+
...props
|
|
79
|
+
}: React.ComponentProps<typeof Command.Item>): import("react").JSX.Element;
|
|
80
|
+
/** Displays a keyboard shortcut hint aligned to the right of a CommandItem. */
|
|
81
|
+
declare function CommandShortcut({
|
|
82
|
+
className,
|
|
83
|
+
...props
|
|
84
|
+
}: React.ComponentProps<'span'>): import("react").JSX.Element;
|
|
85
|
+
//#endregion
|
|
86
|
+
export { CommandInput as a, CommandSeparator as c, CommandGroup as i, CommandShortcut as l, CommandDialog as n, CommandItem as o, CommandEmpty as r, CommandList as s, Command$1 as t };
|
|
87
|
+
//# sourceMappingURL=command-CHSJVU9o.d.cts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
//#region packages/components/dialogs/confirm-dialog.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Props for the {@link ConfirmDialog} component.
|
|
4
|
+
*/
|
|
5
|
+
type ConfirmDialogProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Controls whether the dialog is currently open.
|
|
8
|
+
* This is a **controlled** prop — pair it with `onOpenChange` to manage state.
|
|
9
|
+
*/
|
|
10
|
+
open?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* When `true`, shows an animated spinner inside the confirm button and
|
|
13
|
+
* prevents double-submission. Typically bound to a mutation's pending state.
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
isLoading?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The dialog heading text. Keep it short and action-oriented,
|
|
20
|
+
* e.g. `"Delete user?"` or `"Unsaved changes"`.
|
|
21
|
+
*/
|
|
22
|
+
title: string;
|
|
23
|
+
/**
|
|
24
|
+
* Body copy explaining what will happen if the user confirms.
|
|
25
|
+
* For irreversible actions, state explicitly that the action cannot be undone.
|
|
26
|
+
*/
|
|
27
|
+
description: string;
|
|
28
|
+
/**
|
|
29
|
+
* Label for the cancel / dismiss button.
|
|
30
|
+
*
|
|
31
|
+
* @default "Cancel"
|
|
32
|
+
*/
|
|
33
|
+
cancelText?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Label for the confirm / submit button.
|
|
36
|
+
*
|
|
37
|
+
* @default "Confirm"
|
|
38
|
+
*/
|
|
39
|
+
submitText?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Additional class names applied to the `AlertDialogDescription` element.
|
|
42
|
+
* Useful for overriding text color or font size for specific contexts.
|
|
43
|
+
*/
|
|
44
|
+
descriptionClassName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Callback fired when the dialog open state changes.
|
|
47
|
+
* Required to implement controlled open / close behavior.
|
|
48
|
+
*
|
|
49
|
+
* @param open - `true` when opening, `false` when closing.
|
|
50
|
+
*/
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Async-safe callback fired when the user clicks the confirm button.
|
|
54
|
+
* Supports both synchronous and `Promise`-returning functions.
|
|
55
|
+
*
|
|
56
|
+
* The dialog does **not** auto-close after `onConfirm` resolves — the caller
|
|
57
|
+
* is responsible for setting `open` to `false` once the operation completes.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```tsx
|
|
61
|
+
* onConfirm={async () => {
|
|
62
|
+
* await deleteUser(userId);
|
|
63
|
+
* setOpen(false);
|
|
64
|
+
* }}
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
onConfirm?: () => Promise<void> | void;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* A controlled confirmation dialog for destructive or irreversible actions.
|
|
71
|
+
*
|
|
72
|
+
* Built on Radix UI's `AlertDialog` primitive. Renders a warning icon, title,
|
|
73
|
+
* description, and Cancel / Confirm buttons. The confirm button supports an
|
|
74
|
+
* async loading state to prevent double-submission.
|
|
75
|
+
*
|
|
76
|
+
* **Import:** `import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog'`
|
|
77
|
+
*
|
|
78
|
+
* @example Delete confirmation with React state
|
|
79
|
+
* ```tsx
|
|
80
|
+
* import { useState } from 'react';
|
|
81
|
+
* import { Button } from '@customafk/lunas-ui/ui/button';
|
|
82
|
+
* import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
83
|
+
*
|
|
84
|
+
* export function DeleteUserButton({ userId }: { userId: string }) {
|
|
85
|
+
* const [open, setOpen] = useState(false);
|
|
86
|
+
* const [isPending, setIsPending] = useState(false);
|
|
87
|
+
*
|
|
88
|
+
* const handleDelete = async () => {
|
|
89
|
+
* setIsPending(true);
|
|
90
|
+
* try {
|
|
91
|
+
* await deleteUser(userId);
|
|
92
|
+
* setOpen(false);
|
|
93
|
+
* } finally {
|
|
94
|
+
* setIsPending(false);
|
|
95
|
+
* }
|
|
96
|
+
* };
|
|
97
|
+
*
|
|
98
|
+
* return (
|
|
99
|
+
* <>
|
|
100
|
+
* <Button variant="outline" color="danger" onClick={() => setOpen(true)}>
|
|
101
|
+
* Delete user
|
|
102
|
+
* </Button>
|
|
103
|
+
* <ConfirmDialog
|
|
104
|
+
* open={open}
|
|
105
|
+
* title="Delete user?"
|
|
106
|
+
* description="This action is permanent and cannot be undone."
|
|
107
|
+
* submitText="Yes, delete"
|
|
108
|
+
* isLoading={isPending}
|
|
109
|
+
* onOpenChange={setOpen}
|
|
110
|
+
* onConfirm={handleDelete}
|
|
111
|
+
* />
|
|
112
|
+
* </>
|
|
113
|
+
* );
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @example With TanStack Query mutation
|
|
118
|
+
* ```tsx
|
|
119
|
+
* import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
120
|
+
* import { useMutation } from '@tanstack/react-query';
|
|
121
|
+
*
|
|
122
|
+
* export function ArchiveDialog({ open, onOpenChange, id }: Props) {
|
|
123
|
+
* const { mutateAsync, isPending } = useMutation({ mutationFn: archiveItem });
|
|
124
|
+
*
|
|
125
|
+
* return (
|
|
126
|
+
* <ConfirmDialog
|
|
127
|
+
* open={open}
|
|
128
|
+
* title="Archive item?"
|
|
129
|
+
* description="The item will be hidden but can be restored later."
|
|
130
|
+
* submitText="Archive"
|
|
131
|
+
* isLoading={isPending}
|
|
132
|
+
* onOpenChange={onOpenChange}
|
|
133
|
+
* onConfirm={() => mutateAsync(id).then(() => onOpenChange(false))}
|
|
134
|
+
* />
|
|
135
|
+
* );
|
|
136
|
+
* }
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
|
|
140
|
+
//#endregion
|
|
141
|
+
export { ConfirmDialogProps as n, ConfirmDialog as t };
|
|
142
|
+
//# sourceMappingURL=confirm-dialog-B8Vu0z8S.d.cts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
//#region packages/components/dialogs/confirm-dialog.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Props for the {@link ConfirmDialog} component.
|
|
4
|
+
*/
|
|
5
|
+
type ConfirmDialogProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Controls whether the dialog is currently open.
|
|
8
|
+
* This is a **controlled** prop — pair it with `onOpenChange` to manage state.
|
|
9
|
+
*/
|
|
10
|
+
open?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* When `true`, shows an animated spinner inside the confirm button and
|
|
13
|
+
* prevents double-submission. Typically bound to a mutation's pending state.
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
isLoading?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The dialog heading text. Keep it short and action-oriented,
|
|
20
|
+
* e.g. `"Delete user?"` or `"Unsaved changes"`.
|
|
21
|
+
*/
|
|
22
|
+
title: string;
|
|
23
|
+
/**
|
|
24
|
+
* Body copy explaining what will happen if the user confirms.
|
|
25
|
+
* For irreversible actions, state explicitly that the action cannot be undone.
|
|
26
|
+
*/
|
|
27
|
+
description: string;
|
|
28
|
+
/**
|
|
29
|
+
* Label for the cancel / dismiss button.
|
|
30
|
+
*
|
|
31
|
+
* @default "Cancel"
|
|
32
|
+
*/
|
|
33
|
+
cancelText?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Label for the confirm / submit button.
|
|
36
|
+
*
|
|
37
|
+
* @default "Confirm"
|
|
38
|
+
*/
|
|
39
|
+
submitText?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Additional class names applied to the `AlertDialogDescription` element.
|
|
42
|
+
* Useful for overriding text color or font size for specific contexts.
|
|
43
|
+
*/
|
|
44
|
+
descriptionClassName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Callback fired when the dialog open state changes.
|
|
47
|
+
* Required to implement controlled open / close behavior.
|
|
48
|
+
*
|
|
49
|
+
* @param open - `true` when opening, `false` when closing.
|
|
50
|
+
*/
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Async-safe callback fired when the user clicks the confirm button.
|
|
54
|
+
* Supports both synchronous and `Promise`-returning functions.
|
|
55
|
+
*
|
|
56
|
+
* The dialog does **not** auto-close after `onConfirm` resolves — the caller
|
|
57
|
+
* is responsible for setting `open` to `false` once the operation completes.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```tsx
|
|
61
|
+
* onConfirm={async () => {
|
|
62
|
+
* await deleteUser(userId);
|
|
63
|
+
* setOpen(false);
|
|
64
|
+
* }}
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
onConfirm?: () => Promise<void> | void;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* A controlled confirmation dialog for destructive or irreversible actions.
|
|
71
|
+
*
|
|
72
|
+
* Built on Radix UI's `AlertDialog` primitive. Renders a warning icon, title,
|
|
73
|
+
* description, and Cancel / Confirm buttons. The confirm button supports an
|
|
74
|
+
* async loading state to prevent double-submission.
|
|
75
|
+
*
|
|
76
|
+
* **Import:** `import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog'`
|
|
77
|
+
*
|
|
78
|
+
* @example Delete confirmation with React state
|
|
79
|
+
* ```tsx
|
|
80
|
+
* import { useState } from 'react';
|
|
81
|
+
* import { Button } from '@customafk/lunas-ui/ui/button';
|
|
82
|
+
* import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
83
|
+
*
|
|
84
|
+
* export function DeleteUserButton({ userId }: { userId: string }) {
|
|
85
|
+
* const [open, setOpen] = useState(false);
|
|
86
|
+
* const [isPending, setIsPending] = useState(false);
|
|
87
|
+
*
|
|
88
|
+
* const handleDelete = async () => {
|
|
89
|
+
* setIsPending(true);
|
|
90
|
+
* try {
|
|
91
|
+
* await deleteUser(userId);
|
|
92
|
+
* setOpen(false);
|
|
93
|
+
* } finally {
|
|
94
|
+
* setIsPending(false);
|
|
95
|
+
* }
|
|
96
|
+
* };
|
|
97
|
+
*
|
|
98
|
+
* return (
|
|
99
|
+
* <>
|
|
100
|
+
* <Button variant="outline" color="danger" onClick={() => setOpen(true)}>
|
|
101
|
+
* Delete user
|
|
102
|
+
* </Button>
|
|
103
|
+
* <ConfirmDialog
|
|
104
|
+
* open={open}
|
|
105
|
+
* title="Delete user?"
|
|
106
|
+
* description="This action is permanent and cannot be undone."
|
|
107
|
+
* submitText="Yes, delete"
|
|
108
|
+
* isLoading={isPending}
|
|
109
|
+
* onOpenChange={setOpen}
|
|
110
|
+
* onConfirm={handleDelete}
|
|
111
|
+
* />
|
|
112
|
+
* </>
|
|
113
|
+
* );
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @example With TanStack Query mutation
|
|
118
|
+
* ```tsx
|
|
119
|
+
* import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
120
|
+
* import { useMutation } from '@tanstack/react-query';
|
|
121
|
+
*
|
|
122
|
+
* export function ArchiveDialog({ open, onOpenChange, id }: Props) {
|
|
123
|
+
* const { mutateAsync, isPending } = useMutation({ mutationFn: archiveItem });
|
|
124
|
+
*
|
|
125
|
+
* return (
|
|
126
|
+
* <ConfirmDialog
|
|
127
|
+
* open={open}
|
|
128
|
+
* title="Archive item?"
|
|
129
|
+
* description="The item will be hidden but can be restored later."
|
|
130
|
+
* submitText="Archive"
|
|
131
|
+
* isLoading={isPending}
|
|
132
|
+
* onOpenChange={onOpenChange}
|
|
133
|
+
* onConfirm={() => mutateAsync(id).then(() => onOpenChange(false))}
|
|
134
|
+
* />
|
|
135
|
+
* );
|
|
136
|
+
* }
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
|
|
140
|
+
//#endregion
|
|
141
|
+
export { ConfirmDialogProps as n, ConfirmDialog as t };
|
|
142
|
+
//# sourceMappingURL=confirm-dialog-B8Vu0z8S.d.mts.map
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ContextMenu } from "radix-ui";
|
|
2
|
+
|
|
3
|
+
//#region packages/components/ui/context-menu.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Root provider for the ContextMenu — revealed on right-click (or long-press) of the trigger area.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import {
|
|
10
|
+
* ContextMenu, ContextMenuTrigger, ContextMenuContent,
|
|
11
|
+
* ContextMenuItem, ContextMenuLabel, ContextMenuSeparator,
|
|
12
|
+
* } from '@customafk/lunas-ui/ui/context-menu';
|
|
13
|
+
*
|
|
14
|
+
* <ContextMenu>
|
|
15
|
+
* <ContextMenuTrigger>Right-click me</ContextMenuTrigger>
|
|
16
|
+
* <ContextMenuContent>
|
|
17
|
+
* <ContextMenuLabel>Actions</ContextMenuLabel>
|
|
18
|
+
* <ContextMenuSeparator />
|
|
19
|
+
* <ContextMenuItem>Copy</ContextMenuItem>
|
|
20
|
+
* <ContextMenuItem variant="destructive">Delete</ContextMenuItem>
|
|
21
|
+
* </ContextMenuContent>
|
|
22
|
+
* </ContextMenu>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
declare function ContextMenu$1({
|
|
26
|
+
...props
|
|
27
|
+
}: React.ComponentProps<typeof ContextMenu.Root>): import("react").JSX.Element;
|
|
28
|
+
/** The area that listens for right-click to open the ContextMenu. */
|
|
29
|
+
declare function ContextMenuTrigger({
|
|
30
|
+
...props
|
|
31
|
+
}: React.ComponentProps<typeof ContextMenu.Trigger>): import("react").JSX.Element;
|
|
32
|
+
/** Groups related ContextMenuItems under a shared logical section. */
|
|
33
|
+
declare function ContextMenuGroup({
|
|
34
|
+
...props
|
|
35
|
+
}: React.ComponentProps<typeof ContextMenu.Group>): import("react").JSX.Element;
|
|
36
|
+
/** Portals ContextMenu content outside the current DOM hierarchy. */
|
|
37
|
+
declare function ContextMenuPortal({
|
|
38
|
+
...props
|
|
39
|
+
}: React.ComponentProps<typeof ContextMenu.Portal>): import("react").JSX.Element;
|
|
40
|
+
/** Root container for a nested sub-menu inside a ContextMenu. */
|
|
41
|
+
declare function ContextMenuSub({
|
|
42
|
+
...props
|
|
43
|
+
}: React.ComponentProps<typeof ContextMenu.Sub>): import("react").JSX.Element;
|
|
44
|
+
/** Groups ContextMenuRadioItems so only one can be selected at a time. */
|
|
45
|
+
declare function ContextMenuRadioGroup({
|
|
46
|
+
...props
|
|
47
|
+
}: React.ComponentProps<typeof ContextMenu.RadioGroup>): import("react").JSX.Element;
|
|
48
|
+
/**
|
|
49
|
+
* Menu item that reveals a nested ContextMenuSubContent on hover or activation.
|
|
50
|
+
*
|
|
51
|
+
* @param inset - When true, adds left padding to align with inset items.
|
|
52
|
+
*/
|
|
53
|
+
declare function ContextMenuSubTrigger({
|
|
54
|
+
className,
|
|
55
|
+
inset,
|
|
56
|
+
children,
|
|
57
|
+
...props
|
|
58
|
+
}: React.ComponentProps<typeof ContextMenu.SubTrigger> & {
|
|
59
|
+
inset?: boolean;
|
|
60
|
+
}): import("react").JSX.Element;
|
|
61
|
+
/** Floating panel that contains the items of a nested ContextMenu sub-menu. */
|
|
62
|
+
declare function ContextMenuSubContent({
|
|
63
|
+
className,
|
|
64
|
+
...props
|
|
65
|
+
}: React.ComponentProps<typeof ContextMenu.SubContent>): import("react").JSX.Element;
|
|
66
|
+
/** Animated floating panel that contains the context menu items. */
|
|
67
|
+
declare function ContextMenuContent({
|
|
68
|
+
className,
|
|
69
|
+
...props
|
|
70
|
+
}: React.ComponentProps<typeof ContextMenu.Content>): import("react").JSX.Element;
|
|
71
|
+
/**
|
|
72
|
+
* A single clickable row inside a ContextMenuContent.
|
|
73
|
+
*
|
|
74
|
+
* @param inset - When true, adds left padding to align with items that have icons.
|
|
75
|
+
* @param variant - Visual style: `'default'` or `'destructive'`.
|
|
76
|
+
*/
|
|
77
|
+
declare function ContextMenuItem({
|
|
78
|
+
className,
|
|
79
|
+
inset,
|
|
80
|
+
variant,
|
|
81
|
+
...props
|
|
82
|
+
}: React.ComponentProps<typeof ContextMenu.Item> & {
|
|
83
|
+
inset?: boolean;
|
|
84
|
+
variant?: 'default' | 'destructive';
|
|
85
|
+
}): import("react").JSX.Element;
|
|
86
|
+
/** A checkable context menu item that displays a checkmark when selected. */
|
|
87
|
+
declare function ContextMenuCheckboxItem({
|
|
88
|
+
className,
|
|
89
|
+
children,
|
|
90
|
+
checked,
|
|
91
|
+
...props
|
|
92
|
+
}: React.ComponentProps<typeof ContextMenu.CheckboxItem>): import("react").JSX.Element;
|
|
93
|
+
/** A radio-button context menu item; shows a filled circle when selected. */
|
|
94
|
+
declare function ContextMenuRadioItem({
|
|
95
|
+
className,
|
|
96
|
+
children,
|
|
97
|
+
...props
|
|
98
|
+
}: React.ComponentProps<typeof ContextMenu.RadioItem>): import("react").JSX.Element;
|
|
99
|
+
/**
|
|
100
|
+
* Non-interactive label used to describe a group of context menu items.
|
|
101
|
+
*
|
|
102
|
+
* @param inset - When true, adds left padding to align with inset items.
|
|
103
|
+
*/
|
|
104
|
+
declare function ContextMenuLabel({
|
|
105
|
+
className,
|
|
106
|
+
inset,
|
|
107
|
+
...props
|
|
108
|
+
}: React.ComponentProps<typeof ContextMenu.Label> & {
|
|
109
|
+
inset?: boolean;
|
|
110
|
+
}): import("react").JSX.Element;
|
|
111
|
+
/** Horizontal dividing line between groups of context menu items. */
|
|
112
|
+
declare function ContextMenuSeparator({
|
|
113
|
+
className,
|
|
114
|
+
...props
|
|
115
|
+
}: React.ComponentProps<typeof ContextMenu.Separator>): import("react").JSX.Element;
|
|
116
|
+
/** Displays a keyboard shortcut hint aligned to the right of a context menu item. */
|
|
117
|
+
declare function ContextMenuShortcut({
|
|
118
|
+
className,
|
|
119
|
+
...props
|
|
120
|
+
}: React.ComponentProps<'span'>): import("react").JSX.Element;
|
|
121
|
+
//#endregion
|
|
122
|
+
export { ContextMenuItem as a, ContextMenuRadioGroup as c, ContextMenuShortcut as d, ContextMenuSub as f, ContextMenuTrigger as h, ContextMenuGroup as i, ContextMenuRadioItem as l, ContextMenuSubTrigger as m, ContextMenuCheckboxItem as n, ContextMenuLabel as o, ContextMenuSubContent as p, ContextMenuContent as r, ContextMenuPortal as s, ContextMenu$1 as t, ContextMenuSeparator as u };
|
|
123
|
+
//# sourceMappingURL=context-menu-BOlGSuep.d.cts.map
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ContextMenu } from "radix-ui";
|
|
2
|
+
|
|
3
|
+
//#region packages/components/ui/context-menu.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Root provider for the ContextMenu — revealed on right-click (or long-press) of the trigger area.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import {
|
|
10
|
+
* ContextMenu, ContextMenuTrigger, ContextMenuContent,
|
|
11
|
+
* ContextMenuItem, ContextMenuLabel, ContextMenuSeparator,
|
|
12
|
+
* } from '@customafk/lunas-ui/ui/context-menu';
|
|
13
|
+
*
|
|
14
|
+
* <ContextMenu>
|
|
15
|
+
* <ContextMenuTrigger>Right-click me</ContextMenuTrigger>
|
|
16
|
+
* <ContextMenuContent>
|
|
17
|
+
* <ContextMenuLabel>Actions</ContextMenuLabel>
|
|
18
|
+
* <ContextMenuSeparator />
|
|
19
|
+
* <ContextMenuItem>Copy</ContextMenuItem>
|
|
20
|
+
* <ContextMenuItem variant="destructive">Delete</ContextMenuItem>
|
|
21
|
+
* </ContextMenuContent>
|
|
22
|
+
* </ContextMenu>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
declare function ContextMenu$1({
|
|
26
|
+
...props
|
|
27
|
+
}: React.ComponentProps<typeof ContextMenu.Root>): import("react").JSX.Element;
|
|
28
|
+
/** The area that listens for right-click to open the ContextMenu. */
|
|
29
|
+
declare function ContextMenuTrigger({
|
|
30
|
+
...props
|
|
31
|
+
}: React.ComponentProps<typeof ContextMenu.Trigger>): import("react").JSX.Element;
|
|
32
|
+
/** Groups related ContextMenuItems under a shared logical section. */
|
|
33
|
+
declare function ContextMenuGroup({
|
|
34
|
+
...props
|
|
35
|
+
}: React.ComponentProps<typeof ContextMenu.Group>): import("react").JSX.Element;
|
|
36
|
+
/** Portals ContextMenu content outside the current DOM hierarchy. */
|
|
37
|
+
declare function ContextMenuPortal({
|
|
38
|
+
...props
|
|
39
|
+
}: React.ComponentProps<typeof ContextMenu.Portal>): import("react").JSX.Element;
|
|
40
|
+
/** Root container for a nested sub-menu inside a ContextMenu. */
|
|
41
|
+
declare function ContextMenuSub({
|
|
42
|
+
...props
|
|
43
|
+
}: React.ComponentProps<typeof ContextMenu.Sub>): import("react").JSX.Element;
|
|
44
|
+
/** Groups ContextMenuRadioItems so only one can be selected at a time. */
|
|
45
|
+
declare function ContextMenuRadioGroup({
|
|
46
|
+
...props
|
|
47
|
+
}: React.ComponentProps<typeof ContextMenu.RadioGroup>): import("react").JSX.Element;
|
|
48
|
+
/**
|
|
49
|
+
* Menu item that reveals a nested ContextMenuSubContent on hover or activation.
|
|
50
|
+
*
|
|
51
|
+
* @param inset - When true, adds left padding to align with inset items.
|
|
52
|
+
*/
|
|
53
|
+
declare function ContextMenuSubTrigger({
|
|
54
|
+
className,
|
|
55
|
+
inset,
|
|
56
|
+
children,
|
|
57
|
+
...props
|
|
58
|
+
}: React.ComponentProps<typeof ContextMenu.SubTrigger> & {
|
|
59
|
+
inset?: boolean;
|
|
60
|
+
}): import("react").JSX.Element;
|
|
61
|
+
/** Floating panel that contains the items of a nested ContextMenu sub-menu. */
|
|
62
|
+
declare function ContextMenuSubContent({
|
|
63
|
+
className,
|
|
64
|
+
...props
|
|
65
|
+
}: React.ComponentProps<typeof ContextMenu.SubContent>): import("react").JSX.Element;
|
|
66
|
+
/** Animated floating panel that contains the context menu items. */
|
|
67
|
+
declare function ContextMenuContent({
|
|
68
|
+
className,
|
|
69
|
+
...props
|
|
70
|
+
}: React.ComponentProps<typeof ContextMenu.Content>): import("react").JSX.Element;
|
|
71
|
+
/**
|
|
72
|
+
* A single clickable row inside a ContextMenuContent.
|
|
73
|
+
*
|
|
74
|
+
* @param inset - When true, adds left padding to align with items that have icons.
|
|
75
|
+
* @param variant - Visual style: `'default'` or `'destructive'`.
|
|
76
|
+
*/
|
|
77
|
+
declare function ContextMenuItem({
|
|
78
|
+
className,
|
|
79
|
+
inset,
|
|
80
|
+
variant,
|
|
81
|
+
...props
|
|
82
|
+
}: React.ComponentProps<typeof ContextMenu.Item> & {
|
|
83
|
+
inset?: boolean;
|
|
84
|
+
variant?: 'default' | 'destructive';
|
|
85
|
+
}): import("react").JSX.Element;
|
|
86
|
+
/** A checkable context menu item that displays a checkmark when selected. */
|
|
87
|
+
declare function ContextMenuCheckboxItem({
|
|
88
|
+
className,
|
|
89
|
+
children,
|
|
90
|
+
checked,
|
|
91
|
+
...props
|
|
92
|
+
}: React.ComponentProps<typeof ContextMenu.CheckboxItem>): import("react").JSX.Element;
|
|
93
|
+
/** A radio-button context menu item; shows a filled circle when selected. */
|
|
94
|
+
declare function ContextMenuRadioItem({
|
|
95
|
+
className,
|
|
96
|
+
children,
|
|
97
|
+
...props
|
|
98
|
+
}: React.ComponentProps<typeof ContextMenu.RadioItem>): import("react").JSX.Element;
|
|
99
|
+
/**
|
|
100
|
+
* Non-interactive label used to describe a group of context menu items.
|
|
101
|
+
*
|
|
102
|
+
* @param inset - When true, adds left padding to align with inset items.
|
|
103
|
+
*/
|
|
104
|
+
declare function ContextMenuLabel({
|
|
105
|
+
className,
|
|
106
|
+
inset,
|
|
107
|
+
...props
|
|
108
|
+
}: React.ComponentProps<typeof ContextMenu.Label> & {
|
|
109
|
+
inset?: boolean;
|
|
110
|
+
}): import("react").JSX.Element;
|
|
111
|
+
/** Horizontal dividing line between groups of context menu items. */
|
|
112
|
+
declare function ContextMenuSeparator({
|
|
113
|
+
className,
|
|
114
|
+
...props
|
|
115
|
+
}: React.ComponentProps<typeof ContextMenu.Separator>): import("react").JSX.Element;
|
|
116
|
+
/** Displays a keyboard shortcut hint aligned to the right of a context menu item. */
|
|
117
|
+
declare function ContextMenuShortcut({
|
|
118
|
+
className,
|
|
119
|
+
...props
|
|
120
|
+
}: React.ComponentProps<'span'>): import("react").JSX.Element;
|
|
121
|
+
//#endregion
|
|
122
|
+
export { ContextMenuItem as a, ContextMenuRadioGroup as c, ContextMenuShortcut as d, ContextMenuSub as f, ContextMenuTrigger as h, ContextMenuGroup as i, ContextMenuRadioItem as l, ContextMenuSubTrigger as m, ContextMenuCheckboxItem as n, ContextMenuLabel as o, ContextMenuSubContent as p, ContextMenuContent as r, ContextMenuPortal as s, ContextMenu$1 as t, ContextMenuSeparator as u };
|
|
123
|
+
//# sourceMappingURL=context-menu-BOlGSuep.d.mts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{formatCompactNumber as e,formatPercent as t,getChartColor as n}from"./features/charts/index.mjs";import{ChartContainer as r,ChartTooltip as i,ChartTooltipContent as a}from"./ui/chart.mjs";import{useMemo as o}from"react";import{cn as s}from"@customafk/react-toolkit/utils";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{Funnel as u,FunnelChart as d,LabelList as f}from"recharts";const p=({data:p,showConversionRates:m=!0,valueFormatter:h=e,className:g,animate:_=!0,height:v})=>{let{chartData:y,config:b}=o(()=>{let e=p[0]?.value??0,r=p.map((r,i)=>{let a=e===0?0:r.value/e,o=m?`${h(r.value)} (${t(a)})`:h(r.value);return{...r,key:r.key||r.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`),fill:r.color||n(i),valueLabel:o}});return{chartData:r,config:Object.fromEntries(r.map(e=>[e.key,{label:e.name,color:e.fill}]))}},[p,m,h]);return c(r,{"data-slot":`conversion-funnel-chart`,config:b,className:s(`w-full`,g),style:v===void 0?void 0:{height:v,aspectRatio:`auto`},children:l(d,{margin:{top:8,right:120,bottom:8,left:120},children:[c(i,{content:c(a,{nameKey:`key`,hideLabel:!0})}),l(u,{dataKey:`value`,data:y,isAnimationActive:_,children:[c(f,{dataKey:`name`,position:`left`,offset:12,className:`fill-muted-strong`,fontSize:12}),c(f,{dataKey:`valueLabel`,position:`right`,offset:12,className:`fill-text-positive-strong font-number`,fontSize:12})]})]})})};export{p as ConversionFunnelChart};
|
|
2
|
+
//# sourceMappingURL=conversion-funnel-chart-CW_zDfKS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion-funnel-chart-CW_zDfKS.mjs","names":[],"sources":["../packages/components/features/charts/components/conversion-funnel-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Funnel, FunnelChart, LabelList } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber, formatPercent, getChartColor } from '../utils';\n\nexport type FunnelStage = NamedValue & {\n /** Config key; derived from `name` when omitted. */\n key?: string;\n color?: string;\n};\n\nexport type ConversionFunnelChartProps = BaseChartProps & {\n /** Funnel stages ordered top (widest) to bottom. */\n data: FunnelStage[];\n /** Appends each stage's percentage of the first stage. Defaults to `true`. */\n showConversionRates?: boolean;\n valueFormatter?: (value: number) => string;\n};\n\n/**\n * A conversion funnel for the ecommerce purchase journey — sessions, product views, carts,\n * checkouts, purchases — with per-stage conversion rates against the first stage.\n *\n * @example\n * ```tsx\n * import { ConversionFunnelChart } from '@customafk/lunas-ui/features/charts';\n *\n * <ConversionFunnelChart\n * data={[\n * { name: 'Sessions', value: 50000 },\n * { name: 'Product views', value: 32000 },\n * { name: 'Added to cart', value: 8400 },\n * { name: 'Purchased', value: 2900 },\n * ]}\n * />\n * ```\n */\nexport const ConversionFunnelChart = ({\n data,\n showConversionRates = true,\n valueFormatter = formatCompactNumber,\n className,\n animate = true,\n height,\n}: ConversionFunnelChartProps) => {\n const { chartData, config } = useMemo(() => {\n const first = data[0]?.value ?? 0;\n const entries = data.map((stage, index) => {\n const rate = first === 0 ? 0 : stage.value / first;\n const valueLabel = showConversionRates ? `${valueFormatter(stage.value)} (${formatPercent(rate)})` : valueFormatter(stage.value);\n return {\n ...stage,\n key: stage.key || stage.name.toLowerCase().replace(/[^a-z0-9]+/g, '-'),\n fill: stage.color || getChartColor(index),\n valueLabel,\n };\n });\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data, showConversionRates, valueFormatter]);\n\n return (\n <ChartContainer\n data-slot=\"conversion-funnel-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <FunnelChart margin={{ top: 8, right: 120, bottom: 8, left: 120 }}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel />} />\n <Funnel dataKey=\"value\" data={chartData} isAnimationActive={animate}>\n <LabelList dataKey=\"name\" position=\"left\" offset={12} className=\"fill-muted-strong\" fontSize={12} />\n <LabelList dataKey=\"valueLabel\" position=\"right\" offset={12} className=\"fill-text-positive-strong font-number\" fontSize={12} />\n </Funnel>\n </FunnelChart>\n </ChartContainer>\n );\n};\n"],"mappings":"2YA4CA,MAAa,GAAyB,CACpC,OACA,sBAAsB,GACtB,iBAAiB,EACjB,YACA,UAAU,GACV,YACgC,CAChC,GAAM,CAAE,YAAW,UAAW,MAAc,CAC1C,IAAM,EAAQ,EAAK,EAAE,EAAE,OAAS,EAC1B,EAAU,EAAK,KAAK,EAAO,IAAU,CACzC,IAAM,EAAO,IAAU,EAAI,EAAI,EAAM,MAAQ,EACvC,EAAa,EAAsB,GAAG,EAAe,EAAM,KAAK,EAAE,IAAI,EAAc,CAAI,EAAE,GAAK,EAAe,EAAM,KAAK,EAC/H,MAAO,CACL,GAAG,EACH,IAAK,EAAM,KAAO,EAAM,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EACrE,KAAM,EAAM,OAAS,EAAc,CAAK,EACxC,YACF,CACF,CAAC,EAED,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,EAAM,EAAqB,CAAc,CAAC,EAE9C,OACE,EAAC,EAAD,CACE,YAAU,0BACF,SACR,UAAW,EAAG,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,WAE5D,EAAC,EAAD,CAAa,OAAQ,CAAE,IAAK,EAAG,MAAO,IAAK,OAAQ,EAAG,KAAM,GAAI,WAAhE,CACE,EAAC,EAAD,CAAc,QAAS,EAAC,EAAD,CAAqB,QAAQ,MAAM,UAAA,EAAW,CAAA,CAAI,CAAA,EACzE,EAAC,EAAD,CAAQ,QAAQ,QAAQ,KAAM,EAAW,kBAAmB,WAA5D,CACE,EAAC,EAAD,CAAW,QAAQ,OAAO,SAAS,OAAO,OAAQ,GAAI,UAAU,oBAAoB,SAAU,EAAK,CAAA,EACnG,EAAC,EAAD,CAAW,QAAQ,aAAa,SAAS,QAAQ,OAAQ,GAAI,UAAU,wCAAwC,SAAU,EAAK,CAAA,CACxH,GACG,GACC,CAAA,CAEpB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./features/charts/index.cjs"),t=require("./ui/chart.cjs");let n=require("react"),r=require("@customafk/react-toolkit/utils"),i=require("react/jsx-runtime"),a=require("recharts");const o=({data:o,showConversionRates:s=!0,valueFormatter:c=e.formatCompactNumber,className:l,animate:u=!0,height:d})=>{let{chartData:f,config:p}=(0,n.useMemo)(()=>{let t=o[0]?.value??0,n=o.map((n,r)=>{let i=t===0?0:n.value/t,a=s?`${c(n.value)} (${e.formatPercent(i)})`:c(n.value);return{...n,key:n.key||n.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`),fill:n.color||e.getChartColor(r),valueLabel:a}});return{chartData:n,config:Object.fromEntries(n.map(e=>[e.key,{label:e.name,color:e.fill}]))}},[o,s,c]);return(0,i.jsx)(t.ChartContainer,{"data-slot":`conversion-funnel-chart`,config:p,className:(0,r.cn)(`w-full`,l),style:d===void 0?void 0:{height:d,aspectRatio:`auto`},children:(0,i.jsxs)(a.FunnelChart,{margin:{top:8,right:120,bottom:8,left:120},children:[(0,i.jsx)(t.ChartTooltip,{content:(0,i.jsx)(t.ChartTooltipContent,{nameKey:`key`,hideLabel:!0})}),(0,i.jsxs)(a.Funnel,{dataKey:`value`,data:f,isAnimationActive:u,children:[(0,i.jsx)(a.LabelList,{dataKey:`name`,position:`left`,offset:12,className:`fill-muted-strong`,fontSize:12}),(0,i.jsx)(a.LabelList,{dataKey:`valueLabel`,position:`right`,offset:12,className:`fill-text-positive-strong font-number`,fontSize:12})]})]})})};exports.ConversionFunnelChart=o;
|
|
2
|
+
//# sourceMappingURL=conversion-funnel-chart-r2m2QbiQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion-funnel-chart-r2m2QbiQ.cjs","names":["formatCompactNumber","formatPercent","getChartColor","ChartContainer","FunnelChart","ChartTooltip","ChartTooltipContent","Funnel","LabelList"],"sources":["../packages/components/features/charts/components/conversion-funnel-chart.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart';\n\nimport { Funnel, FunnelChart, LabelList } from 'recharts';\nimport type { BaseChartProps, NamedValue } from '../types';\nimport { formatCompactNumber, formatPercent, getChartColor } from '../utils';\n\nexport type FunnelStage = NamedValue & {\n /** Config key; derived from `name` when omitted. */\n key?: string;\n color?: string;\n};\n\nexport type ConversionFunnelChartProps = BaseChartProps & {\n /** Funnel stages ordered top (widest) to bottom. */\n data: FunnelStage[];\n /** Appends each stage's percentage of the first stage. Defaults to `true`. */\n showConversionRates?: boolean;\n valueFormatter?: (value: number) => string;\n};\n\n/**\n * A conversion funnel for the ecommerce purchase journey — sessions, product views, carts,\n * checkouts, purchases — with per-stage conversion rates against the first stage.\n *\n * @example\n * ```tsx\n * import { ConversionFunnelChart } from '@customafk/lunas-ui/features/charts';\n *\n * <ConversionFunnelChart\n * data={[\n * { name: 'Sessions', value: 50000 },\n * { name: 'Product views', value: 32000 },\n * { name: 'Added to cart', value: 8400 },\n * { name: 'Purchased', value: 2900 },\n * ]}\n * />\n * ```\n */\nexport const ConversionFunnelChart = ({\n data,\n showConversionRates = true,\n valueFormatter = formatCompactNumber,\n className,\n animate = true,\n height,\n}: ConversionFunnelChartProps) => {\n const { chartData, config } = useMemo(() => {\n const first = data[0]?.value ?? 0;\n const entries = data.map((stage, index) => {\n const rate = first === 0 ? 0 : stage.value / first;\n const valueLabel = showConversionRates ? `${valueFormatter(stage.value)} (${formatPercent(rate)})` : valueFormatter(stage.value);\n return {\n ...stage,\n key: stage.key || stage.name.toLowerCase().replace(/[^a-z0-9]+/g, '-'),\n fill: stage.color || getChartColor(index),\n valueLabel,\n };\n });\n const chartConfig: ChartConfig = Object.fromEntries(entries.map(entry => [entry.key, { label: entry.name, color: entry.fill }]));\n return { chartData: entries, config: chartConfig };\n }, [data, showConversionRates, valueFormatter]);\n\n return (\n <ChartContainer\n data-slot=\"conversion-funnel-chart\"\n config={config}\n className={cn('w-full', className)}\n style={height !== undefined ? { height, aspectRatio: 'auto' } : undefined}\n >\n <FunnelChart margin={{ top: 8, right: 120, bottom: 8, left: 120 }}>\n <ChartTooltip content={<ChartTooltipContent nameKey=\"key\" hideLabel />} />\n <Funnel dataKey=\"value\" data={chartData} isAnimationActive={animate}>\n <LabelList dataKey=\"name\" position=\"left\" offset={12} className=\"fill-muted-strong\" fontSize={12} />\n <LabelList dataKey=\"valueLabel\" position=\"right\" offset={12} className=\"fill-text-positive-strong font-number\" fontSize={12} />\n </Funnel>\n </FunnelChart>\n </ChartContainer>\n );\n};\n"],"mappings":"mMA4CA,MAAa,GAAyB,CACpC,OACA,sBAAsB,GACtB,iBAAiBA,EAAAA,oBACjB,YACA,UAAU,GACV,YACgC,CAChC,GAAM,CAAE,YAAW,WAAA,EAAA,EAAA,QAAA,KAAyB,CAC1C,IAAM,EAAQ,EAAK,EAAE,EAAE,OAAS,EAC1B,EAAU,EAAK,KAAK,EAAO,IAAU,CACzC,IAAM,EAAO,IAAU,EAAI,EAAI,EAAM,MAAQ,EACvC,EAAa,EAAsB,GAAG,EAAe,EAAM,KAAK,EAAE,IAAIC,EAAAA,cAAc,CAAI,EAAE,GAAK,EAAe,EAAM,KAAK,EAC/H,MAAO,CACL,GAAG,EACH,IAAK,EAAM,KAAO,EAAM,KAAK,YAAY,CAAC,CAAC,QAAQ,cAAe,GAAG,EACrE,KAAM,EAAM,OAASC,EAAAA,cAAc,CAAK,EACxC,YACF,CACF,CAAC,EAED,MAAO,CAAE,UAAW,EAAS,OADI,OAAO,YAAY,EAAQ,IAAI,GAAS,CAAC,EAAM,IAAK,CAAE,MAAO,EAAM,KAAM,MAAO,EAAM,IAAK,CAAC,CAAC,CAC/E,CAAE,CACnD,EAAG,CAAC,EAAM,EAAqB,CAAc,CAAC,EAE9C,OACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CACE,YAAU,0BACF,SACR,WAAA,EAAA,EAAA,GAAA,CAAc,SAAU,CAAS,EACjC,MAAO,IAAW,IAAA,GAA8C,IAAA,GAAlC,CAAE,SAAQ,YAAa,MAAO,YAE5D,EAAA,EAAA,KAAA,CAACC,EAAAA,YAAD,CAAa,OAAQ,CAAE,IAAK,EAAG,MAAO,IAAK,OAAQ,EAAG,KAAM,GAAI,WAAhE,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAc,SAAS,EAAA,EAAA,IAAA,CAACC,EAAAA,oBAAD,CAAqB,QAAQ,MAAM,UAAA,EAAW,CAAA,CAAI,CAAA,GACzE,EAAA,EAAA,KAAA,CAACC,EAAAA,OAAD,CAAQ,QAAQ,QAAQ,KAAM,EAAW,kBAAmB,WAA5D,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CAAW,QAAQ,OAAO,SAAS,OAAO,OAAQ,GAAI,UAAU,oBAAoB,SAAU,EAAK,CAAA,GACnG,EAAA,EAAA,IAAA,CAACA,EAAAA,UAAD,CAAW,QAAQ,aAAa,SAAS,QAAQ,OAAQ,GAAI,UAAU,wCAAwC,SAAU,EAAK,CAAA,CACxH,GACG,GACC,CAAA,CAEpB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ChartContainer as e,ChartTooltip as t,ChartTooltipContent as n}from"./ui/chart.mjs";import{useMemo as r}from"react";import{cn as i}from"@customafk/react-toolkit/utils";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{CartesianGrid as s,Scatter as c,ScatterChart as l,XAxis as u,YAxis as d,ZAxis as f}from"recharts";const p=({data:p,label:m=`Points`,color:h=`var(--chart-1)`,xLabel:g,yLabel:_,xFormatter:v=e=>e.toLocaleString(`en-US`),yFormatter:y=e=>e.toLocaleString(`en-US`),showBubbleSize:b=!1,showGrid:x=!0,className:S,animate:C=!0,height:w})=>a(e,{"data-slot":`correlation-scatter-chart`,config:r(()=>({y:{label:m,color:h}}),[m,h]),className:i(`w-full`,S),style:w===void 0?void 0:{height:w,aspectRatio:`auto`},children:o(l,{margin:{top:8,right:12,bottom:0,left:12},children:[x&&a(s,{}),a(u,{type:`number`,dataKey:`x`,name:g,tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:v}),a(d,{type:`number`,dataKey:`y`,name:_,tickLine:!1,axisLine:!1,tickMargin:8,width:64,tickFormatter:y}),b&&a(f,{type:`number`,dataKey:`z`,range:[64,400]}),a(t,{cursor:{strokeDasharray:`3 3`},content:a(n,{hideLabel:!0,formatter:(e,t,n)=>{let r=n.payload;return o(`div`,{className:`grid gap-0.5`,children:[r.name&&a(`span`,{className:`font-medium text-muted-strong`,children:r.name}),o(`span`,{className:`text-muted`,children:[g||`x`,`: `,a(`span`,{className:`font-medium font-number text-text-positive-strong`,children:v(r.x)})]}),o(`span`,{className:`text-muted`,children:[_||`y`,`: `,a(`span`,{className:`font-medium font-number text-text-positive-strong`,children:y(r.y)})]})]})}})}),a(c,{data:p,fill:h,isAnimationActive:C})]})});export{p as CorrelationScatterChart};
|
|
2
|
+
//# sourceMappingURL=correlation-scatter-chart-Djtt7NU7.mjs.map
|