@customafk/lunas-ui 0.2.51 → 0.2.52
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-Bpmk3ZyS.d.cts +43 -0
- package/dist/FeatureDeveloping-CVFrndc_.cjs +2 -0
- package/dist/FeatureDeveloping-CVFrndc_.cjs.map +1 -0
- package/dist/FeatureDeveloping-k_14m44U.mjs +2 -0
- package/dist/FeatureDeveloping-k_14m44U.mjs.map +1 -0
- package/dist/FeatureDeveloping-oS433qZK.d.mts +43 -0
- package/dist/FeatureFixing-CRTE4tkV.d.mts +43 -0
- package/dist/FeatureFixing-CqDnOmou.cjs +2 -0
- package/dist/FeatureFixing-CqDnOmou.cjs.map +1 -0
- package/dist/FeatureFixing-D7qYhigu.mjs +2 -0
- package/dist/FeatureFixing-D7qYhigu.mjs.map +1 -0
- package/dist/FeatureFixing-Vwb-odpJ.d.cts +43 -0
- package/dist/LoginPage-B7SgjP72.d.cts +55 -0
- package/dist/LoginPage-BDh57TIY.mjs +2 -0
- package/dist/LoginPage-BDh57TIY.mjs.map +1 -0
- package/dist/LoginPage-Bsh_Wo-4.d.mts +55 -0
- package/dist/LoginPage-CSewNEGN.cjs +2 -0
- package/dist/LoginPage-CSewNEGN.cjs.map +1 -0
- package/dist/NotAuthorized-B1nln3YY.d.mts +43 -0
- package/dist/NotAuthorized-BBlhgNjt.cjs +2 -0
- package/dist/NotAuthorized-BBlhgNjt.cjs.map +1 -0
- package/dist/NotAuthorized-DcXH7UbQ.d.cts +43 -0
- package/dist/NotAuthorized-xXIwCXtZ.mjs +2 -0
- package/dist/NotAuthorized-xXIwCXtZ.mjs.map +1 -0
- package/dist/NotFound-BOAR7QCc.cjs +2 -0
- package/dist/NotFound-BOAR7QCc.cjs.map +1 -0
- package/dist/NotFound-Co0y_Fpa.d.cts +43 -0
- package/dist/NotFound-H7T1wCkf.mjs +2 -0
- package/dist/NotFound-H7T1wCkf.mjs.map +1 -0
- package/dist/NotFound-Kvw-yvr_.d.mts +43 -0
- package/dist/RegisterPage-BI5efPEP.cjs +2 -0
- package/dist/RegisterPage-BI5efPEP.cjs.map +1 -0
- package/dist/RegisterPage-DKiXE8U6.d.mts +52 -0
- package/dist/RegisterPage-DluyCA1L.mjs +2 -0
- package/dist/RegisterPage-DluyCA1L.mjs.map +1 -0
- package/dist/RegisterPage-qEpX0gUP.d.cts +52 -0
- package/dist/VerifyEmailPage-D3U6V5IR.mjs +2 -0
- package/dist/VerifyEmailPage-D3U6V5IR.mjs.map +1 -0
- package/dist/VerifyEmailPage-DRQiyUqo.cjs +2 -0
- package/dist/VerifyEmailPage-DRQiyUqo.cjs.map +1 -0
- package/dist/VerifyEmailPage-Dd59Girn.d.cts +64 -0
- package/dist/VerifyEmailPage-ZaRE0r8m.d.mts +64 -0
- package/dist/add-new-B35fn_Bz.mjs +2 -0
- package/dist/add-new-B35fn_Bz.mjs.map +1 -0
- package/dist/add-new-DqRZeMNy.d.mts +17 -0
- package/dist/add-new-deaz-L5t.cjs +2 -0
- package/dist/add-new-deaz-L5t.cjs.map +1 -0
- package/dist/add-new-pqYC7xmc.d.cts +17 -0
- package/dist/alert-BEcGZfPW.mjs +2 -0
- package/dist/alert-BEcGZfPW.mjs.map +1 -0
- package/dist/alert-CB79DQwK.d.mts +88 -0
- package/dist/alert-Ca5wFNXF.d.cts +88 -0
- package/dist/alert-DDdHIRib.cjs +2 -0
- package/dist/alert-DDdHIRib.cjs.map +1 -0
- package/dist/alert-dialog-B9ThoUnv.cjs +2 -0
- package/dist/alert-dialog-B9ThoUnv.cjs.map +1 -0
- package/dist/alert-dialog-D0jOWqaA.d.mts +90 -0
- package/dist/alert-dialog-DqIS6qRz.mjs +2 -0
- package/dist/alert-dialog-DqIS6qRz.mjs.map +1 -0
- package/dist/alert-dialog-TBiCQ9Ty.d.cts +90 -0
- package/dist/aspect-ratio-BsfIALEV.d.mts +24 -0
- package/dist/aspect-ratio-Cd2mBXiE.cjs +2 -0
- package/dist/aspect-ratio-Cd2mBXiE.cjs.map +1 -0
- package/dist/aspect-ratio-DP12ssDX.mjs +2 -0
- package/dist/aspect-ratio-DP12ssDX.mjs.map +1 -0
- package/dist/aspect-ratio-Dy7SplBM.d.cts +24 -0
- package/dist/avatar-CVRRoJ05.cjs +2 -0
- package/dist/avatar-CVRRoJ05.cjs.map +1 -0
- package/dist/avatar-XFoz-EPk.d.cts +35 -0
- package/dist/avatar-tjgTFpVU.mjs +2 -0
- package/dist/avatar-tjgTFpVU.mjs.map +1 -0
- package/dist/avatar-zDJh1tw9.d.mts +35 -0
- package/dist/badge-7bcsD0vA.cjs +2 -0
- package/dist/badge-7bcsD0vA.cjs.map +1 -0
- package/dist/badge-CG6dbI29.mjs +2 -0
- package/dist/badge-CG6dbI29.mjs.map +1 -0
- package/dist/badge-CQygfYGk.d.mts +42 -0
- package/dist/badge-DYo5Diiy.d.cts +42 -0
- package/dist/breadcrumb-BhUXmEGd.d.cts +72 -0
- package/dist/breadcrumb-D5EVqGzZ.d.mts +72 -0
- package/dist/breadcrumb-DgCIacvh.cjs +2 -0
- package/dist/breadcrumb-DgCIacvh.cjs.map +1 -0
- package/dist/breadcrumb-RCZAaQ1l.mjs +2 -0
- package/dist/breadcrumb-RCZAaQ1l.mjs.map +1 -0
- package/dist/button-CCVJTHBI.mjs +2 -0
- package/dist/button-CCVJTHBI.mjs.map +1 -0
- package/dist/button-CwxEnAw3.d.mts +174 -0
- package/dist/button-D-pWsdxT.d.cts +174 -0
- package/dist/button-group-4oHvYHtz.cjs +2 -0
- package/dist/button-group-4oHvYHtz.cjs.map +1 -0
- package/dist/button-group-CDRMmMyT.d.cts +50 -0
- package/dist/button-group-CRuT_zEE.mjs +2 -0
- package/dist/button-group-CRuT_zEE.mjs.map +1 -0
- package/dist/button-group-wrn32Sqe.d.mts +50 -0
- package/dist/button.variants-DkMqWB8G.mjs +2 -0
- package/dist/button.variants-DkMqWB8G.mjs.map +1 -0
- package/dist/calendar-BUPDN6CU.d.cts +45 -0
- package/dist/calendar-Boz9U-O2.d.mts +45 -0
- package/dist/calendar-CTyL_3WY.cjs +2 -0
- package/dist/calendar-CTyL_3WY.cjs.map +1 -0
- package/dist/calendar-DyzwC2TQ.mjs +2 -0
- package/dist/calendar-DyzwC2TQ.mjs.map +1 -0
- package/dist/card-B8Pm6iEs.cjs +2 -0
- package/dist/card-B8Pm6iEs.cjs.map +1 -0
- package/dist/card-DDM5jg3U.d.mts +63 -0
- package/dist/card-DpQKFp4f.mjs +2 -0
- package/dist/card-DpQKFp4f.mjs.map +1 -0
- package/dist/card-a8tqytoT.d.cts +63 -0
- package/dist/cards/grid-product-card.cjs +1 -2
- package/dist/cards/grid-product-card.d.cts +2 -37
- package/dist/cards/grid-product-card.d.mts +2 -0
- package/dist/cards/grid-product-card.mjs +1 -0
- package/dist/cards/product-card.cjs +1 -2
- package/dist/cards/product-card.d.cts +2 -37
- package/dist/cards/product-card.d.mts +2 -0
- package/dist/cards/product-card.mjs +1 -0
- package/dist/cards/simple-card.cjs +1 -2
- package/dist/cards/simple-card.d.cts +2 -35
- package/dist/cards/simple-card.d.mts +2 -0
- package/dist/cards/simple-card.mjs +1 -0
- package/dist/carousel-BayGB372.cjs +2 -0
- package/dist/carousel-BayGB372.cjs.map +1 -0
- package/dist/carousel-Cm4szl4A.d.cts +71 -0
- package/dist/carousel-D8xUkFZ-.mjs +2 -0
- package/dist/carousel-D8xUkFZ-.mjs.map +1 -0
- package/dist/carousel-Y5TlCJ96.d.mts +71 -0
- package/dist/checkbox-Bbn3OZQd.d.mts +26 -0
- package/dist/checkbox-Bt4BgYMB.cjs +2 -0
- package/dist/checkbox-Bt4BgYMB.cjs.map +1 -0
- package/dist/checkbox-CBhlnGGv.mjs +2 -0
- package/dist/checkbox-CBhlnGGv.mjs.map +1 -0
- package/dist/checkbox-CccXRTYH.d.cts +26 -0
- package/dist/close-Co-WLsSG.mjs +2 -0
- package/dist/close-Co-WLsSG.mjs.map +1 -0
- package/dist/close-DYBVx-8O.cjs +2 -0
- package/dist/close-DYBVx-8O.cjs.map +1 -0
- package/dist/cms-layout-B7lc5hIX.mjs +2 -0
- package/dist/cms-layout-B7lc5hIX.mjs.map +1 -0
- package/dist/cms-layout-DeTdDLXr.cjs +2 -0
- package/dist/cms-layout-DeTdDLXr.cjs.map +1 -0
- package/dist/collapsible-CLr3JLeA.mjs +2 -0
- package/dist/collapsible-CLr3JLeA.mjs.map +1 -0
- package/dist/collapsible-LInIoQlU.d.cts +34 -0
- package/dist/collapsible-RWAWE2lS.d.mts +34 -0
- package/dist/collapsible-rx0m3LuF.cjs +2 -0
- package/dist/collapsible-rx0m3LuF.cjs.map +1 -0
- package/dist/command-BQFbzzTr.cjs +2 -0
- package/dist/command-BQFbzzTr.cjs.map +1 -0
- package/dist/command-BlvmwwTr.d.mts +89 -0
- package/dist/command-CQMdYoAm.mjs +2 -0
- package/dist/command-CQMdYoAm.mjs.map +1 -0
- package/dist/command-DAudAVpm.d.cts +89 -0
- package/dist/confirm-dialog-C5ULtwJE.cjs +2 -0
- package/dist/confirm-dialog-C5ULtwJE.cjs.map +1 -0
- package/dist/confirm-dialog-CNWJKBc9.d.mts +142 -0
- package/dist/confirm-dialog-DG_3RvTI.d.cts +142 -0
- package/dist/confirm-dialog-u2GP8uPi.mjs +2 -0
- package/dist/confirm-dialog-u2GP8uPi.mjs.map +1 -0
- package/dist/context-menu-C9nXY3Bq.d.cts +125 -0
- package/dist/context-menu-CplWspvB.cjs +2 -0
- package/dist/context-menu-CplWspvB.cjs.map +1 -0
- package/dist/context-menu-DrF_sQB1.d.mts +125 -0
- package/dist/context-menu-a50s2_E_.mjs +2 -0
- package/dist/context-menu-a50s2_E_.mjs.map +1 -0
- package/dist/country-BHMqKldc.d.mts +22 -0
- package/dist/country-CnXNnGmY.cjs +2 -0
- package/dist/country-CnXNnGmY.cjs.map +1 -0
- package/dist/country-DUD_q-yS.d.cts +22 -0
- package/dist/country-lc1l_viY.mjs +2 -0
- package/dist/country-lc1l_viY.mjs.map +1 -0
- package/dist/data-display/country.cjs +1 -2
- package/dist/data-display/country.d.cts +2 -22
- package/dist/data-display/country.d.mts +2 -0
- package/dist/data-display/country.mjs +1 -0
- package/dist/data-display/data-list.cjs +1 -2
- package/dist/data-display/data-list.d.cts +2 -43
- package/dist/data-display/data-list.d.mts +2 -0
- package/dist/data-display/data-list.mjs +1 -0
- package/dist/data-display/date-tooltip.cjs +1 -2
- package/dist/data-display/date-tooltip.d.cts +2 -19
- package/dist/data-display/date-tooltip.d.mts +2 -0
- package/dist/data-display/date-tooltip.mjs +1 -0
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.d.cts +2 -39
- package/dist/data-display/date.d.mts +2 -0
- package/dist/data-display/date.mjs +1 -0
- package/dist/data-display/empty.cjs +1 -2
- package/dist/data-display/empty.d.cts +2 -21
- package/dist/data-display/empty.d.mts +2 -0
- package/dist/data-display/empty.mjs +1 -0
- package/dist/data-display/name.cjs +1 -2
- package/dist/data-display/name.d.cts +2 -19
- package/dist/data-display/name.d.mts +2 -0
- package/dist/data-display/name.mjs +1 -0
- package/dist/data-display/phone-number.cjs +1 -2
- package/dist/data-display/phone-number.d.cts +2 -19
- package/dist/data-display/phone-number.d.mts +2 -0
- package/dist/data-display/phone-number.mjs +1 -0
- package/dist/data-display/role-badge.cjs +1 -2
- package/dist/data-display/role-badge.d.cts +2 -22
- package/dist/data-display/role-badge.d.mts +2 -0
- package/dist/data-display/role-badge.mjs +1 -0
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.d.cts +2 -57
- package/dist/data-display/statistic.d.mts +2 -0
- package/dist/data-display/statistic.mjs +1 -0
- package/dist/data-display/user.cjs +1 -1
- package/dist/data-display/user.d.cts +2 -23
- package/dist/data-display/user.d.mts +2 -0
- package/dist/data-display/user.mjs +1 -0
- package/dist/data-list-BGmCL71V.cjs +2 -0
- package/dist/data-list-BGmCL71V.cjs.map +1 -0
- package/dist/data-list-CXWcUFU1.mjs +2 -0
- package/dist/data-list-CXWcUFU1.mjs.map +1 -0
- package/dist/data-list-Chl3KU5n.d.mts +43 -0
- package/dist/data-list-DwyNusTs.d.cts +43 -0
- package/dist/date-88lk-VJF.mjs +2 -0
- package/dist/date-88lk-VJF.mjs.map +1 -0
- package/dist/date-BBBx-rIM.cjs +2 -0
- package/dist/date-BBBx-rIM.cjs.map +1 -0
- package/dist/date-tooltip-BdVWCJlg.cjs +2 -0
- package/dist/date-tooltip-BdVWCJlg.cjs.map +1 -0
- package/dist/date-tooltip-CoPcr3Ju.d.mts +19 -0
- package/dist/date-tooltip-DZ3NlfdZ.d.cts +19 -0
- package/dist/date-tooltip-OPAmlgBg.mjs +2 -0
- package/dist/date-tooltip-OPAmlgBg.mjs.map +1 -0
- package/dist/date-viiYGAtR.d.mts +39 -0
- package/dist/date-xQIXRJ71.d.cts +39 -0
- package/dist/descriptions-CgkBHjKD.mjs +2 -0
- package/dist/descriptions-CgkBHjKD.mjs.map +1 -0
- package/dist/descriptions-RNxfgfpM.cjs +2 -0
- package/dist/descriptions-RNxfgfpM.cjs.map +1 -0
- package/dist/detail-dialog-BLApH3eD.cjs +2 -0
- package/dist/detail-dialog-BLApH3eD.cjs.map +1 -0
- package/dist/detail-dialog-CXKrznrp.mjs +2 -0
- package/dist/detail-dialog-CXKrznrp.mjs.map +1 -0
- package/dist/dialog--BvCecaD.mjs +2 -0
- package/dist/dialog--BvCecaD.mjs.map +1 -0
- package/dist/dialog-DNEUhYSv.cjs +2 -0
- package/dist/dialog-DNEUhYSv.cjs.map +1 -0
- package/dist/dialog-DokGVUbC.d.mts +90 -0
- package/dist/dialog-xPhSkLmg.d.cts +90 -0
- package/dist/dialogs/confirm-dialog.cjs +1 -2
- package/dist/dialogs/confirm-dialog.d.cts +2 -142
- package/dist/dialogs/confirm-dialog.d.mts +2 -0
- package/dist/dialogs/confirm-dialog.mjs +1 -0
- package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +29 -29
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +209 -0
- package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -0
- package/dist/dialogs/detail-dialog/index.cjs +1 -2
- package/dist/dialogs/detail-dialog/index.d.cts +2 -45
- package/dist/dialogs/detail-dialog/index.d.mts +2 -0
- package/dist/dialogs/detail-dialog/index.mjs +1 -0
- package/dist/dialogs/error-dialog.cjs +1 -2
- package/dist/dialogs/error-dialog.d.cts +2 -25
- package/dist/dialogs/error-dialog.d.mts +2 -0
- package/dist/dialogs/error-dialog.mjs +1 -0
- package/dist/dialogs/loading-dialog.cjs +1 -2
- package/dist/dialogs/loading-dialog.d.cts +2 -21
- package/dist/dialogs/loading-dialog.d.mts +2 -0
- package/dist/dialogs/loading-dialog.mjs +1 -0
- package/dist/dist-DVrfqn8H.mjs +2 -0
- package/dist/dist-DVrfqn8H.mjs.map +1 -0
- package/dist/drawer-BYYCsheu.mjs +2 -0
- package/dist/drawer-BYYCsheu.mjs.map +1 -0
- package/dist/drawer-CjnhVMTw.d.mts +72 -0
- package/dist/drawer-DqAutQLS.d.cts +72 -0
- package/dist/drawer-H8uD0q-C.cjs +2 -0
- package/dist/drawer-H8uD0q-C.cjs.map +1 -0
- package/dist/dropdown-menu-CpA9s4II.d.cts +127 -0
- package/dist/dropdown-menu-CtJ_OM19.cjs +2 -0
- package/dist/dropdown-menu-CtJ_OM19.cjs.map +1 -0
- package/dist/dropdown-menu-DhKquziD.mjs +2 -0
- package/dist/dropdown-menu-DhKquziD.mjs.map +1 -0
- package/dist/dropdown-menu-aDVEkr4L.d.mts +127 -0
- package/dist/edit-B6hhKU53.d.cts +17 -0
- package/dist/edit-CJH1v_md.d.mts +17 -0
- package/dist/edit-DwHuMQMh.cjs +2 -0
- package/dist/edit-DwHuMQMh.cjs.map +1 -0
- package/dist/edit-FIiUWxZq.mjs +2 -0
- package/dist/edit-FIiUWxZq.mjs.map +1 -0
- package/dist/empty-BhV9ASYf.d.mts +68 -0
- package/dist/empty-CmIJYhmV.cjs +2 -0
- package/dist/empty-CmIJYhmV.cjs.map +1 -0
- package/dist/empty-CoKfJtGD.mjs +2 -0
- package/dist/empty-CoKfJtGD.mjs.map +1 -0
- package/dist/empty-D6t3C3WX.mjs +2 -0
- package/dist/empty-D6t3C3WX.mjs.map +1 -0
- package/dist/empty-DaK_4UmN.d.cts +68 -0
- package/dist/empty-OVsSwbVn.d.mts +21 -0
- package/dist/empty-dUZoxaBx.cjs +2 -0
- package/dist/empty-dUZoxaBx.cjs.map +1 -0
- package/dist/empty-z1Ft5uT1.d.cts +21 -0
- package/dist/error-dialog-B8CXPcst.cjs +2 -0
- package/dist/error-dialog-B8CXPcst.cjs.map +1 -0
- package/dist/error-dialog-D0jvqNoY.d.mts +25 -0
- package/dist/error-dialog-DlwWpKEY.d.cts +25 -0
- package/dist/error-dialog-DnntjOS9.mjs +2 -0
- package/dist/error-dialog-DnntjOS9.mjs.map +1 -0
- package/dist/features/descriptions/index.cjs +1 -2
- package/dist/features/descriptions/index.d.cts +2 -246
- package/dist/features/descriptions/index.d.mts +3 -0
- package/dist/features/descriptions/index.mjs +1 -0
- package/dist/features/search-modal/index.cjs +1 -1
- package/dist/features/search-modal/index.d.cts +2 -17
- package/dist/features/search-modal/index.d.mts +2 -0
- package/dist/features/search-modal/index.mjs +1 -0
- package/dist/features/tables/index.cjs +1 -1
- package/dist/features/tables/index.d.cts +1 -1
- package/dist/features/tables/index.d.mts +3 -0
- package/dist/features/tables/index.mjs +1 -0
- 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 +2 -0
- package/dist/features/tanstack-form/index.mjs +1 -0
- 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 +2 -0
- package/dist/features/text-editor/index.mjs +1 -0
- package/dist/field-BxYoF5AX.mjs +2 -0
- package/dist/field-BxYoF5AX.mjs.map +1 -0
- package/dist/field-fIef7NR0.cjs +2 -0
- package/dist/field-fIef7NR0.cjs.map +1 -0
- package/dist/file-uploader-BM0x9VBh.cjs +3 -0
- package/dist/file-uploader-BM0x9VBh.cjs.map +1 -0
- package/dist/file-uploader-BTWXTBeQ.mjs +3 -0
- package/dist/file-uploader-BTWXTBeQ.mjs.map +1 -0
- package/dist/file-uploader-Bcq3zzxa.d.cts +103 -0
- package/dist/file-uploader-nUOkG_fv.d.mts +103 -0
- package/dist/flex-BSTiMh2t.d.mts +117 -0
- package/dist/flex-Bx9Nmr53.mjs +2 -0
- package/dist/flex-Bx9Nmr53.mjs.map +1 -0
- package/dist/flex-ClUVVSda.d.cts +117 -0
- package/dist/flex-ld7BqXoM.cjs +2 -0
- package/dist/flex-ld7BqXoM.cjs.map +1 -0
- package/dist/form-BZAtjwSL.d.mts +112 -0
- package/dist/form-Cek0ebE_.d.cts +112 -0
- package/dist/form-DvtaketZ.mjs +2 -0
- package/dist/form-DvtaketZ.mjs.map +1 -0
- package/dist/form-RLIQQ3uV.cjs +2 -0
- package/dist/form-RLIQQ3uV.cjs.map +1 -0
- package/dist/google-BWOrgvy8.d.mts +53 -0
- package/dist/google-C4F5wQ9e.mjs +2 -0
- package/dist/google-C4F5wQ9e.mjs.map +1 -0
- package/dist/google-Cy0_rdmN.cjs +2 -0
- package/dist/google-Cy0_rdmN.cjs.map +1 -0
- package/dist/google-Dyb44d8Y.d.cts +53 -0
- package/dist/grid-BOqzD6m6.d.cts +19 -0
- package/dist/grid-BXJ2x1oD.cjs +2 -0
- package/dist/grid-BXJ2x1oD.cjs.map +1 -0
- package/dist/grid-C4ogfMWr.mjs +2 -0
- package/dist/grid-C4ogfMWr.mjs.map +1 -0
- package/dist/grid-Dw7tBNxf.d.mts +19 -0
- package/dist/grid-product-card-BD8EVmk6.d.cts +37 -0
- package/dist/grid-product-card-BpciVETd.cjs +2 -0
- package/dist/grid-product-card-BpciVETd.cjs.map +1 -0
- package/dist/grid-product-card-BtZwWaMo.mjs +2 -0
- package/dist/grid-product-card-BtZwWaMo.mjs.map +1 -0
- package/dist/grid-product-card-CoFzQiFm.d.mts +37 -0
- package/dist/heading-De4Pn3mZ.mjs +2 -0
- package/dist/heading-De4Pn3mZ.mjs.map +1 -0
- package/dist/hover-card-D2gz257Y.d.cts +37 -0
- package/dist/hover-card-DMVePTD9.mjs +2 -0
- package/dist/hover-card-DMVePTD9.mjs.map +1 -0
- package/dist/hover-card-Dsf0S6eo.d.mts +37 -0
- package/dist/hover-card-Pde4G6Fc.cjs +2 -0
- package/dist/hover-card-Pde4G6Fc.cjs.map +1 -0
- package/dist/image-BBPrcvIr.d.cts +36 -0
- package/dist/image-CbZwvmmL.mjs +2 -0
- package/dist/image-CbZwvmmL.mjs.map +1 -0
- package/dist/image-CwnOaUW7.d.mts +36 -0
- package/dist/image-eYMg5TSJ.cjs +2 -0
- package/dist/image-eYMg5TSJ.cjs.map +1 -0
- package/dist/index-1T84UTtI.d.mts +1707 -0
- package/dist/index-B03QzDx1.d.mts +17 -0
- package/dist/index-BOLiQQmh.d.mts +1093 -0
- package/dist/index-BQZ2-xGQ.d.cts +246 -0
- package/dist/index-BUpm7Ukw.d.mts +90 -0
- package/dist/index-BWLHjQ6S.d.cts +74 -0
- package/dist/index-C33ZNe5s.d.cts +85 -0
- package/dist/index-D4T3Qd4m.d.cts +45 -0
- package/dist/index-DC7NHLfc.d.cts +17 -0
- package/dist/index-DYnzFF0T.d.mts +74 -0
- package/dist/index-DYp6lUbn.d.mts +45 -0
- package/dist/index-DtlnICYj.d.mts +85 -0
- package/dist/index-DvC_tPbo.d.cts +1093 -0
- package/dist/index-DyYcTYcv.d.mts +246 -0
- package/dist/index-e8PriyFP.d.cts +90 -0
- package/dist/index-x5md75cy.d.cts +1707 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +92 -92
- package/dist/index.d.mts +93 -0
- package/dist/index.mjs +1 -0
- package/dist/input-BDCw9qBl.d.cts +44 -0
- package/dist/input-BVTLQHpd.d.mts +44 -0
- package/dist/input-BatF2xqI.cjs +2 -0
- package/dist/input-BatF2xqI.cjs.map +1 -0
- package/dist/input-CFsouxvo.mjs +2 -0
- package/dist/input-CFsouxvo.mjs.map +1 -0
- package/dist/input-otp-C9SpN7qa.mjs +2 -0
- package/dist/input-otp-C9SpN7qa.mjs.map +1 -0
- package/dist/input-otp-CMEY_7IK.d.cts +59 -0
- package/dist/input-otp-DXt9rivn.d.mts +59 -0
- package/dist/input-otp-phGylVzo.cjs +2 -0
- package/dist/input-otp-phGylVzo.cjs.map +1 -0
- package/dist/item-DSaO7I07.d.cts +102 -0
- package/dist/item-Dq3WIh5a.d.mts +102 -0
- package/dist/item-uB0ZFXtc.cjs +2 -0
- package/dist/item-uB0ZFXtc.cjs.map +1 -0
- package/dist/item-ysEJO_2s.mjs +2 -0
- package/dist/item-ysEJO_2s.mjs.map +1 -0
- package/dist/label--hinNDHW.cjs +2 -0
- package/dist/label--hinNDHW.cjs.map +1 -0
- package/dist/label-BMVyfKu9.mjs +2 -0
- package/dist/label-BMVyfKu9.mjs.map +1 -0
- package/dist/label-CCE-kS4j.d.mts +24 -0
- package/dist/label-DGJL4U_f.d.cts +24 -0
- 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 +2 -0
- package/dist/layouts/cms-layout/index.mjs +1 -0
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +2 -117
- package/dist/layouts/flex.d.mts +2 -0
- package/dist/layouts/flex.mjs +1 -0
- package/dist/layouts/grid.cjs +1 -2
- package/dist/layouts/grid.d.cts +2 -19
- package/dist/layouts/grid.d.mts +2 -0
- package/dist/layouts/grid.mjs +1 -0
- package/dist/layouts/payment-layout/index.cjs +1 -1
- package/dist/layouts/payment-layout/index.d.cts +2 -74
- package/dist/layouts/payment-layout/index.d.mts +2 -0
- package/dist/layouts/payment-layout/index.mjs +1 -0
- package/dist/loading-dialog-CEkua3Lh.mjs +2 -0
- package/dist/loading-dialog-CEkua3Lh.mjs.map +1 -0
- package/dist/loading-dialog-D8kCsJID.d.cts +21 -0
- package/dist/loading-dialog-DLvA8-yT.d.mts +21 -0
- package/dist/loading-dialog-DYZmHC1A.cjs +2 -0
- package/dist/loading-dialog-DYZmHC1A.cjs.map +1 -0
- package/dist/menubar-BBFgdkch.d.cts +135 -0
- package/dist/menubar-Bh9Ua6gx.mjs +2 -0
- package/dist/menubar-Bh9Ua6gx.mjs.map +1 -0
- package/dist/menubar-Sr0X6In7.cjs +2 -0
- package/dist/menubar-Sr0X6In7.cjs.map +1 -0
- package/dist/menubar-b3iR0kew.d.mts +135 -0
- package/dist/multi-select-BHqEpbWV.d.mts +117 -0
- package/dist/multi-select-CBZxsmZW.mjs +2 -0
- package/dist/multi-select-CBZxsmZW.mjs.map +1 -0
- package/dist/multi-select-DdXU9QtL.d.cts +117 -0
- package/dist/multi-select-uHi4rmly.cjs +2 -0
- package/dist/multi-select-uHi4rmly.cjs.map +1 -0
- package/dist/name-2FXVOGc1.d.mts +19 -0
- package/dist/name-D7oldyH4.cjs +2 -0
- package/dist/name-D7oldyH4.cjs.map +1 -0
- package/dist/name-EKzKeq0g.mjs +2 -0
- package/dist/name-EKzKeq0g.mjs.map +1 -0
- package/dist/name-r1ATxwPZ.d.cts +19 -0
- package/dist/navigation-menu-BNEtQ0JM.cjs +2 -0
- package/dist/navigation-menu-BNEtQ0JM.cjs.map +1 -0
- package/dist/navigation-menu-DT9LfEFB.d.mts +77 -0
- package/dist/navigation-menu-Dl0kgmce.d.cts +77 -0
- package/dist/navigation-menu-zlpQ6hqY.mjs +2 -0
- package/dist/navigation-menu-zlpQ6hqY.mjs.map +1 -0
- package/dist/pages/FeatureDeveloping.cjs +1 -2
- package/dist/pages/FeatureDeveloping.d.cts +2 -43
- package/dist/pages/FeatureDeveloping.d.mts +2 -0
- package/dist/pages/FeatureDeveloping.mjs +1 -0
- package/dist/pages/FeatureFixing.cjs +1 -2
- package/dist/pages/FeatureFixing.d.cts +2 -43
- package/dist/pages/FeatureFixing.d.mts +2 -0
- package/dist/pages/FeatureFixing.mjs +1 -0
- package/dist/pages/LoginPage.cjs +1 -2
- package/dist/pages/LoginPage.d.cts +2 -55
- package/dist/pages/LoginPage.d.mts +2 -0
- package/dist/pages/LoginPage.mjs +1 -0
- package/dist/pages/NotAuthorized.cjs +1 -2
- package/dist/pages/NotAuthorized.d.cts +2 -43
- package/dist/pages/NotAuthorized.d.mts +2 -0
- package/dist/pages/NotAuthorized.mjs +1 -0
- package/dist/pages/NotFound.cjs +1 -2
- package/dist/pages/NotFound.d.cts +2 -43
- package/dist/pages/NotFound.d.mts +2 -0
- package/dist/pages/NotFound.mjs +1 -0
- package/dist/pages/RegisterPage.cjs +1 -2
- package/dist/pages/RegisterPage.d.cts +2 -52
- package/dist/pages/RegisterPage.d.mts +2 -0
- package/dist/pages/RegisterPage.mjs +1 -0
- package/dist/pages/VerifyEmailPage.cjs +1 -2
- package/dist/pages/VerifyEmailPage.d.cts +2 -64
- package/dist/pages/VerifyEmailPage.d.mts +2 -0
- package/dist/pages/VerifyEmailPage.mjs +1 -0
- package/dist/pagination-D6lKOCca.cjs +2 -0
- package/dist/pagination-D6lKOCca.cjs.map +1 -0
- package/dist/pagination-DXpyiDJW.mjs +2 -0
- package/dist/pagination-DXpyiDJW.mjs.map +1 -0
- package/dist/pagination-DYHZgmcc.d.cts +67 -0
- package/dist/pagination-DYMPNWwJ.d.mts +67 -0
- package/dist/paragraph-CLhsGG8e.d.cts +48 -0
- package/dist/paragraph-DYLaQtTV.mjs +2 -0
- package/dist/paragraph-DYLaQtTV.mjs.map +1 -0
- package/dist/paragraph-o9QFeg6c.d.mts +48 -0
- package/dist/payment-layout-BTYaI9Mr.mjs +2 -0
- package/dist/payment-layout-BTYaI9Mr.mjs.map +1 -0
- package/dist/payment-layout-neLk_obm.cjs +2 -0
- package/dist/payment-layout-neLk_obm.cjs.map +1 -0
- package/dist/phone-number-BAqPxJ5z.d.cts +19 -0
- package/dist/phone-number-CUjSdoHG.d.mts +19 -0
- package/dist/phone-number-CdfMUTj2.cjs +2 -0
- package/dist/phone-number-CdfMUTj2.cjs.map +1 -0
- package/dist/phone-number-CkxEaxxg.mjs +2 -0
- package/dist/phone-number-CkxEaxxg.mjs.map +1 -0
- package/dist/popover-BGd0Tvmy.mjs +2 -0
- package/dist/popover-BGd0Tvmy.mjs.map +1 -0
- package/dist/popover-CaU_EoBJ.d.mts +52 -0
- package/dist/popover-eSwUy8WP.cjs +2 -0
- package/dist/popover-eSwUy8WP.cjs.map +1 -0
- package/dist/popover-m32DoRiq.d.cts +52 -0
- package/dist/product-card-10gaH8bg.cjs +2 -0
- package/dist/product-card-10gaH8bg.cjs.map +1 -0
- package/dist/product-card-C0l0q2Ve.d.cts +37 -0
- package/dist/product-card-CWrVGqZV.d.mts +37 -0
- package/dist/product-card-Rwd-o9hK.mjs +2 -0
- package/dist/product-card-Rwd-o9hK.mjs.map +1 -0
- package/dist/progress-BwbACJal.d.cts +23 -0
- package/dist/progress-Dlgbu5Ff.cjs +2 -0
- package/dist/progress-Dlgbu5Ff.cjs.map +1 -0
- package/dist/progress-RvyBMsxb.mjs +2 -0
- package/dist/progress-RvyBMsxb.mjs.map +1 -0
- package/dist/progress-sn0IL4k4.d.mts +23 -0
- package/dist/radio-group-C4sIDN68.cjs +2 -0
- package/dist/radio-group-C4sIDN68.cjs.map +1 -0
- package/dist/radio-group-CD-4vNQR.mjs +2 -0
- package/dist/radio-group-CD-4vNQR.mjs.map +1 -0
- package/dist/radio-group-Ck0NoDHp.d.cts +37 -0
- package/dist/radio-group-DeKN6NpB.d.mts +37 -0
- package/dist/refresh-BFJvyuJH.cjs +2 -0
- package/dist/refresh-BFJvyuJH.cjs.map +1 -0
- package/dist/refresh-BjdAiL4f.d.mts +17 -0
- package/dist/refresh-Bxm2I0Oe.mjs +2 -0
- package/dist/refresh-Bxm2I0Oe.mjs.map +1 -0
- package/dist/refresh-vK99pTVu.d.cts +17 -0
- package/dist/resizable-BilIxAxi.d.mts +63 -0
- package/dist/resizable-DYxHVdyf.d.cts +63 -0
- package/dist/resizable-p6zxjcHs.mjs +2 -0
- package/dist/resizable-p6zxjcHs.mjs.map +1 -0
- package/dist/resizable-yKKhHTqx.cjs +2 -0
- package/dist/resizable-yKKhHTqx.cjs.map +1 -0
- package/dist/role-badge-BIgdiY5P.mjs +2 -0
- package/dist/role-badge-BIgdiY5P.mjs.map +1 -0
- package/dist/role-badge-BwOEEepo.cjs +2 -0
- package/dist/role-badge-BwOEEepo.cjs.map +1 -0
- package/dist/role-badge-CBZdPHUc.d.cts +22 -0
- package/dist/role-badge-DeofJ2ep.d.mts +22 -0
- package/dist/scroll-area-C7s40z6d.d.mts +37 -0
- package/dist/scroll-area-CKWenzXh.d.cts +37 -0
- package/dist/scroll-area-Dn3a9ZCQ.cjs +2 -0
- package/dist/scroll-area-Dn3a9ZCQ.cjs.map +1 -0
- package/dist/scroll-area-DrZOWroA.mjs +2 -0
- package/dist/scroll-area-DrZOWroA.mjs.map +1 -0
- package/dist/search-input-7m30vApQ.d.mts +29 -0
- package/dist/search-input-BCYwlwtk.cjs +2 -0
- package/dist/search-input-BCYwlwtk.cjs.map +1 -0
- package/dist/search-input-DVtHPbme.d.cts +29 -0
- package/dist/search-input-D_nJ8McN.mjs +2 -0
- package/dist/search-input-D_nJ8McN.mjs.map +1 -0
- package/dist/search-modal-BJhXWOiv.cjs +2 -0
- package/dist/search-modal-BJhXWOiv.cjs.map +1 -0
- package/dist/search-modal-BpHuii66.mjs +2 -0
- package/dist/search-modal-BpHuii66.mjs.map +1 -0
- package/dist/select-B5q6krCq.cjs +2 -0
- package/dist/select-B5q6krCq.cjs.map +1 -0
- package/dist/select-CreOhvnP.mjs +2 -0
- package/dist/select-CreOhvnP.mjs.map +1 -0
- package/dist/select-D0mVxToc.d.mts +77 -0
- package/dist/select-D47FVDEv.d.cts +77 -0
- package/dist/separator-BRoS5sU8.cjs +2 -0
- package/dist/separator-BRoS5sU8.cjs.map +1 -0
- package/dist/separator-BT4tDBSP.d.mts +34 -0
- package/dist/separator-BjRgoiEx.mjs +2 -0
- package/dist/separator-BjRgoiEx.mjs.map +1 -0
- package/dist/separator-DOHFNx8Z.d.cts +34 -0
- package/dist/sheet-38e14yOJ.d.cts +69 -0
- package/dist/sheet-Bk6mK6TN.mjs +2 -0
- package/dist/sheet-Bk6mK6TN.mjs.map +1 -0
- package/dist/sheet-E5cMUzxr.cjs +2 -0
- package/dist/sheet-E5cMUzxr.cjs.map +1 -0
- package/dist/sheet-nSIzbJ1S.d.mts +69 -0
- package/dist/sidebar-DeiQjPc8.mjs +2 -0
- package/dist/sidebar-DeiQjPc8.mjs.map +1 -0
- package/dist/sidebar-DzqiY6IR.cjs +2 -0
- package/dist/sidebar-DzqiY6IR.cjs.map +1 -0
- package/dist/simple-card-C5Rr81Sm.cjs +2 -0
- package/dist/simple-card-C5Rr81Sm.cjs.map +1 -0
- package/dist/simple-card-CIB1_AO0.d.mts +35 -0
- package/dist/simple-card-CjJvBXKr.d.cts +35 -0
- package/dist/simple-card-HEzKjzGT.mjs +2 -0
- package/dist/simple-card-HEzKjzGT.mjs.map +1 -0
- package/dist/skeleton-BuscPZgb.cjs +2 -0
- package/dist/skeleton-BuscPZgb.cjs.map +1 -0
- package/dist/skeleton-Bw3-1Ifw.d.cts +27 -0
- package/dist/skeleton-teVJKfpX.mjs +2 -0
- package/dist/skeleton-teVJKfpX.mjs.map +1 -0
- package/dist/skeleton-wv8x-bmn.d.mts +27 -0
- package/dist/slider-CPRW5ByY.cjs +2 -0
- package/dist/slider-CPRW5ByY.cjs.map +1 -0
- package/dist/slider-CsNzhp4K.d.cts +26 -0
- package/dist/slider-RyNGQZH2.mjs +2 -0
- package/dist/slider-RyNGQZH2.mjs.map +1 -0
- package/dist/slider-axR5n-iU.d.mts +26 -0
- package/dist/sonner-BcwAttxz.d.cts +24 -0
- package/dist/sonner-DiKkRgL0.mjs +2 -0
- package/dist/sonner-DiKkRgL0.mjs.map +1 -0
- package/dist/sonner-hiZbh7Ma.d.mts +24 -0
- package/dist/sonner-tfvnW7f9.cjs +2 -0
- package/dist/sonner-tfvnW7f9.cjs.map +1 -0
- package/dist/spinner-8BhR5INj.d.cts +25 -0
- package/dist/spinner-BhIV1n_5.mjs +2 -0
- package/dist/spinner-BhIV1n_5.mjs.map +1 -0
- package/dist/spinner-BlcoDe44.cjs +2 -0
- package/dist/spinner-BlcoDe44.cjs.map +1 -0
- package/dist/spinner-YEHQDAMj.d.mts +25 -0
- package/dist/statistic-BGynCEWL.cjs +2 -0
- package/dist/statistic-BGynCEWL.cjs.map +1 -0
- package/dist/statistic-C7jb2YxN.d.cts +57 -0
- package/dist/statistic-DbQG1ymc.d.mts +57 -0
- package/dist/statistic-fawLJa99.mjs +2 -0
- package/dist/statistic-fawLJa99.mjs.map +1 -0
- package/dist/switch-BTU8yOgs.mjs +2 -0
- package/dist/switch-BTU8yOgs.mjs.map +1 -0
- package/dist/switch-BaLJWcs6.d.cts +26 -0
- package/dist/switch-DMEBc5Me.cjs +2 -0
- package/dist/switch-DMEBc5Me.cjs.map +1 -0
- package/dist/switch-gWDJ4yuM.d.mts +26 -0
- package/dist/systems/google.cjs +1 -2
- package/dist/systems/google.d.cts +2 -53
- package/dist/systems/google.d.mts +2 -0
- package/dist/systems/google.mjs +1 -0
- package/dist/table-B2rDsRr1.d.cts +73 -0
- package/dist/table-BmEJ-Ktq.d.mts +73 -0
- package/dist/table-DUDAeitX.mjs +2 -0
- package/dist/table-DUDAeitX.mjs.map +1 -0
- package/dist/table-DkGeuCS6.cjs +2 -0
- package/dist/table-DkGeuCS6.cjs.map +1 -0
- package/dist/tables-BhRUyHnO.cjs +4 -0
- package/dist/tables-BhRUyHnO.cjs.map +1 -0
- package/dist/tables-Dnu1akl3.mjs +4 -0
- package/dist/tables-Dnu1akl3.mjs.map +1 -0
- package/dist/tabs-564E0ez3.d.mts +44 -0
- package/dist/tabs-DFGhwbGp.mjs +2 -0
- package/dist/tabs-DFGhwbGp.mjs.map +1 -0
- package/dist/tabs-JR7-JzIe.cjs +2 -0
- package/dist/tabs-JR7-JzIe.cjs.map +1 -0
- package/dist/tabs-vAz8fioT.d.cts +44 -0
- package/dist/tanstack-form-4b7YcChW.cjs +12 -0
- package/dist/tanstack-form-4b7YcChW.cjs.map +1 -0
- package/dist/tanstack-form-Bo1AZA4L.mjs +12 -0
- package/dist/tanstack-form-Bo1AZA4L.mjs.map +1 -0
- package/dist/text-editor-D1vX6xed.mjs +2 -0
- package/dist/text-editor-D1vX6xed.mjs.map +1 -0
- package/dist/text-editor-Dr8BD9Bh.cjs +2 -0
- package/dist/text-editor-Dr8BD9Bh.cjs.map +1 -0
- package/dist/textarea-BNYJfmS1.cjs +2 -0
- package/dist/textarea-BNYJfmS1.cjs.map +1 -0
- package/dist/textarea-Be2gUM3T.d.mts +30 -0
- package/dist/textarea-Bh8TcWO-.mjs +2 -0
- package/dist/textarea-Bh8TcWO-.mjs.map +1 -0
- package/dist/textarea-DbmOLyAp.d.cts +30 -0
- package/dist/title-BlFwN8RM.d.mts +43 -0
- package/dist/title-CMLgxj8_.mjs +2 -0
- package/dist/title-CMLgxj8_.mjs.map +1 -0
- package/dist/title-DJuGuD0Q.d.cts +43 -0
- package/dist/title-DR8e6bHV.cjs +2 -0
- package/dist/title-DR8e6bHV.cjs.map +1 -0
- package/dist/toggle-B3j94Xvr.cjs +2 -0
- package/dist/toggle-B3j94Xvr.cjs.map +1 -0
- package/dist/toggle-BBOteSWq.d.mts +32 -0
- package/dist/toggle-D6bmp328.d.cts +32 -0
- package/dist/toggle-group-5CEKhPgb.d.mts +39 -0
- package/dist/toggle-group-BOubLcnF.d.cts +39 -0
- package/dist/toggle-group-CAIFsPEQ.cjs +2 -0
- package/dist/toggle-group-CAIFsPEQ.cjs.map +1 -0
- package/dist/toggle-group-DfzLXhuE.mjs +2 -0
- package/dist/toggle-group-DfzLXhuE.mjs.map +1 -0
- package/dist/toggle-jTYfZSWB.mjs +2 -0
- package/dist/toggle-jTYfZSWB.mjs.map +1 -0
- package/dist/tooltip-BBEcyuAE.mjs +2 -0
- package/dist/tooltip-BBEcyuAE.mjs.map +1 -0
- package/dist/tooltip-BFQy2Oca.d.mts +55 -0
- package/dist/tooltip-DBjqfkRe.d.cts +55 -0
- package/dist/tooltip-KEOJcYl8.cjs +2 -0
- package/dist/tooltip-KEOJcYl8.cjs.map +1 -0
- package/dist/trash-BxlUz9AR.cjs +2 -0
- package/dist/trash-BxlUz9AR.cjs.map +1 -0
- package/dist/trash-CV_nXOkW.d.mts +17 -0
- package/dist/trash-CZHL7ZuK.d.cts +17 -0
- package/dist/trash-UPoDDna-.mjs +2 -0
- package/dist/trash-UPoDDna-.mjs.map +1 -0
- package/dist/types-B-SuhI6Z.d.cts +24 -0
- package/dist/types-BAAJEExQ.cjs +2 -0
- package/dist/types-BAAJEExQ.cjs.map +1 -0
- package/dist/types-DodCf0NQ.mjs +2 -0
- package/dist/types-DodCf0NQ.mjs.map +1 -0
- package/dist/types-UB3NE0JY.d.mts +24 -0
- package/dist/typography/paragraph.d.cts +2 -48
- package/dist/typography/paragraph.d.mts +2 -0
- package/dist/typography/paragraph.mjs +1 -0
- package/dist/typography/title.cjs +1 -2
- package/dist/typography/title.d.cts +2 -43
- package/dist/typography/title.d.mts +2 -0
- package/dist/typography/title.mjs +1 -0
- package/dist/ui/alert-dialog.cjs +1 -2
- package/dist/ui/alert-dialog.d.cts +2 -90
- package/dist/ui/alert-dialog.d.mts +2 -0
- package/dist/ui/alert-dialog.mjs +1 -0
- package/dist/ui/alert.cjs +1 -1
- package/dist/ui/alert.d.cts +1 -1
- package/dist/ui/alert.d.mts +2 -0
- package/dist/ui/alert.mjs +1 -0
- package/dist/ui/aspect-ratio.cjs +1 -2
- package/dist/ui/aspect-ratio.d.cts +2 -24
- package/dist/ui/aspect-ratio.d.mts +2 -0
- package/dist/ui/aspect-ratio.mjs +1 -0
- package/dist/ui/avatar.cjs +1 -1
- package/dist/ui/avatar.d.cts +2 -35
- package/dist/ui/avatar.d.mts +2 -0
- package/dist/ui/avatar.mjs +1 -0
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +1 -1
- package/dist/ui/badge.d.mts +2 -0
- package/dist/ui/badge.mjs +1 -0
- package/dist/ui/breadcrumb.cjs +1 -2
- package/dist/ui/breadcrumb.d.cts +2 -72
- package/dist/ui/breadcrumb.d.mts +2 -0
- package/dist/ui/breadcrumb.mjs +1 -0
- package/dist/ui/button-group.cjs +1 -2
- package/dist/ui/button-group.d.cts +2 -50
- package/dist/ui/button-group.d.mts +3 -0
- package/dist/ui/button-group.mjs +1 -0
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +2 -0
- package/dist/ui/button.mjs +1 -0
- package/dist/ui/buttons/add-new.cjs +1 -2
- package/dist/ui/buttons/add-new.d.cts +2 -17
- package/dist/ui/buttons/add-new.d.mts +2 -0
- package/dist/ui/buttons/add-new.mjs +1 -0
- package/dist/ui/buttons/edit.cjs +1 -2
- package/dist/ui/buttons/edit.d.cts +2 -17
- package/dist/ui/buttons/edit.d.mts +2 -0
- package/dist/ui/buttons/edit.mjs +1 -0
- package/dist/ui/buttons/refresh.cjs +1 -2
- package/dist/ui/buttons/refresh.d.cts +2 -17
- package/dist/ui/buttons/refresh.d.mts +2 -0
- package/dist/ui/buttons/refresh.mjs +1 -0
- package/dist/ui/buttons/trash.cjs +1 -2
- package/dist/ui/buttons/trash.d.cts +2 -17
- package/dist/ui/buttons/trash.d.mts +2 -0
- package/dist/ui/buttons/trash.mjs +1 -0
- package/dist/ui/buttons/upload-image.cjs +1 -2
- package/dist/ui/buttons/upload-image.d.cts +2 -24
- package/dist/ui/buttons/upload-image.d.mts +2 -0
- package/dist/ui/buttons/upload-image.mjs +1 -0
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +2 -45
- package/dist/ui/calendar.d.mts +3 -0
- package/dist/ui/calendar.mjs +1 -0
- package/dist/ui/card.cjs +1 -2
- package/dist/ui/card.d.cts +2 -63
- package/dist/ui/card.d.mts +2 -0
- package/dist/ui/card.mjs +1 -0
- package/dist/ui/carousel.cjs +1 -2
- package/dist/ui/carousel.d.cts +2 -71
- package/dist/ui/carousel.d.mts +3 -0
- package/dist/ui/carousel.mjs +1 -0
- package/dist/ui/checkbox.cjs +1 -1
- package/dist/ui/checkbox.d.cts +2 -26
- package/dist/ui/checkbox.d.mts +2 -0
- package/dist/ui/checkbox.mjs +1 -0
- package/dist/ui/collapsible.cjs +1 -2
- package/dist/ui/collapsible.d.cts +2 -34
- package/dist/ui/collapsible.d.mts +2 -0
- package/dist/ui/collapsible.mjs +1 -0
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.d.cts +2 -89
- package/dist/ui/command.d.mts +3 -0
- package/dist/ui/command.mjs +1 -0
- package/dist/ui/context-menu.cjs +1 -2
- package/dist/ui/context-menu.d.cts +2 -125
- package/dist/ui/context-menu.d.mts +2 -0
- package/dist/ui/context-menu.mjs +1 -0
- package/dist/ui/dialog.cjs +1 -1
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +2 -0
- package/dist/ui/dialog.mjs +1 -0
- package/dist/ui/drawer.cjs +1 -1
- package/dist/ui/drawer.d.cts +2 -72
- package/dist/ui/drawer.d.mts +2 -0
- package/dist/ui/drawer.mjs +1 -0
- package/dist/ui/dropdown-menu.cjs +1 -1
- package/dist/ui/dropdown-menu.d.cts +2 -127
- package/dist/ui/dropdown-menu.d.mts +2 -0
- package/dist/ui/dropdown-menu.mjs +1 -0
- package/dist/ui/empty.cjs +1 -2
- package/dist/ui/empty.d.cts +2 -68
- package/dist/ui/empty.d.mts +2 -0
- package/dist/ui/empty.mjs +1 -0
- package/dist/ui/field.cjs +1 -1
- package/dist/ui/field.d.cts +24 -24
- package/dist/ui/field.d.mts +65 -0
- package/dist/ui/field.mjs +1 -0
- package/dist/ui/file-uploader.cjs +1 -3
- package/dist/ui/file-uploader.d.cts +2 -103
- package/dist/ui/file-uploader.d.mts +2 -0
- package/dist/ui/file-uploader.mjs +1 -0
- package/dist/ui/form.cjs +1 -2
- package/dist/ui/form.d.cts +2 -112
- package/dist/ui/form.d.mts +2 -0
- package/dist/ui/form.mjs +1 -0
- package/dist/ui/hover-card.cjs +1 -2
- package/dist/ui/hover-card.d.cts +2 -37
- package/dist/ui/hover-card.d.mts +2 -0
- package/dist/ui/hover-card.mjs +1 -0
- package/dist/ui/image.cjs +1 -1
- package/dist/ui/image.d.cts +2 -36
- package/dist/ui/image.d.mts +2 -0
- package/dist/ui/image.mjs +1 -0
- package/dist/ui/input-otp.cjs +1 -2
- package/dist/ui/input-otp.d.cts +2 -59
- package/dist/ui/input-otp.d.mts +2 -0
- package/dist/ui/input-otp.mjs +1 -0
- package/dist/ui/input.cjs +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +2 -0
- package/dist/ui/input.mjs +1 -0
- package/dist/ui/inputs/search-input.cjs +1 -2
- package/dist/ui/inputs/search-input.d.cts +2 -29
- package/dist/ui/inputs/search-input.d.mts +3 -0
- package/dist/ui/inputs/search-input.mjs +1 -0
- package/dist/ui/item.cjs +1 -2
- package/dist/ui/item.d.cts +2 -102
- package/dist/ui/item.d.mts +3 -0
- package/dist/ui/item.mjs +1 -0
- package/dist/ui/label.cjs +1 -1
- package/dist/ui/label.d.cts +2 -24
- package/dist/ui/label.d.mts +2 -0
- package/dist/ui/label.mjs +1 -0
- package/dist/ui/menubar.cjs +1 -2
- package/dist/ui/menubar.d.cts +2 -135
- package/dist/ui/menubar.d.mts +2 -0
- package/dist/ui/menubar.mjs +1 -0
- package/dist/ui/multi-select.cjs +1 -2
- package/dist/ui/multi-select.d.cts +2 -117
- package/dist/ui/multi-select.d.mts +4 -0
- package/dist/ui/multi-select.mjs +1 -0
- package/dist/ui/navigation-menu.cjs +1 -2
- package/dist/ui/navigation-menu.d.cts +2 -77
- package/dist/ui/navigation-menu.d.mts +2 -0
- package/dist/ui/navigation-menu.mjs +1 -0
- package/dist/ui/pagination.cjs +1 -2
- package/dist/ui/pagination.d.cts +2 -67
- package/dist/ui/pagination.d.mts +3 -0
- package/dist/ui/pagination.mjs +1 -0
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +2 -52
- package/dist/ui/popover.d.mts +2 -0
- package/dist/ui/popover.mjs +1 -0
- package/dist/ui/progress.cjs +1 -1
- package/dist/ui/progress.d.cts +2 -23
- package/dist/ui/progress.d.mts +2 -0
- package/dist/ui/progress.mjs +1 -0
- package/dist/ui/radio-group.cjs +1 -1
- package/dist/ui/radio-group.d.cts +2 -37
- package/dist/ui/radio-group.d.mts +2 -0
- package/dist/ui/radio-group.mjs +1 -0
- package/dist/ui/resizable.cjs +1 -1
- package/dist/ui/resizable.d.cts +2 -63
- package/dist/ui/resizable.d.mts +2 -0
- package/dist/ui/resizable.mjs +1 -0
- package/dist/ui/scroll-area.cjs +1 -2
- package/dist/ui/scroll-area.d.cts +2 -37
- package/dist/ui/scroll-area.d.mts +2 -0
- package/dist/ui/scroll-area.mjs +1 -0
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +2 -77
- package/dist/ui/select.d.mts +2 -0
- package/dist/ui/select.mjs +1 -0
- package/dist/ui/separator.cjs +1 -1
- package/dist/ui/separator.d.cts +2 -34
- package/dist/ui/separator.d.mts +2 -0
- package/dist/ui/separator.mjs +1 -0
- package/dist/ui/sheet.cjs +1 -1
- package/dist/ui/sheet.d.cts +2 -69
- package/dist/ui/sheet.d.mts +2 -0
- package/dist/ui/sheet.mjs +1 -0
- package/dist/ui/skeleton.cjs +1 -1
- package/dist/ui/skeleton.d.cts +2 -27
- package/dist/ui/skeleton.d.mts +2 -0
- package/dist/ui/skeleton.mjs +1 -0
- package/dist/ui/slider.cjs +1 -2
- package/dist/ui/slider.d.cts +2 -26
- package/dist/ui/slider.d.mts +2 -0
- package/dist/ui/slider.mjs +1 -0
- package/dist/ui/sonner.cjs +1 -2
- package/dist/ui/sonner.d.cts +2 -24
- package/dist/ui/sonner.d.mts +2 -0
- package/dist/ui/sonner.mjs +1 -0
- package/dist/ui/spinner.cjs +1 -1
- package/dist/ui/spinner.d.cts +2 -25
- package/dist/ui/spinner.d.mts +2 -0
- package/dist/ui/spinner.mjs +1 -0
- package/dist/ui/switch.cjs +1 -1
- package/dist/ui/switch.d.cts +2 -26
- package/dist/ui/switch.d.mts +2 -0
- package/dist/ui/switch.mjs +1 -0
- package/dist/ui/table.cjs +1 -2
- package/dist/ui/table.d.cts +2 -73
- package/dist/ui/table.d.mts +2 -0
- package/dist/ui/table.mjs +1 -0
- package/dist/ui/tabs.cjs +1 -2
- package/dist/ui/tabs.d.cts +2 -44
- package/dist/ui/tabs.d.mts +2 -0
- package/dist/ui/tabs.mjs +1 -0
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +2 -30
- package/dist/ui/textarea.d.mts +2 -0
- package/dist/ui/textarea.mjs +1 -0
- package/dist/ui/toggle-group.cjs +1 -2
- package/dist/ui/toggle-group.d.cts +2 -39
- package/dist/ui/toggle-group.d.mts +3 -0
- package/dist/ui/toggle-group.mjs +1 -0
- package/dist/ui/toggle.cjs +1 -2
- package/dist/ui/toggle.d.cts +2 -32
- package/dist/ui/toggle.d.mts +2 -0
- package/dist/ui/toggle.mjs +1 -0
- package/dist/ui/tooltip.cjs +1 -1
- package/dist/ui/tooltip.d.cts +2 -55
- package/dist/ui/tooltip.d.mts +2 -0
- package/dist/ui/tooltip.mjs +1 -0
- package/dist/upload-image-BsCkSEXu.d.mts +24 -0
- package/dist/upload-image-CBVufZda.mjs +2 -0
- package/dist/upload-image-CBVufZda.mjs.map +1 -0
- package/dist/upload-image-CPWA9XOk.cjs +2 -0
- package/dist/upload-image-CPWA9XOk.cjs.map +1 -0
- package/dist/upload-image-CV3Xlq2w.d.cts +24 -0
- package/dist/user-B2Pml0ly.cjs +2 -0
- package/dist/user-B2Pml0ly.cjs.map +1 -0
- package/dist/user-B5efjaOf.d.cts +23 -0
- package/dist/user-Cl4BdxFy.d.mts +23 -0
- package/dist/user-DpBhqdvd.mjs +2 -0
- package/dist/user-DpBhqdvd.mjs.map +1 -0
- package/package.json +98 -98
- package/dist/alert-B2PaDJp6.cjs +0 -2
- package/dist/alert-B2PaDJp6.cjs.map +0 -1
- package/dist/alert-BzBDfGk2.js +0 -2
- package/dist/alert-BzBDfGk2.js.map +0 -1
- package/dist/alert-CWKKoukR.d.cts +0 -88
- package/dist/alert-DVzOoLJx.d.ts +0 -88
- package/dist/avatar-Hpj8lmux.js +0 -2
- package/dist/avatar-Hpj8lmux.js.map +0 -1
- package/dist/avatar-TyOphzGo.cjs +0 -2
- package/dist/avatar-TyOphzGo.cjs.map +0 -1
- package/dist/badge-C1qkt2tF.d.cts +0 -42
- package/dist/badge-C4uNX5js.d.ts +0 -42
- package/dist/badge-CRpRXSuO.js +0 -2
- package/dist/badge-CRpRXSuO.js.map +0 -1
- package/dist/badge-KW7xu5Ca.cjs +0 -2
- package/dist/badge-KW7xu5Ca.cjs.map +0 -1
- package/dist/button-C-YKF6eM.d.ts +0 -174
- package/dist/button-LMMbL-uH.js +0 -2
- package/dist/button-LMMbL-uH.js.map +0 -1
- package/dist/button-x1Fxuink.d.cts +0 -174
- package/dist/button.variants-CoSpd71B.js +0 -2
- package/dist/button.variants-CoSpd71B.js.map +0 -1
- package/dist/calendar-4weBDnXz.cjs +0 -2
- package/dist/calendar-4weBDnXz.cjs.map +0 -1
- package/dist/calendar-DzPt7b6k.js +0 -2
- package/dist/calendar-DzPt7b6k.js.map +0 -1
- package/dist/cards/grid-product-card.cjs.map +0 -1
- package/dist/cards/grid-product-card.d.ts +0 -37
- package/dist/cards/grid-product-card.js +0 -2
- package/dist/cards/grid-product-card.js.map +0 -1
- package/dist/cards/product-card.cjs.map +0 -1
- package/dist/cards/product-card.d.ts +0 -37
- package/dist/cards/product-card.js +0 -2
- package/dist/cards/product-card.js.map +0 -1
- package/dist/cards/simple-card.cjs.map +0 -1
- package/dist/cards/simple-card.d.ts +0 -35
- package/dist/cards/simple-card.js +0 -2
- package/dist/cards/simple-card.js.map +0 -1
- package/dist/checkbox-DLGDoU-1.js +0 -2
- package/dist/checkbox-DLGDoU-1.js.map +0 -1
- package/dist/checkbox-Dsq-MSbH.cjs +0 -2
- package/dist/checkbox-Dsq-MSbH.cjs.map +0 -1
- package/dist/close-C0PdZGxr.js +0 -2
- package/dist/close-C0PdZGxr.js.map +0 -1
- package/dist/close-Dlo1bI8x.cjs +0 -2
- package/dist/close-Dlo1bI8x.cjs.map +0 -1
- package/dist/cms-layout-BCH4NroR.cjs +0 -2
- package/dist/cms-layout-BCH4NroR.cjs.map +0 -1
- package/dist/cms-layout-tPwrgJZc.js +0 -2
- package/dist/cms-layout-tPwrgJZc.js.map +0 -1
- package/dist/command-2gUejA6g.js +0 -2
- package/dist/command-2gUejA6g.js.map +0 -1
- package/dist/command-CsP8a1Un.cjs +0 -2
- package/dist/command-CsP8a1Un.cjs.map +0 -1
- package/dist/data-display/country.cjs.map +0 -1
- package/dist/data-display/country.d.ts +0 -22
- package/dist/data-display/country.js +0 -2
- package/dist/data-display/country.js.map +0 -1
- package/dist/data-display/data-list.cjs.map +0 -1
- package/dist/data-display/data-list.d.ts +0 -43
- package/dist/data-display/data-list.js +0 -2
- package/dist/data-display/data-list.js.map +0 -1
- package/dist/data-display/date-tooltip.cjs.map +0 -1
- package/dist/data-display/date-tooltip.d.ts +0 -19
- package/dist/data-display/date-tooltip.js +0 -2
- package/dist/data-display/date-tooltip.js.map +0 -1
- package/dist/data-display/date.d.ts +0 -39
- package/dist/data-display/date.js +0 -1
- package/dist/data-display/empty.cjs.map +0 -1
- package/dist/data-display/empty.d.ts +0 -21
- package/dist/data-display/empty.js +0 -2
- package/dist/data-display/empty.js.map +0 -1
- package/dist/data-display/name.cjs.map +0 -1
- package/dist/data-display/name.d.ts +0 -19
- package/dist/data-display/name.js +0 -2
- package/dist/data-display/name.js.map +0 -1
- package/dist/data-display/phone-number.cjs.map +0 -1
- package/dist/data-display/phone-number.d.ts +0 -19
- package/dist/data-display/phone-number.js +0 -2
- package/dist/data-display/phone-number.js.map +0 -1
- package/dist/data-display/role-badge.cjs.map +0 -1
- package/dist/data-display/role-badge.d.ts +0 -22
- package/dist/data-display/role-badge.js +0 -2
- package/dist/data-display/role-badge.js.map +0 -1
- package/dist/data-display/statistic.d.ts +0 -57
- package/dist/data-display/statistic.js +0 -1
- package/dist/data-display/user.d.ts +0 -23
- package/dist/data-display/user.js +0 -1
- package/dist/date-BIqCFM1Z.js +0 -2
- package/dist/date-BIqCFM1Z.js.map +0 -1
- package/dist/date-D4NVl6C9.cjs +0 -2
- package/dist/date-D4NVl6C9.cjs.map +0 -1
- package/dist/dialog-BIJXF62m.d.ts +0 -90
- package/dist/dialog-BigPrWIj.cjs +0 -2
- package/dist/dialog-BigPrWIj.cjs.map +0 -1
- package/dist/dialog-CmutQ3rp.js +0 -2
- package/dist/dialog-CmutQ3rp.js.map +0 -1
- package/dist/dialog-D0zfwr8i.d.cts +0 -90
- package/dist/dialogs/confirm-dialog.cjs.map +0 -1
- package/dist/dialogs/confirm-dialog.d.ts +0 -142
- package/dist/dialogs/confirm-dialog.js +0 -2
- package/dist/dialogs/confirm-dialog.js.map +0 -1
- package/dist/dialogs/detail-dialog/components/sidebar.d.ts +0 -209
- package/dist/dialogs/detail-dialog/components/sidebar.js +0 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +0 -1
- package/dist/dialogs/detail-dialog/index.d.ts +0 -45
- package/dist/dialogs/detail-dialog/index.js +0 -2
- package/dist/dialogs/detail-dialog/index.js.map +0 -1
- package/dist/dialogs/error-dialog.cjs.map +0 -1
- package/dist/dialogs/error-dialog.d.ts +0 -25
- package/dist/dialogs/error-dialog.js +0 -2
- package/dist/dialogs/error-dialog.js.map +0 -1
- package/dist/dialogs/loading-dialog.cjs.map +0 -1
- package/dist/dialogs/loading-dialog.d.ts +0 -21
- package/dist/dialogs/loading-dialog.js +0 -2
- package/dist/dialogs/loading-dialog.js.map +0 -1
- package/dist/dist-EPxjIRJp.js +0 -2
- package/dist/dist-EPxjIRJp.js.map +0 -1
- package/dist/drawer-B3qXaN5p.js +0 -2
- package/dist/drawer-B3qXaN5p.js.map +0 -1
- package/dist/drawer-BB8BZzDG.cjs +0 -2
- package/dist/drawer-BB8BZzDG.cjs.map +0 -1
- package/dist/dropdown-menu-CVh520yG.cjs +0 -2
- package/dist/dropdown-menu-CVh520yG.cjs.map +0 -1
- package/dist/dropdown-menu-DeHCVyby.js +0 -2
- package/dist/dropdown-menu-DeHCVyby.js.map +0 -1
- package/dist/features/descriptions/index.cjs.map +0 -1
- package/dist/features/descriptions/index.d.ts +0 -246
- package/dist/features/descriptions/index.js +0 -2
- package/dist/features/descriptions/index.js.map +0 -1
- package/dist/features/search-modal/index.d.ts +0 -17
- package/dist/features/search-modal/index.js +0 -1
- package/dist/features/tables/index.d.ts +0 -3
- package/dist/features/tables/index.js +0 -1
- package/dist/features/tanstack-form/index.d.ts +0 -2
- package/dist/features/tanstack-form/index.js +0 -1
- package/dist/features/text-editor/index.d.ts +0 -2
- package/dist/features/text-editor/index.js +0 -1
- package/dist/field-BrlETeXX.cjs +0 -2
- package/dist/field-BrlETeXX.cjs.map +0 -1
- package/dist/field-DpoKF1nY.js +0 -2
- package/dist/field-DpoKF1nY.js.map +0 -1
- package/dist/flex-CinRrgEy.js +0 -2
- package/dist/flex-CinRrgEy.js.map +0 -1
- package/dist/flex-DmWmOBn5.cjs +0 -2
- package/dist/flex-DmWmOBn5.cjs.map +0 -1
- package/dist/heading-Bz-hSatD.js +0 -2
- package/dist/heading-Bz-hSatD.js.map +0 -1
- package/dist/image-BpTuF_1w.js +0 -2
- package/dist/image-BpTuF_1w.js.map +0 -1
- package/dist/image-W_Yb0xTB.cjs +0 -2
- package/dist/image-W_Yb0xTB.cjs.map +0 -1
- package/dist/index-B1nDSKqT.d.ts +0 -85
- package/dist/index-BlQGXGqt.d.ts +0 -90
- package/dist/index-C3pqMcqX.d.ts +0 -1093
- package/dist/index-DiMGMuVl.d.cts +0 -1707
- package/dist/index-Dz0WJS8B.d.cts +0 -1093
- package/dist/index-Ilj04YNO.d.ts +0 -1707
- package/dist/index-KO98y6L0.d.cts +0 -90
- package/dist/index-c1Vzwwln.d.cts +0 -85
- package/dist/index.d.ts +0 -93
- package/dist/index.js +0 -1
- package/dist/input-BQpX4Zkc.d.ts +0 -44
- package/dist/input-BrlqspMT.d.cts +0 -44
- package/dist/input-DAfP6LZ7.js +0 -2
- package/dist/input-DAfP6LZ7.js.map +0 -1
- package/dist/input-WJ0DLHTR.cjs +0 -2
- package/dist/input-WJ0DLHTR.cjs.map +0 -1
- package/dist/label-B8cAG2kc.js +0 -2
- package/dist/label-B8cAG2kc.js.map +0 -1
- package/dist/label-CC6fXVbC.cjs +0 -2
- package/dist/label-CC6fXVbC.cjs.map +0 -1
- package/dist/layouts/cms-layout/index.d.ts +0 -2
- package/dist/layouts/cms-layout/index.js +0 -1
- package/dist/layouts/flex.d.ts +0 -117
- package/dist/layouts/flex.js +0 -1
- package/dist/layouts/grid.cjs.map +0 -1
- package/dist/layouts/grid.d.ts +0 -19
- package/dist/layouts/grid.js +0 -2
- package/dist/layouts/grid.js.map +0 -1
- package/dist/layouts/payment-layout/index.d.ts +0 -74
- package/dist/layouts/payment-layout/index.js +0 -1
- package/dist/pages/FeatureDeveloping.cjs.map +0 -1
- package/dist/pages/FeatureDeveloping.d.ts +0 -43
- package/dist/pages/FeatureDeveloping.js +0 -2
- package/dist/pages/FeatureDeveloping.js.map +0 -1
- package/dist/pages/FeatureFixing.cjs.map +0 -1
- package/dist/pages/FeatureFixing.d.ts +0 -43
- package/dist/pages/FeatureFixing.js +0 -2
- package/dist/pages/FeatureFixing.js.map +0 -1
- package/dist/pages/LoginPage.cjs.map +0 -1
- package/dist/pages/LoginPage.d.ts +0 -55
- package/dist/pages/LoginPage.js +0 -2
- package/dist/pages/LoginPage.js.map +0 -1
- package/dist/pages/NotAuthorized.cjs.map +0 -1
- package/dist/pages/NotAuthorized.d.ts +0 -43
- package/dist/pages/NotAuthorized.js +0 -2
- package/dist/pages/NotAuthorized.js.map +0 -1
- package/dist/pages/NotFound.cjs.map +0 -1
- package/dist/pages/NotFound.d.ts +0 -43
- package/dist/pages/NotFound.js +0 -2
- package/dist/pages/NotFound.js.map +0 -1
- package/dist/pages/RegisterPage.cjs.map +0 -1
- package/dist/pages/RegisterPage.d.ts +0 -52
- package/dist/pages/RegisterPage.js +0 -2
- package/dist/pages/RegisterPage.js.map +0 -1
- package/dist/pages/VerifyEmailPage.cjs.map +0 -1
- package/dist/pages/VerifyEmailPage.d.ts +0 -64
- package/dist/pages/VerifyEmailPage.js +0 -2
- package/dist/pages/VerifyEmailPage.js.map +0 -1
- package/dist/paragraph-Cc13ZI4d.js +0 -2
- package/dist/paragraph-Cc13ZI4d.js.map +0 -1
- package/dist/payment-layout-DyILfyVG.cjs +0 -2
- package/dist/payment-layout-DyILfyVG.cjs.map +0 -1
- package/dist/payment-layout-giaGvs8T.js +0 -2
- package/dist/payment-layout-giaGvs8T.js.map +0 -1
- package/dist/popover-6233wU1s.js +0 -2
- package/dist/popover-6233wU1s.js.map +0 -1
- package/dist/popover-DBsC8Ltp.cjs +0 -2
- package/dist/popover-DBsC8Ltp.cjs.map +0 -1
- package/dist/progress-AYknlEgK.js +0 -2
- package/dist/progress-AYknlEgK.js.map +0 -1
- package/dist/progress-gvBqNiHp.cjs +0 -2
- package/dist/progress-gvBqNiHp.cjs.map +0 -1
- package/dist/radio-group-ImoBjpqZ.js +0 -2
- package/dist/radio-group-ImoBjpqZ.js.map +0 -1
- package/dist/radio-group-_TdMkv8w.cjs +0 -2
- package/dist/radio-group-_TdMkv8w.cjs.map +0 -1
- package/dist/resizable-C-M-mu6b.js +0 -2
- package/dist/resizable-C-M-mu6b.js.map +0 -1
- package/dist/resizable-sgpaHAb8.cjs +0 -2
- package/dist/resizable-sgpaHAb8.cjs.map +0 -1
- package/dist/search-modal-B-pzGcfP.cjs +0 -2
- package/dist/search-modal-B-pzGcfP.cjs.map +0 -1
- package/dist/search-modal-b2AE5WEW.js +0 -2
- package/dist/search-modal-b2AE5WEW.js.map +0 -1
- package/dist/select-CWLQHh8x.cjs +0 -2
- package/dist/select-CWLQHh8x.cjs.map +0 -1
- package/dist/select-CryLzZA0.js +0 -2
- package/dist/select-CryLzZA0.js.map +0 -1
- package/dist/separator-BM8hA4DP.js +0 -2
- package/dist/separator-BM8hA4DP.js.map +0 -1
- package/dist/separator-KuymG9g0.cjs +0 -2
- package/dist/separator-KuymG9g0.cjs.map +0 -1
- package/dist/sheet-CvKSi0UC.cjs +0 -2
- package/dist/sheet-CvKSi0UC.cjs.map +0 -1
- package/dist/sheet-DGXXYgWB.js +0 -2
- package/dist/sheet-DGXXYgWB.js.map +0 -1
- package/dist/sidebar-BDrsbzo5.js +0 -2
- package/dist/sidebar-BDrsbzo5.js.map +0 -1
- package/dist/sidebar-D5J2gcTw.cjs +0 -2
- package/dist/sidebar-D5J2gcTw.cjs.map +0 -1
- package/dist/skeleton-CX1USu1w.cjs +0 -2
- package/dist/skeleton-CX1USu1w.cjs.map +0 -1
- package/dist/skeleton-DlRDNM97.js +0 -2
- package/dist/skeleton-DlRDNM97.js.map +0 -1
- package/dist/spinner-C1eamx3w.js +0 -2
- package/dist/spinner-C1eamx3w.js.map +0 -1
- package/dist/spinner-CFxorYEt.cjs +0 -2
- package/dist/spinner-CFxorYEt.cjs.map +0 -1
- package/dist/statistic-CYMqAYNc.js +0 -2
- package/dist/statistic-CYMqAYNc.js.map +0 -1
- package/dist/statistic-DDXilD7q.cjs +0 -2
- package/dist/statistic-DDXilD7q.cjs.map +0 -1
- package/dist/switch-BLHmdRq2.js +0 -2
- package/dist/switch-BLHmdRq2.js.map +0 -1
- package/dist/switch-DVfOV7wP.cjs +0 -2
- package/dist/switch-DVfOV7wP.cjs.map +0 -1
- package/dist/systems/google.cjs.map +0 -1
- package/dist/systems/google.d.ts +0 -53
- package/dist/systems/google.js +0 -2
- package/dist/systems/google.js.map +0 -1
- package/dist/tables-CPKHe3k-.cjs +0 -4
- package/dist/tables-CPKHe3k-.cjs.map +0 -1
- package/dist/tables-DWQytYNm.js +0 -4
- package/dist/tables-DWQytYNm.js.map +0 -1
- package/dist/tanstack-form-DqBFHFeg.js +0 -12
- package/dist/tanstack-form-DqBFHFeg.js.map +0 -1
- package/dist/tanstack-form-_NZZW9aT.cjs +0 -12
- package/dist/tanstack-form-_NZZW9aT.cjs.map +0 -1
- package/dist/text-editor-CvJN3nSL.cjs +0 -2
- package/dist/text-editor-CvJN3nSL.cjs.map +0 -1
- package/dist/text-editor-WbS7pJJs.js +0 -2
- package/dist/text-editor-WbS7pJJs.js.map +0 -1
- package/dist/textarea-Bp6VvhiA.js +0 -2
- package/dist/textarea-Bp6VvhiA.js.map +0 -1
- package/dist/textarea-Cc9CF8wD.cjs +0 -2
- package/dist/textarea-Cc9CF8wD.cjs.map +0 -1
- package/dist/tooltip-CBdoIzoM.cjs +0 -2
- package/dist/tooltip-CBdoIzoM.cjs.map +0 -1
- package/dist/tooltip-CVIl6Hln.js +0 -2
- package/dist/tooltip-CVIl6Hln.js.map +0 -1
- package/dist/types-BD1t0Bj8.cjs +0 -2
- package/dist/types-BD1t0Bj8.cjs.map +0 -1
- package/dist/types-BVSfF-1o.d.ts +0 -24
- package/dist/types-BZqffRVJ.js +0 -2
- package/dist/types-BZqffRVJ.js.map +0 -1
- package/dist/types-Cc_mLRAn.d.cts +0 -24
- package/dist/typography/paragraph.d.ts +0 -48
- package/dist/typography/paragraph.js +0 -1
- package/dist/typography/title.cjs.map +0 -1
- package/dist/typography/title.d.ts +0 -43
- package/dist/typography/title.js +0 -2
- package/dist/typography/title.js.map +0 -1
- package/dist/ui/alert-dialog.cjs.map +0 -1
- package/dist/ui/alert-dialog.d.ts +0 -90
- package/dist/ui/alert-dialog.js +0 -2
- package/dist/ui/alert-dialog.js.map +0 -1
- package/dist/ui/alert.d.ts +0 -2
- package/dist/ui/alert.js +0 -1
- package/dist/ui/aspect-ratio.cjs.map +0 -1
- package/dist/ui/aspect-ratio.d.ts +0 -24
- package/dist/ui/aspect-ratio.js +0 -2
- package/dist/ui/aspect-ratio.js.map +0 -1
- package/dist/ui/avatar.d.ts +0 -35
- package/dist/ui/avatar.js +0 -1
- package/dist/ui/badge.d.ts +0 -2
- package/dist/ui/badge.js +0 -1
- package/dist/ui/breadcrumb.cjs.map +0 -1
- package/dist/ui/breadcrumb.d.ts +0 -72
- package/dist/ui/breadcrumb.js +0 -2
- package/dist/ui/breadcrumb.js.map +0 -1
- package/dist/ui/button-group.cjs.map +0 -1
- package/dist/ui/button-group.d.ts +0 -50
- package/dist/ui/button-group.js +0 -2
- package/dist/ui/button-group.js.map +0 -1
- package/dist/ui/button.d.ts +0 -2
- package/dist/ui/button.js +0 -1
- package/dist/ui/buttons/add-new.cjs.map +0 -1
- package/dist/ui/buttons/add-new.d.ts +0 -17
- package/dist/ui/buttons/add-new.js +0 -2
- package/dist/ui/buttons/add-new.js.map +0 -1
- package/dist/ui/buttons/edit.cjs.map +0 -1
- package/dist/ui/buttons/edit.d.ts +0 -17
- package/dist/ui/buttons/edit.js +0 -2
- package/dist/ui/buttons/edit.js.map +0 -1
- package/dist/ui/buttons/refresh.cjs.map +0 -1
- package/dist/ui/buttons/refresh.d.ts +0 -17
- package/dist/ui/buttons/refresh.js +0 -2
- package/dist/ui/buttons/refresh.js.map +0 -1
- package/dist/ui/buttons/trash.cjs.map +0 -1
- package/dist/ui/buttons/trash.d.ts +0 -17
- package/dist/ui/buttons/trash.js +0 -2
- package/dist/ui/buttons/trash.js.map +0 -1
- package/dist/ui/buttons/upload-image.cjs.map +0 -1
- package/dist/ui/buttons/upload-image.d.ts +0 -24
- package/dist/ui/buttons/upload-image.js +0 -2
- package/dist/ui/buttons/upload-image.js.map +0 -1
- package/dist/ui/calendar.d.ts +0 -45
- package/dist/ui/calendar.js +0 -1
- package/dist/ui/card.cjs.map +0 -1
- package/dist/ui/card.d.ts +0 -63
- package/dist/ui/card.js +0 -2
- package/dist/ui/card.js.map +0 -1
- package/dist/ui/carousel.cjs.map +0 -1
- package/dist/ui/carousel.d.ts +0 -71
- package/dist/ui/carousel.js +0 -2
- package/dist/ui/carousel.js.map +0 -1
- package/dist/ui/checkbox.d.ts +0 -26
- package/dist/ui/checkbox.js +0 -1
- package/dist/ui/collapsible.cjs.map +0 -1
- package/dist/ui/collapsible.d.ts +0 -34
- package/dist/ui/collapsible.js +0 -2
- package/dist/ui/collapsible.js.map +0 -1
- package/dist/ui/command.d.ts +0 -89
- package/dist/ui/command.js +0 -1
- package/dist/ui/context-menu.cjs.map +0 -1
- package/dist/ui/context-menu.d.ts +0 -125
- package/dist/ui/context-menu.js +0 -2
- package/dist/ui/context-menu.js.map +0 -1
- package/dist/ui/dialog.d.ts +0 -2
- package/dist/ui/dialog.js +0 -1
- package/dist/ui/drawer.d.ts +0 -72
- package/dist/ui/drawer.js +0 -1
- package/dist/ui/dropdown-menu.d.ts +0 -127
- package/dist/ui/dropdown-menu.js +0 -1
- package/dist/ui/empty.cjs.map +0 -1
- package/dist/ui/empty.d.ts +0 -68
- package/dist/ui/empty.js +0 -2
- package/dist/ui/empty.js.map +0 -1
- package/dist/ui/field.d.ts +0 -65
- package/dist/ui/field.js +0 -1
- package/dist/ui/file-uploader.cjs.map +0 -1
- package/dist/ui/file-uploader.d.ts +0 -103
- package/dist/ui/file-uploader.js +0 -3
- package/dist/ui/file-uploader.js.map +0 -1
- package/dist/ui/form.cjs.map +0 -1
- package/dist/ui/form.d.ts +0 -112
- package/dist/ui/form.js +0 -2
- package/dist/ui/form.js.map +0 -1
- package/dist/ui/hover-card.cjs.map +0 -1
- package/dist/ui/hover-card.d.ts +0 -37
- package/dist/ui/hover-card.js +0 -2
- package/dist/ui/hover-card.js.map +0 -1
- package/dist/ui/image.d.ts +0 -36
- package/dist/ui/image.js +0 -1
- package/dist/ui/input-otp.cjs.map +0 -1
- package/dist/ui/input-otp.d.ts +0 -59
- package/dist/ui/input-otp.js +0 -2
- package/dist/ui/input-otp.js.map +0 -1
- package/dist/ui/input.d.ts +0 -2
- package/dist/ui/input.js +0 -1
- package/dist/ui/inputs/search-input.cjs.map +0 -1
- package/dist/ui/inputs/search-input.d.ts +0 -29
- package/dist/ui/inputs/search-input.js +0 -2
- package/dist/ui/inputs/search-input.js.map +0 -1
- package/dist/ui/item.cjs.map +0 -1
- package/dist/ui/item.d.ts +0 -102
- package/dist/ui/item.js +0 -2
- package/dist/ui/item.js.map +0 -1
- package/dist/ui/label.d.ts +0 -24
- package/dist/ui/label.js +0 -1
- package/dist/ui/menubar.cjs.map +0 -1
- package/dist/ui/menubar.d.ts +0 -135
- package/dist/ui/menubar.js +0 -2
- package/dist/ui/menubar.js.map +0 -1
- package/dist/ui/multi-select.cjs.map +0 -1
- package/dist/ui/multi-select.d.ts +0 -118
- package/dist/ui/multi-select.js +0 -2
- package/dist/ui/multi-select.js.map +0 -1
- package/dist/ui/navigation-menu.cjs.map +0 -1
- package/dist/ui/navigation-menu.d.ts +0 -77
- package/dist/ui/navigation-menu.js +0 -2
- package/dist/ui/navigation-menu.js.map +0 -1
- package/dist/ui/pagination.cjs.map +0 -1
- package/dist/ui/pagination.d.ts +0 -67
- package/dist/ui/pagination.js +0 -2
- package/dist/ui/pagination.js.map +0 -1
- package/dist/ui/popover.d.ts +0 -52
- package/dist/ui/popover.js +0 -1
- package/dist/ui/progress.d.ts +0 -23
- package/dist/ui/progress.js +0 -1
- package/dist/ui/radio-group.d.ts +0 -37
- package/dist/ui/radio-group.js +0 -1
- package/dist/ui/resizable.d.ts +0 -63
- package/dist/ui/resizable.js +0 -1
- package/dist/ui/scroll-area.cjs.map +0 -1
- package/dist/ui/scroll-area.d.ts +0 -37
- package/dist/ui/scroll-area.js +0 -2
- package/dist/ui/scroll-area.js.map +0 -1
- package/dist/ui/select.d.ts +0 -77
- package/dist/ui/select.js +0 -1
- package/dist/ui/separator.d.ts +0 -34
- package/dist/ui/separator.js +0 -1
- package/dist/ui/sheet.d.ts +0 -69
- package/dist/ui/sheet.js +0 -1
- package/dist/ui/skeleton.d.ts +0 -27
- package/dist/ui/skeleton.js +0 -1
- package/dist/ui/slider.cjs.map +0 -1
- package/dist/ui/slider.d.ts +0 -26
- package/dist/ui/slider.js +0 -2
- package/dist/ui/slider.js.map +0 -1
- package/dist/ui/sonner.cjs.map +0 -1
- package/dist/ui/sonner.d.ts +0 -24
- package/dist/ui/sonner.js +0 -2
- package/dist/ui/sonner.js.map +0 -1
- package/dist/ui/spinner.d.ts +0 -25
- package/dist/ui/spinner.js +0 -1
- package/dist/ui/switch.d.ts +0 -26
- package/dist/ui/switch.js +0 -1
- package/dist/ui/table.cjs.map +0 -1
- package/dist/ui/table.d.ts +0 -73
- package/dist/ui/table.js +0 -2
- package/dist/ui/table.js.map +0 -1
- package/dist/ui/tabs.cjs.map +0 -1
- package/dist/ui/tabs.d.ts +0 -44
- package/dist/ui/tabs.js +0 -2
- package/dist/ui/tabs.js.map +0 -1
- package/dist/ui/textarea.d.ts +0 -30
- package/dist/ui/textarea.js +0 -1
- package/dist/ui/toggle-group.cjs.map +0 -1
- package/dist/ui/toggle-group.d.ts +0 -39
- package/dist/ui/toggle-group.js +0 -2
- package/dist/ui/toggle-group.js.map +0 -1
- package/dist/ui/toggle.cjs.map +0 -1
- package/dist/ui/toggle.d.ts +0 -32
- package/dist/ui/toggle.js +0 -2
- package/dist/ui/toggle.js.map +0 -1
- package/dist/ui/tooltip.d.ts +0 -55
- package/dist/ui/tooltip.js +0 -1
- package/dist/user-BSpgswEC.js +0 -2
- package/dist/user-BSpgswEC.js.map +0 -1
- package/dist/user-ii4FBhO1.cjs +0 -2
- package/dist/user-ii4FBhO1.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu.js","names":["ContextMenuPrimitive"],"sources":["../../packages/components/ui/context-menu.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { ContextMenu as ContextMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the ContextMenu — revealed on right-click (or long-press) of the trigger area.\n *\n * @example\n * ```tsx\n * import {\n * ContextMenu, ContextMenuTrigger, ContextMenuContent,\n * ContextMenuItem, ContextMenuLabel, ContextMenuSeparator,\n * } from '@customafk/lunas-ui/ui/context-menu';\n *\n * <ContextMenu>\n * <ContextMenuTrigger>Right-click me</ContextMenuTrigger>\n * <ContextMenuContent>\n * <ContextMenuLabel>Actions</ContextMenuLabel>\n * <ContextMenuSeparator />\n * <ContextMenuItem>Copy</ContextMenuItem>\n * <ContextMenuItem variant=\"destructive\">Delete</ContextMenuItem>\n * </ContextMenuContent>\n * </ContextMenu>\n * ```\n */\nfunction ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\n/** The area that listens for right-click to open the ContextMenu. */\nfunction ContextMenuTrigger({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />;\n}\n\n/** Groups related ContextMenuItems under a shared logical section. */\nfunction ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />;\n}\n\n/** Portals ContextMenu content outside the current DOM hierarchy. */\nfunction ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a ContextMenu. */\nfunction ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\n/** Groups ContextMenuRadioItems so only one can be selected at a time. */\nfunction ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return <ContextMenuPrimitive.RadioGroup data-slot=\"context-menu-radio-group\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested ContextMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested ContextMenu sub-menu. */\nfunction ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Animated floating panel that contains the context menu items. */\nfunction ContextMenuContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\n/**\n * A single clickable row inside a ContextMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction ContextMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable context menu item that displays a checkmark when selected. */\nfunction ContextMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\n/** A radio-button context menu item; shows a filled circle when selected. */\nfunction ContextMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n 'relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none',\n 'focus:bg-accent',\n 'focus:text-accent-foreground',\n 'data-[disabled]:pointer-events-none',\n 'data-[disabled]:opacity-50',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of context menu items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn('text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of context menu items. */\nfunction ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return <ContextMenuPrimitive.Separator data-slot=\"context-menu-separator\" className={cn('bg-border -mx-1 my-1 h-px', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a context menu item. */\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"context-menu-shortcut\" className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)} {...props} />;\n}\n\nexport {\n ContextMenu,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n};\n"],"mappings":"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"}
|
package/dist/ui/dialog.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { a as DialogFooter, c as DialogPortal, i as DialogDescription, l as DialogTitle, n as DialogClose, o as DialogHeader, r as DialogContent, s as DialogOverlay, t as Dialog, u as DialogTrigger } from "../dialog-BIJXF62m.js";
|
|
2
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
package/dist/ui/dialog.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import"../heading-Bz-hSatD.js";import"../paragraph-Cc13ZI4d.js";import"../close-C0PdZGxr.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../dialog-CmutQ3rp.js";export{c as Dialog,i as DialogClose,o as DialogContent,n as DialogDescription,e as DialogFooter,a as DialogHeader,s as DialogOverlay,t as DialogPortal,r as DialogTitle,l as DialogTrigger};
|
package/dist/ui/drawer.d.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import * as react52 from "react";
|
|
2
|
-
import { Drawer as Drawer$1 } from "vaul";
|
|
3
|
-
|
|
4
|
-
//#region packages/components/ui/drawer.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Root provider for the Drawer — a vaul-powered slide-in panel supporting top, bottom, left, and right directions.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { Drawer, DrawerTrigger, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription } from '@customafk/lunas-ui/ui/drawer';
|
|
12
|
-
*
|
|
13
|
-
* <Drawer>
|
|
14
|
-
* <DrawerTrigger>Open Drawer</DrawerTrigger>
|
|
15
|
-
* <DrawerContent>
|
|
16
|
-
* <DrawerHeader>
|
|
17
|
-
* <DrawerTitle>Confirm action</DrawerTitle>
|
|
18
|
-
* <DrawerDescription>This action cannot be undone.</DrawerDescription>
|
|
19
|
-
* </DrawerHeader>
|
|
20
|
-
* </DrawerContent>
|
|
21
|
-
* </Drawer>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
declare function Drawer({
|
|
25
|
-
...props
|
|
26
|
-
}: React.ComponentProps<typeof Drawer$1.Root>): react52.JSX.Element;
|
|
27
|
-
/** Element that opens the Drawer when activated. */
|
|
28
|
-
declare function DrawerTrigger({
|
|
29
|
-
...props
|
|
30
|
-
}: React.ComponentProps<typeof Drawer$1.Trigger>): react52.JSX.Element;
|
|
31
|
-
/** Portals Drawer content outside the current DOM tree. */
|
|
32
|
-
declare function DrawerPortal({
|
|
33
|
-
...props
|
|
34
|
-
}: React.ComponentProps<typeof Drawer$1.Portal>): react52.JSX.Element;
|
|
35
|
-
/** Button that programmatically closes the Drawer. */
|
|
36
|
-
declare function DrawerClose({
|
|
37
|
-
...props
|
|
38
|
-
}: React.ComponentProps<typeof Drawer$1.Close>): react52.JSX.Element;
|
|
39
|
-
/** Dimmed backdrop rendered behind the Drawer panel. */
|
|
40
|
-
declare function DrawerOverlay({
|
|
41
|
-
className,
|
|
42
|
-
...props
|
|
43
|
-
}: React.ComponentProps<typeof Drawer$1.Overlay>): react52.JSX.Element;
|
|
44
|
-
/** The main Drawer panel; automatically positions itself based on the direction set on the root. */
|
|
45
|
-
declare function DrawerContent({
|
|
46
|
-
className,
|
|
47
|
-
children,
|
|
48
|
-
...props
|
|
49
|
-
}: React.ComponentProps<typeof Drawer$1.Content>): react52.JSX.Element;
|
|
50
|
-
/** Padded header section at the top of the Drawer for the title and description. */
|
|
51
|
-
declare function DrawerHeader({
|
|
52
|
-
className,
|
|
53
|
-
...props
|
|
54
|
-
}: React.ComponentProps<'div'>): react52.JSX.Element;
|
|
55
|
-
/** Footer section pinned to the bottom of the Drawer, typically used for action buttons. */
|
|
56
|
-
declare function DrawerFooter({
|
|
57
|
-
className,
|
|
58
|
-
...props
|
|
59
|
-
}: React.ComponentProps<'div'>): react52.JSX.Element;
|
|
60
|
-
/** Accessible title element for the Drawer, announced by screen readers on open. */
|
|
61
|
-
declare function DrawerTitle({
|
|
62
|
-
className,
|
|
63
|
-
...props
|
|
64
|
-
}: React.ComponentProps<typeof Drawer$1.Title>): react52.JSX.Element;
|
|
65
|
-
/** Accessible description element for the Drawer, providing supplemental context to the title. */
|
|
66
|
-
declare function DrawerDescription({
|
|
67
|
-
className,
|
|
68
|
-
...props
|
|
69
|
-
}: React.ComponentProps<typeof Drawer$1.Description>): react52.JSX.Element;
|
|
70
|
-
//#endregion
|
|
71
|
-
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
72
|
-
//# sourceMappingURL=drawer.d.ts.map
|
package/dist/ui/drawer.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../drawer-B3qXaN5p.js";export{c as Drawer,i as DrawerClose,o as DrawerContent,n as DrawerDescription,e as DrawerFooter,a as DrawerHeader,s as DrawerOverlay,t as DrawerPortal,r as DrawerTitle,l as DrawerTrigger};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import * as react221 from "react";
|
|
2
|
-
import { DropdownMenu as DropdownMenu$1 } from "radix-ui";
|
|
3
|
-
|
|
4
|
-
//#region packages/components/ui/dropdown-menu.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Root provider for the DropdownMenu — wraps all sub-components and controls open state.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import {
|
|
12
|
-
* DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,
|
|
13
|
-
* DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,
|
|
14
|
-
* } from '@customafk/lunas-ui/ui/dropdown-menu';
|
|
15
|
-
*
|
|
16
|
-
* <DropdownMenu>
|
|
17
|
-
* <DropdownMenuTrigger>Options</DropdownMenuTrigger>
|
|
18
|
-
* <DropdownMenuContent>
|
|
19
|
-
* <DropdownMenuLabel>My Account</DropdownMenuLabel>
|
|
20
|
-
* <DropdownMenuSeparator />
|
|
21
|
-
* <DropdownMenuItem>Profile</DropdownMenuItem>
|
|
22
|
-
* <DropdownMenuItem variant="destructive">Delete</DropdownMenuItem>
|
|
23
|
-
* </DropdownMenuContent>
|
|
24
|
-
* </DropdownMenu>
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
declare function DropdownMenu({
|
|
28
|
-
...props
|
|
29
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Root>): react221.JSX.Element;
|
|
30
|
-
/** Portals DropdownMenu content outside the current DOM hierarchy. */
|
|
31
|
-
declare function DropdownMenuPortal({
|
|
32
|
-
...props
|
|
33
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Portal>): react221.JSX.Element;
|
|
34
|
-
/** Element that opens the DropdownMenu when activated. */
|
|
35
|
-
declare function DropdownMenuTrigger({
|
|
36
|
-
...props
|
|
37
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Trigger>): react221.JSX.Element;
|
|
38
|
-
/** Animated floating panel that contains the dropdown items. */
|
|
39
|
-
declare function DropdownMenuContent({
|
|
40
|
-
className,
|
|
41
|
-
sideOffset,
|
|
42
|
-
align,
|
|
43
|
-
...props
|
|
44
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Content>): react221.JSX.Element;
|
|
45
|
-
/** Groups related DropdownMenuItems under a shared logical section. */
|
|
46
|
-
declare function DropdownMenuGroup({
|
|
47
|
-
...props
|
|
48
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Group>): react221.JSX.Element;
|
|
49
|
-
/**
|
|
50
|
-
* A single clickable row inside a DropdownMenuContent.
|
|
51
|
-
*
|
|
52
|
-
* @param inset - When true, adds left padding to align with items that have icons.
|
|
53
|
-
* @param variant - Visual style: `'default'` or `'destructive'`.
|
|
54
|
-
*/
|
|
55
|
-
declare function DropdownMenuItem({
|
|
56
|
-
className,
|
|
57
|
-
inset,
|
|
58
|
-
variant,
|
|
59
|
-
...props
|
|
60
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Item> & {
|
|
61
|
-
inset?: boolean;
|
|
62
|
-
variant?: 'default' | 'destructive';
|
|
63
|
-
}): react221.JSX.Element;
|
|
64
|
-
/** A checkable menu item that displays a checkmark when selected. */
|
|
65
|
-
declare function DropdownMenuCheckboxItem({
|
|
66
|
-
className,
|
|
67
|
-
children,
|
|
68
|
-
checked,
|
|
69
|
-
...props
|
|
70
|
-
}: React.ComponentProps<typeof DropdownMenu$1.CheckboxItem>): react221.JSX.Element;
|
|
71
|
-
/** Groups DropdownMenuRadioItems so only one can be selected at a time. */
|
|
72
|
-
declare function DropdownMenuRadioGroup({
|
|
73
|
-
...props
|
|
74
|
-
}: React.ComponentProps<typeof DropdownMenu$1.RadioGroup>): react221.JSX.Element;
|
|
75
|
-
/** A radio-button menu item; shows a filled circle when selected. */
|
|
76
|
-
declare function DropdownMenuRadioItem({
|
|
77
|
-
className,
|
|
78
|
-
children,
|
|
79
|
-
...props
|
|
80
|
-
}: React.ComponentProps<typeof DropdownMenu$1.RadioItem>): react221.JSX.Element;
|
|
81
|
-
/**
|
|
82
|
-
* Non-interactive label used to describe a group of items.
|
|
83
|
-
*
|
|
84
|
-
* @param inset - When true, adds left padding to align with inset items.
|
|
85
|
-
*/
|
|
86
|
-
declare function DropdownMenuLabel({
|
|
87
|
-
className,
|
|
88
|
-
inset,
|
|
89
|
-
...props
|
|
90
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Label> & {
|
|
91
|
-
inset?: boolean;
|
|
92
|
-
}): react221.JSX.Element;
|
|
93
|
-
/** Horizontal dividing line between groups of dropdown items. */
|
|
94
|
-
declare function DropdownMenuSeparator({
|
|
95
|
-
className,
|
|
96
|
-
...props
|
|
97
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Separator>): react221.JSX.Element;
|
|
98
|
-
/** Displays a keyboard shortcut hint aligned to the right of a menu item. */
|
|
99
|
-
declare function DropdownMenuShortcut({
|
|
100
|
-
className,
|
|
101
|
-
...props
|
|
102
|
-
}: React.ComponentProps<'span'>): react221.JSX.Element;
|
|
103
|
-
/** Root container for a nested sub-menu inside a DropdownMenu. */
|
|
104
|
-
declare function DropdownMenuSub({
|
|
105
|
-
...props
|
|
106
|
-
}: React.ComponentProps<typeof DropdownMenu$1.Sub>): react221.JSX.Element;
|
|
107
|
-
/**
|
|
108
|
-
* Menu item that reveals a nested DropdownMenuSubContent on hover or activation.
|
|
109
|
-
*
|
|
110
|
-
* @param inset - When true, adds left padding to align with inset items.
|
|
111
|
-
*/
|
|
112
|
-
declare function DropdownMenuSubTrigger({
|
|
113
|
-
className,
|
|
114
|
-
inset,
|
|
115
|
-
children,
|
|
116
|
-
...props
|
|
117
|
-
}: React.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
|
|
118
|
-
inset?: boolean;
|
|
119
|
-
}): react221.JSX.Element;
|
|
120
|
-
/** Floating panel that contains the items of a nested sub-menu. */
|
|
121
|
-
declare function DropdownMenuSubContent({
|
|
122
|
-
className,
|
|
123
|
-
...props
|
|
124
|
-
}: React.ComponentProps<typeof DropdownMenu$1.SubContent>): react221.JSX.Element;
|
|
125
|
-
//#endregion
|
|
126
|
-
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
|
|
127
|
-
//# sourceMappingURL=dropdown-menu.d.ts.map
|
package/dist/ui/dropdown-menu.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"../dropdown-menu-DeHCVyby.js";export{p as DropdownMenu,c as DropdownMenuCheckboxItem,d as DropdownMenuContent,a as DropdownMenuGroup,e as DropdownMenuItem,l as DropdownMenuLabel,f as DropdownMenuPortal,t as DropdownMenuRadioGroup,o as DropdownMenuRadioItem,m as DropdownMenuSeparator,n as DropdownMenuShortcut,r as DropdownMenuSub,u as DropdownMenuSubContent,s as DropdownMenuSubTrigger,i as DropdownMenuTrigger};
|
package/dist/ui/empty.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty.cjs","names":[],"sources":["../../packages/components/ui/empty.tsx"],"sourcesContent":["import { cn } from '@customafk/react-toolkit/utils';\n\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\n/**\n * Full-page or section empty-state container with centred layout and dashed border, composed with EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, and EmptyContent.\n *\n * @example\n * ```tsx\n * import {\n * Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent,\n * } from '@customafk/lunas-ui/ui/empty';\n * import { SearchX } from 'lucide-react';\n *\n * <Empty>\n * <EmptyHeader>\n * <EmptyMedia variant=\"icon\"><SearchX /></EmptyMedia>\n * <EmptyTitle>No results found</EmptyTitle>\n * <EmptyDescription>Try adjusting your search filters.</EmptyDescription>\n * </EmptyHeader>\n * <EmptyContent>\n * <button>Reset filters</button>\n * </EmptyContent>\n * </Empty>\n * ```\n */\nfunction Empty({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty\"\n className={cn('flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12', className)}\n {...props}\n />\n );\n}\n\n/** Centred column container for the media, title, and description of an empty state. */\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-header\" className={cn('flex max-w-sm flex-col items-center gap-2 text-center', className)} {...props} />;\n}\n\nconst emptyMediaVariants = cva('flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0', {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"bg-muted-muted text-text-positive-weak flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\n/**\n * Container for the visual element (illustration, icon, or image) in an empty state.\n *\n * @param variant - `'default'` renders a transparent wrapper; `'icon'` renders a rounded muted square with the icon centred inside.\n */\nfunction EmptyMedia({ className, variant = 'default', ...props }: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>) {\n return <div data-slot=\"empty-icon\" data-variant={variant} className={cn(emptyMediaVariants({ variant, className }))} {...props} />;\n}\n\n/** Prominent heading text for the empty state. */\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-title\" className={cn('text-lg font-medium tracking-tight', className)} {...props} />;\n}\n\n/** Supporting body text that explains the empty state to the user. */\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn('text-text-positive-weak [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4', className)}\n {...props}\n />\n );\n}\n\n/** Action area below the header — typically holds buttons or links to help the user proceed. */\nfunction EmptyContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"empty-content\" className={cn('flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance', className)} {...props} />\n );\n}\n\nexport { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia };\n"],"mappings":"8JA2BA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAsC,CACnE,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,QACV,WAAA,EAAA,EAAA,IAAc,+HAAgI,EAAU,CACxJ,GAAI,GACJ,CAKN,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,wDAAyD,EAAU,CAAE,GAAI,GAAS,CAGvI,MAAM,GAAA,EAAA,EAAA,KAAyB,8FAA+F,CAC5H,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,2IACP,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CAAC,CAOF,SAAS,EAAW,CAAE,YAAW,UAAU,UAAW,GAAG,GAAgF,CACvI,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,aAAa,eAAc,EAAS,WAAA,EAAA,EAAA,IAAc,EAAmB,CAAE,UAAS,YAAW,CAAC,CAAC,CAAE,GAAI,GAAS,CAIpI,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,qCAAsC,EAAU,CAAE,GAAI,GAAS,CAInH,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAoC,CAC5E,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,oBACV,WAAA,EAAA,EAAA,IAAc,4GAA6G,EAAU,CACrI,GAAI,GACJ,CAKN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,gFAAiF,EAAU,CAAE,GAAI,GAAS"}
|
package/dist/ui/empty.d.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import * as react88 from "react";
|
|
2
|
-
import { VariantProps } from "class-variance-authority";
|
|
3
|
-
import * as class_variance_authority_types4 from "class-variance-authority/types";
|
|
4
|
-
|
|
5
|
-
//#region packages/components/ui/empty.d.ts
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Full-page or section empty-state container with centred layout and dashed border, composed with EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, and EmptyContent.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* import {
|
|
13
|
-
* Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent,
|
|
14
|
-
* } from '@customafk/lunas-ui/ui/empty';
|
|
15
|
-
* import { SearchX } from 'lucide-react';
|
|
16
|
-
*
|
|
17
|
-
* <Empty>
|
|
18
|
-
* <EmptyHeader>
|
|
19
|
-
* <EmptyMedia variant="icon"><SearchX /></EmptyMedia>
|
|
20
|
-
* <EmptyTitle>No results found</EmptyTitle>
|
|
21
|
-
* <EmptyDescription>Try adjusting your search filters.</EmptyDescription>
|
|
22
|
-
* </EmptyHeader>
|
|
23
|
-
* <EmptyContent>
|
|
24
|
-
* <button>Reset filters</button>
|
|
25
|
-
* </EmptyContent>
|
|
26
|
-
* </Empty>
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
declare function Empty({
|
|
30
|
-
className,
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<'div'>): react88.JSX.Element;
|
|
33
|
-
/** Centred column container for the media, title, and description of an empty state. */
|
|
34
|
-
declare function EmptyHeader({
|
|
35
|
-
className,
|
|
36
|
-
...props
|
|
37
|
-
}: React.ComponentProps<'div'>): react88.JSX.Element;
|
|
38
|
-
declare const emptyMediaVariants: (props?: ({
|
|
39
|
-
variant?: "default" | "icon" | null | undefined;
|
|
40
|
-
} & class_variance_authority_types4.ClassProp) | undefined) => string;
|
|
41
|
-
/**
|
|
42
|
-
* Container for the visual element (illustration, icon, or image) in an empty state.
|
|
43
|
-
*
|
|
44
|
-
* @param variant - `'default'` renders a transparent wrapper; `'icon'` renders a rounded muted square with the icon centred inside.
|
|
45
|
-
*/
|
|
46
|
-
declare function EmptyMedia({
|
|
47
|
-
className,
|
|
48
|
-
variant,
|
|
49
|
-
...props
|
|
50
|
-
}: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>): react88.JSX.Element;
|
|
51
|
-
/** Prominent heading text for the empty state. */
|
|
52
|
-
declare function EmptyTitle({
|
|
53
|
-
className,
|
|
54
|
-
...props
|
|
55
|
-
}: React.ComponentProps<'div'>): react88.JSX.Element;
|
|
56
|
-
/** Supporting body text that explains the empty state to the user. */
|
|
57
|
-
declare function EmptyDescription({
|
|
58
|
-
className,
|
|
59
|
-
...props
|
|
60
|
-
}: React.ComponentProps<'p'>): react88.JSX.Element;
|
|
61
|
-
/** Action area below the header — typically holds buttons or links to help the user proceed. */
|
|
62
|
-
declare function EmptyContent({
|
|
63
|
-
className,
|
|
64
|
-
...props
|
|
65
|
-
}: React.ComponentProps<'div'>): react88.JSX.Element;
|
|
66
|
-
//#endregion
|
|
67
|
-
export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
|
|
68
|
-
//# sourceMappingURL=empty.d.ts.map
|
package/dist/ui/empty.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{jsx as n}from"react/jsx-runtime";function r({className:t,...r}){return n(`div`,{"data-slot":`empty`,className:e(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,t),...r})}function i({className:t,...r}){return n(`div`,{"data-slot":`empty-header`,className:e(`flex max-w-sm flex-col items-center gap-2 text-center`,t),...r})}const a=t(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted-muted text-text-positive-weak flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function o({className:t,variant:r=`default`,...i}){return n(`div`,{"data-slot":`empty-icon`,"data-variant":r,className:e(a({variant:r,className:t})),...i})}function s({className:t,...r}){return n(`div`,{"data-slot":`empty-title`,className:e(`text-lg font-medium tracking-tight`,t),...r})}function c({className:t,...r}){return n(`div`,{"data-slot":`empty-description`,className:e(`text-text-positive-weak [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,t),...r})}function l({className:t,...r}){return n(`div`,{"data-slot":`empty-content`,className:e(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,t),...r})}export{r as Empty,l as EmptyContent,c as EmptyDescription,i as EmptyHeader,o as EmptyMedia,s as EmptyTitle};
|
|
2
|
-
//# sourceMappingURL=empty.js.map
|
package/dist/ui/empty.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty.js","names":[],"sources":["../../packages/components/ui/empty.tsx"],"sourcesContent":["import { cn } from '@customafk/react-toolkit/utils';\n\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\n/**\n * Full-page or section empty-state container with centred layout and dashed border, composed with EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, and EmptyContent.\n *\n * @example\n * ```tsx\n * import {\n * Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent,\n * } from '@customafk/lunas-ui/ui/empty';\n * import { SearchX } from 'lucide-react';\n *\n * <Empty>\n * <EmptyHeader>\n * <EmptyMedia variant=\"icon\"><SearchX /></EmptyMedia>\n * <EmptyTitle>No results found</EmptyTitle>\n * <EmptyDescription>Try adjusting your search filters.</EmptyDescription>\n * </EmptyHeader>\n * <EmptyContent>\n * <button>Reset filters</button>\n * </EmptyContent>\n * </Empty>\n * ```\n */\nfunction Empty({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty\"\n className={cn('flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12', className)}\n {...props}\n />\n );\n}\n\n/** Centred column container for the media, title, and description of an empty state. */\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-header\" className={cn('flex max-w-sm flex-col items-center gap-2 text-center', className)} {...props} />;\n}\n\nconst emptyMediaVariants = cva('flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0', {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"bg-muted-muted text-text-positive-weak flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\n/**\n * Container for the visual element (illustration, icon, or image) in an empty state.\n *\n * @param variant - `'default'` renders a transparent wrapper; `'icon'` renders a rounded muted square with the icon centred inside.\n */\nfunction EmptyMedia({ className, variant = 'default', ...props }: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>) {\n return <div data-slot=\"empty-icon\" data-variant={variant} className={cn(emptyMediaVariants({ variant, className }))} {...props} />;\n}\n\n/** Prominent heading text for the empty state. */\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-title\" className={cn('text-lg font-medium tracking-tight', className)} {...props} />;\n}\n\n/** Supporting body text that explains the empty state to the user. */\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn('text-text-positive-weak [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4', className)}\n {...props}\n />\n );\n}\n\n/** Action area below the header — typically holds buttons or links to help the user proceed. */\nfunction EmptyContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"empty-content\" className={cn('flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance', className)} {...props} />\n );\n}\n\nexport { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia };\n"],"mappings":"2IA2BA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAsC,CACnE,OACE,EAAC,MAAA,CACC,YAAU,QACV,UAAW,EAAG,+HAAgI,EAAU,CACxJ,GAAI,GACJ,CAKN,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAC,MAAA,CAAI,YAAU,eAAe,UAAW,EAAG,wDAAyD,EAAU,CAAE,GAAI,GAAS,CAGvI,MAAM,EAAqB,EAAI,8FAA+F,CAC5H,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,2IACP,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CAAC,CAOF,SAAS,EAAW,CAAE,YAAW,UAAU,UAAW,GAAG,GAAgF,CACvI,OAAO,EAAC,MAAA,CAAI,YAAU,aAAa,eAAc,EAAS,UAAW,EAAG,EAAmB,CAAE,UAAS,YAAW,CAAC,CAAC,CAAE,GAAI,GAAS,CAIpI,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAC,MAAA,CAAI,YAAU,cAAc,UAAW,EAAG,qCAAsC,EAAU,CAAE,GAAI,GAAS,CAInH,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAoC,CAC5E,OACE,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EAAG,4GAA6G,EAAU,CACrI,GAAI,GACJ,CAKN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,gFAAiF,EAAU,CAAE,GAAI,GAAS"}
|
package/dist/ui/field.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Label } from "./label.js";
|
|
2
|
-
import * as react146 from "react";
|
|
3
|
-
import { VariantProps } from "class-variance-authority";
|
|
4
|
-
import * as class_variance_authority_types5 from "class-variance-authority/types";
|
|
5
|
-
|
|
6
|
-
//#region packages/components/ui/field.d.ts
|
|
7
|
-
declare const FieldSet: react146.MemoExoticComponent<({
|
|
8
|
-
className,
|
|
9
|
-
...props
|
|
10
|
-
}: React.ComponentProps<"fieldset">) => react146.JSX.Element>;
|
|
11
|
-
declare const FieldLegend: react146.MemoExoticComponent<({
|
|
12
|
-
className,
|
|
13
|
-
variant,
|
|
14
|
-
...props
|
|
15
|
-
}: React.ComponentProps<"legend"> & {
|
|
16
|
-
variant?: "legend" | "label";
|
|
17
|
-
}) => react146.JSX.Element>;
|
|
18
|
-
declare const FieldGroup: react146.MemoExoticComponent<({
|
|
19
|
-
className,
|
|
20
|
-
...props
|
|
21
|
-
}: React.ComponentProps<"div">) => react146.JSX.Element>;
|
|
22
|
-
declare const fieldVariants: (props?: ({
|
|
23
|
-
orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
|
|
24
|
-
} & class_variance_authority_types5.ClassProp) | undefined) => string;
|
|
25
|
-
declare const Field: react146.MemoExoticComponent<({
|
|
26
|
-
className,
|
|
27
|
-
orientation,
|
|
28
|
-
...props
|
|
29
|
-
}: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>) => react146.JSX.Element>;
|
|
30
|
-
declare const FieldContent: react146.MemoExoticComponent<({
|
|
31
|
-
className,
|
|
32
|
-
...props
|
|
33
|
-
}: React.ComponentProps<"div">) => react146.JSX.Element>;
|
|
34
|
-
declare const FieldLabel: react146.MemoExoticComponent<({
|
|
35
|
-
className,
|
|
36
|
-
...props
|
|
37
|
-
}: React.ComponentProps<typeof Label>) => react146.JSX.Element>;
|
|
38
|
-
declare const FieldTitle: react146.MemoExoticComponent<({
|
|
39
|
-
className,
|
|
40
|
-
...props
|
|
41
|
-
}: React.ComponentProps<"div">) => react146.JSX.Element>;
|
|
42
|
-
declare const FieldDescription: react146.MemoExoticComponent<({
|
|
43
|
-
className,
|
|
44
|
-
...props
|
|
45
|
-
}: React.ComponentProps<"p">) => react146.JSX.Element>;
|
|
46
|
-
declare const FieldSeparator: react146.MemoExoticComponent<({
|
|
47
|
-
children,
|
|
48
|
-
className,
|
|
49
|
-
...props
|
|
50
|
-
}: React.ComponentProps<"div"> & {
|
|
51
|
-
children?: React.ReactNode;
|
|
52
|
-
}) => react146.JSX.Element>;
|
|
53
|
-
declare const FieldError: react146.MemoExoticComponent<({
|
|
54
|
-
className,
|
|
55
|
-
children,
|
|
56
|
-
errors,
|
|
57
|
-
...props
|
|
58
|
-
}: React.ComponentProps<"div"> & {
|
|
59
|
-
errors?: Array<{
|
|
60
|
-
message?: string;
|
|
61
|
-
} | undefined>;
|
|
62
|
-
}) => react146.JSX.Element | null>;
|
|
63
|
-
//#endregion
|
|
64
|
-
export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
|
|
65
|
-
//# sourceMappingURL=field.d.ts.map
|
package/dist/ui/field.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import"../separator-BM8hA4DP.js";import"../label-B8cAG2kc.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../field-DpoKF1nY.js";export{c as Field,i as FieldContent,o as FieldDescription,n as FieldError,e as FieldGroup,a as FieldLabel,s as FieldLegend,t as FieldSeparator,r as FieldSet,l as FieldTitle};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.cjs","names":["Dropzone","Upload","Image","Trash2","Progress","Button","FileText"],"sources":["../../packages/components/ui/file-uploader.tsx"],"sourcesContent":["'use client';\nimport { useCallback, useEffect } from 'react';\nimport Dropzone, { type DropzoneProps, type FileRejection } from 'react-dropzone';\nimport { useControllableState } from '@customafk/react-toolkit/hooks/useControllableState';\nimport { cn, formatBytes } from '@customafk/react-toolkit/utils';\n\nimport { FileText, Image, Trash2, Upload } from 'lucide-react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/ui/button';\nimport { Progress } from '@/components/ui/progress';\n\n/**\n * Props for the FileUploader component.\n *\n * @example\n * ```tsx\n * import { FileUploader } from '@customafk/lunas-ui/ui/file-uploader';\n *\n * <FileUploader\n * accept={{ 'image/*': [] }}\n * maxSize={1024 * 1024 * 5}\n * maxFileCount={3}\n * multiple\n * onUpload={async (files) => { await uploadFiles(files); }}\n * />\n * ```\n */\ninterface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Value of the uploader.\n * @type File[]\n * @default undefined\n * @example value={files}\n */\n value?: File[];\n\n /**\n * Function to be called when the value changes.\n * @type (files: File[]) => void\n * @default undefined\n * @example onValueChange={(files) => setFiles(files)}\n */\n onValueChange?: (files: File[]) => void;\n\n /**\n * Function to be called when files are uploaded.\n * @type (files: File[]) => Promise<void>\n * @default undefined\n * @example onUpload={(files) => uploadFiles(files)}\n */\n onUpload?: (files: File[]) => Promise<void>;\n\n /**\n * Progress of the uploaded files.\n * @type Record<string, number> | undefined\n * @default undefined\n * @example progresses={{ \"file1.png\": 50 }}\n */\n progresses?: Record<string, number>;\n\n /**\n * Accepted file types for the uploader.\n * @type { [key: string]: string[]}\n * @default\n * ```ts\n * { \"image/*\": [] }\n * ```\n * @example accept={[\"image/png\", \"image/jpeg\"]}\n */\n accept?: DropzoneProps['accept'];\n\n /**\n * Maximum file size for the uploader.\n * @type number | undefined\n * @default 1024 * 1024 * 2 // 2MB\n * @example maxSize={1024 * 1024 * 2} // 2MB\n */\n maxSize?: DropzoneProps['maxSize'];\n\n /**\n * Maximum number of files for the uploader.\n * @type number | undefined\n * @default 1\n * @example maxFileCount={4}\n */\n maxFileCount?: DropzoneProps['maxFiles'];\n\n /**\n * Whether the uploader should accept multiple files.\n * @type boolean\n * @default false\n * @example multiple\n */\n multiple?: boolean;\n\n /**\n * Whether the uploader is disabled.\n * @type boolean\n * @default false\n * @example disabled\n */\n disabled?: boolean;\n\n /**\n * Whether to show the instructional drag-and-drop text inside the drop zone.\n * @default true\n */\n showText?: boolean;\n /** Size in pixels for the upload icon. */\n iconSize?: number;\n}\n\n/**\n * A drag-and-drop file upload zone that manages file selection, validation, preview generation, and optional async upload with progress tracking.\n */\nexport function FileUploader(props: FileUploaderProps) {\n const {\n value: valueProp,\n onValueChange,\n onUpload,\n progresses,\n accept = {\n 'image/*': [],\n },\n maxSize = 1024 * 1024 * 2,\n maxFileCount = 1,\n multiple = false,\n disabled = false,\n showText = true,\n iconSize,\n className,\n ...dropzoneProps\n } = props;\n\n const [files, setFiles] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n });\n\n const onDrop = useCallback(\n (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {\n toast.error('Cannot upload more than 1 file at a time');\n\n return;\n }\n\n if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {\n toast.error(`Cannot upload more than ${maxFileCount} files`);\n return;\n }\n\n const newFiles = acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file),\n })\n );\n\n const updatedFiles = files ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (rejectedFiles.length > 0) {\n rejectedFiles.forEach(({ file }) => {\n toast.error(`File ${file.name} was rejected`);\n });\n }\n\n if (onUpload && updatedFiles.length > 0 && updatedFiles.length <= maxFileCount) {\n const target = updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;\n\n onUpload(updatedFiles).then(() => {\n setFiles([]);\n toast(`${target} uploaded`);\n });\n }\n },\n\n [files, maxFileCount, multiple, onUpload, setFiles]\n );\n\n function onRemove(index: number) {\n if (!files) return;\n\n if (isFileWithPreview(files[index])) {\n URL.revokeObjectURL(files[index].preview);\n }\n\n const newFiles = files.filter((_, i) => i !== index);\n setFiles(newFiles);\n onValueChange?.(newFiles);\n }\n\n // Revoke preview url when component unmounts\n useEffect(() => {\n return () => {\n if (!files) return;\n files.forEach(file => {\n if (isFileWithPreview(file)) {\n URL.revokeObjectURL(file.preview);\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;\n\n return (\n <div className=\"relative flex w-full flex-col gap-6\">\n <Dropzone onDrop={onDrop} accept={accept} maxSize={maxSize} maxFiles={maxFileCount} multiple={maxFileCount > 1 || multiple} disabled={isDisabled}>\n {({ getRootProps, getInputProps, isDragActive }) => (\n <div\n {...getRootProps()}\n className={cn(\n 'group',\n 'border-border-weak',\n 'hover:bg-border-weak/20',\n 'relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition',\n 'ring-offset-background',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-2',\n 'focus-visible:ring-offset-2',\n 'focus-visible:outline-hidden',\n isDragActive && 'border-border-primary-strong bg-border-weak/40',\n isDisabled && 'pointer-events-none opacity-60',\n className\n )}\n {...dropzoneProps}\n >\n <input {...getInputProps()} />\n {isDragActive ? (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload className=\"text-text-positive-muted size-7\" aria-hidden=\"true\" />\n </div>\n <p className=\"text-text-positive-muted font-medium\">Drop the files here</p>\n </div>\n ) : (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload size={iconSize || 24} className=\"text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n {showText && (\n <div className=\"flex flex-col gap-px\">\n <p className=\"text-text-positive-weak text-xs font-medium\">Drag {`'n'`} drop files here, or click to select files</p>\n <p className=\"text-text-positive-muted text-xs\">\n You can upload\n {maxFileCount > 1\n ? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}\n files (up to ${formatBytes(maxSize)} each)`\n : ` a file with ${formatBytes(maxSize)}`}\n </p>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </Dropzone>\n {files?.length ? (\n <div className=\"h-fit w-full overflow-y-auto\">\n <div className=\"flex items-center justify-between px-3 py-2.5\">\n <div className=\"text-text-positive-weak flex items-center gap-1\">\n <Image size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Ảnh đã tải lên ({files.length})</p>\n </div>\n <button\n className=\"hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200\"\n onClick={() => {\n if (!files) return;\n files.forEach(file => {\n if (!isFileWithPreview(file)) return;\n URL.revokeObjectURL(file.preview);\n });\n setFiles([]);\n onValueChange?.([]);\n }}\n >\n <Trash2 size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Xóa tất cả</p>\n </button>\n </div>\n <div className=\"flex flex-col gap-2.5\">\n {files?.map((file, index) => (\n <FileCard key={index} file={file} onRemove={() => onRemove(index)} progress={progresses?.[file.name]} />\n ))}\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\ninterface FileCardProps {\n file: File;\n onRemove: () => void;\n progress?: number;\n}\n\nfunction FileCard({ file, progress, onRemove }: FileCardProps) {\n return (\n <div className=\"border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors\">\n <div className=\"flex flex-1 gap-2.5\">\n {isFileWithPreview(file) ? <FilePreview file={file} /> : null}\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex flex-col gap-y-0.5\">\n <p className=\"text-text-positive line-clamp-1 text-sm\">{file.name}</p>\n <p className=\"text-text-positive-muted text-xs\">{formatBytes(file.size)}</p>\n </div>\n {progress ? <Progress value={progress} /> : null}\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Button type=\"button\" variant=\"ghost\" color=\"secondary\" size=\"icon\" className=\"size-7\" onClick={onRemove}>\n <Trash2 size={16} className=\"text-text-positive-muted\" aria-hidden=\"true\" />\n <span className=\"sr-only\">Remove file</span>\n </Button>\n </div>\n </div>\n );\n}\n\nfunction isFileWithPreview(file: File): file is File & { preview: string } {\n return 'preview' in file && typeof file.preview === 'string';\n}\n\ninterface FilePreviewProps {\n file: File & { preview: string };\n}\n\nfunction FilePreview({ file }: FilePreviewProps) {\n if (file.type.startsWith('image/')) {\n return <img src={file.preview} className=\"border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm\" />;\n }\n\n return <FileText className=\"text-text-positive-muted size-10 border\" aria-hidden=\"true\" />;\n}\n"],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import * as react211 from "react";
|
|
2
|
-
import { DropzoneProps } from "react-dropzone";
|
|
3
|
-
|
|
4
|
-
//#region packages/components/ui/file-uploader.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Props for the FileUploader component.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* import { FileUploader } from '@customafk/lunas-ui/ui/file-uploader';
|
|
12
|
-
*
|
|
13
|
-
* <FileUploader
|
|
14
|
-
* accept={{ 'image/*': [] }}
|
|
15
|
-
* maxSize={1024 * 1024 * 5}
|
|
16
|
-
* maxFileCount={3}
|
|
17
|
-
* multiple
|
|
18
|
-
* onUpload={async (files) => { await uploadFiles(files); }}
|
|
19
|
-
* />
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
23
|
-
/**
|
|
24
|
-
* Value of the uploader.
|
|
25
|
-
* @type File[]
|
|
26
|
-
* @default undefined
|
|
27
|
-
* @example value={files}
|
|
28
|
-
*/
|
|
29
|
-
value?: File[];
|
|
30
|
-
/**
|
|
31
|
-
* Function to be called when the value changes.
|
|
32
|
-
* @type (files: File[]) => void
|
|
33
|
-
* @default undefined
|
|
34
|
-
* @example onValueChange={(files) => setFiles(files)}
|
|
35
|
-
*/
|
|
36
|
-
onValueChange?: (files: File[]) => void;
|
|
37
|
-
/**
|
|
38
|
-
* Function to be called when files are uploaded.
|
|
39
|
-
* @type (files: File[]) => Promise<void>
|
|
40
|
-
* @default undefined
|
|
41
|
-
* @example onUpload={(files) => uploadFiles(files)}
|
|
42
|
-
*/
|
|
43
|
-
onUpload?: (files: File[]) => Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
* Progress of the uploaded files.
|
|
46
|
-
* @type Record<string, number> | undefined
|
|
47
|
-
* @default undefined
|
|
48
|
-
* @example progresses={{ "file1.png": 50 }}
|
|
49
|
-
*/
|
|
50
|
-
progresses?: Record<string, number>;
|
|
51
|
-
/**
|
|
52
|
-
* Accepted file types for the uploader.
|
|
53
|
-
* @type { [key: string]: string[]}
|
|
54
|
-
* @default
|
|
55
|
-
* ```ts
|
|
56
|
-
* { "image/*": [] }
|
|
57
|
-
* ```
|
|
58
|
-
* @example accept={["image/png", "image/jpeg"]}
|
|
59
|
-
*/
|
|
60
|
-
accept?: DropzoneProps['accept'];
|
|
61
|
-
/**
|
|
62
|
-
* Maximum file size for the uploader.
|
|
63
|
-
* @type number | undefined
|
|
64
|
-
* @default 1024 * 1024 * 2 // 2MB
|
|
65
|
-
* @example maxSize={1024 * 1024 * 2} // 2MB
|
|
66
|
-
*/
|
|
67
|
-
maxSize?: DropzoneProps['maxSize'];
|
|
68
|
-
/**
|
|
69
|
-
* Maximum number of files for the uploader.
|
|
70
|
-
* @type number | undefined
|
|
71
|
-
* @default 1
|
|
72
|
-
* @example maxFileCount={4}
|
|
73
|
-
*/
|
|
74
|
-
maxFileCount?: DropzoneProps['maxFiles'];
|
|
75
|
-
/**
|
|
76
|
-
* Whether the uploader should accept multiple files.
|
|
77
|
-
* @type boolean
|
|
78
|
-
* @default false
|
|
79
|
-
* @example multiple
|
|
80
|
-
*/
|
|
81
|
-
multiple?: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Whether the uploader is disabled.
|
|
84
|
-
* @type boolean
|
|
85
|
-
* @default false
|
|
86
|
-
* @example disabled
|
|
87
|
-
*/
|
|
88
|
-
disabled?: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Whether to show the instructional drag-and-drop text inside the drop zone.
|
|
91
|
-
* @default true
|
|
92
|
-
*/
|
|
93
|
-
showText?: boolean;
|
|
94
|
-
/** Size in pixels for the upload icon. */
|
|
95
|
-
iconSize?: number;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* A drag-and-drop file upload zone that manages file selection, validation, preview generation, and optional async upload with progress tracking.
|
|
99
|
-
*/
|
|
100
|
-
declare function FileUploader(props: FileUploaderProps): react211.JSX.Element;
|
|
101
|
-
//#endregion
|
|
102
|
-
export { FileUploader };
|
|
103
|
-
//# sourceMappingURL=file-uploader.d.ts.map
|
package/dist/ui/file-uploader.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import{t}from"../progress-AYknlEgK.js";import{FileText as n,Image as r,Trash2 as i,Upload as a}from"lucide-react";import{useCallback as o,useEffect as s}from"react";import{cn as c,formatBytes as l}from"@customafk/react-toolkit/utils";import{jsx as u,jsxs as d}from"react/jsx-runtime";import f from"react-dropzone";import{useControllableState as p}from"@customafk/react-toolkit/hooks/useControllableState";import{toast as m}from"sonner";function h(e){let{value:t,onValueChange:n,onUpload:h,progresses:v,accept:y={"image/*":[]},maxSize:b=1024*1024*2,maxFileCount:x=1,multiple:S=!1,disabled:C=!1,showText:w=!0,iconSize:T,className:E,...D}=e,[O,k]=p({prop:t,onChange:n}),A=o((e,t)=>{if(!S&&x===1&&e.length>1){m.error(`Cannot upload more than 1 file at a time`);return}if((O?.length??0)+e.length>x){m.error(`Cannot upload more than ${x} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),r=O?[...O,...n]:n;if(k(r),t.length>0&&t.forEach(({file:e})=>{m.error(`File ${e.name} was rejected`)}),h&&r.length>0&&r.length<=x){let e=r.length>0?`${r.length} files`:`file`;h(r).then(()=>{k([]),m(`${e} uploaded`)})}},[O,x,S,h,k]);function j(e){if(!O)return;_(O[e])&&URL.revokeObjectURL(O[e].preview);let t=O.filter((t,n)=>n!==e);k(t),n?.(t)}s(()=>()=>{O&&O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)})},[]);let M=C||(O?.length??0)>=x;return d(`div`,{className:`relative flex w-full flex-col gap-6`,children:[u(f,{onDrop:A,accept:y,maxSize:b,maxFiles:x,multiple:x>1||S,disabled:M,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>d(`div`,{...e(),className:c(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,M&&`pointer-events-none opacity-60`,E),...D,children:[u(`input`,{...t()}),n?d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{className:`text-text-positive-muted size-7`,"aria-hidden":`true`})}),u(`p`,{className:`text-text-positive-muted font-medium`,children:`Drop the files here`})]}):d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{size:T||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),w&&d(`div`,{className:`flex flex-col gap-px`,children:[d(`p`,{className:`text-text-positive-weak text-xs font-medium`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),d(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,x>1?` ${x===1/0?`multiple`:x}
|
|
2
|
-
files (up to ${l(b)} each)`:` a file with ${l(b)}`]})]})]})]})}),O?.length?d(`div`,{className:`h-fit w-full overflow-y-auto`,children:[d(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[d(`div`,{className:`text-text-positive-weak flex items-center gap-1`,children:[u(r,{size:16,"aria-hidden":`true`}),d(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,O.length,`)`]})]}),d(`button`,{className:`hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200`,onClick:()=>{O&&(O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)}),k([]),n?.([]))},children:[u(i,{size:16,"aria-hidden":`true`}),u(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),u(`div`,{className:`flex flex-col gap-2.5`,children:O?.map((e,t)=>u(g,{file:e,onRemove:()=>j(t),progress:v?.[e.name]},t))})]}):null]})}function g({file:n,progress:r,onRemove:a}){return d(`div`,{className:`border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors`,children:[d(`div`,{className:`flex flex-1 gap-2.5`,children:[_(n)?u(v,{file:n}):null,d(`div`,{className:`flex w-full flex-col gap-2`,children:[d(`div`,{className:`flex flex-col gap-y-0.5`,children:[u(`p`,{className:`text-text-positive line-clamp-1 text-sm`,children:n.name}),u(`p`,{className:`text-text-positive-muted text-xs`,children:l(n.size)})]}),r?u(t,{value:r}):null]})]}),u(`div`,{className:`flex items-center gap-2`,children:d(e,{type:`button`,variant:`ghost`,color:`secondary`,size:`icon`,className:`size-7`,onClick:a,children:[u(i,{size:16,className:`text-text-positive-muted`,"aria-hidden":`true`}),u(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function _(e){return`preview`in e&&typeof e.preview==`string`}function v({file:e}){return e.type.startsWith(`image/`)?u(`img`,{src:e.preview,className:`border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm`}):u(n,{className:`text-text-positive-muted size-10 border`,"aria-hidden":`true`})}export{h as FileUploader};
|
|
3
|
-
//# sourceMappingURL=file-uploader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.js","names":[],"sources":["../../packages/components/ui/file-uploader.tsx"],"sourcesContent":["'use client';\nimport { useCallback, useEffect } from 'react';\nimport Dropzone, { type DropzoneProps, type FileRejection } from 'react-dropzone';\nimport { useControllableState } from '@customafk/react-toolkit/hooks/useControllableState';\nimport { cn, formatBytes } from '@customafk/react-toolkit/utils';\n\nimport { FileText, Image, Trash2, Upload } from 'lucide-react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/ui/button';\nimport { Progress } from '@/components/ui/progress';\n\n/**\n * Props for the FileUploader component.\n *\n * @example\n * ```tsx\n * import { FileUploader } from '@customafk/lunas-ui/ui/file-uploader';\n *\n * <FileUploader\n * accept={{ 'image/*': [] }}\n * maxSize={1024 * 1024 * 5}\n * maxFileCount={3}\n * multiple\n * onUpload={async (files) => { await uploadFiles(files); }}\n * />\n * ```\n */\ninterface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Value of the uploader.\n * @type File[]\n * @default undefined\n * @example value={files}\n */\n value?: File[];\n\n /**\n * Function to be called when the value changes.\n * @type (files: File[]) => void\n * @default undefined\n * @example onValueChange={(files) => setFiles(files)}\n */\n onValueChange?: (files: File[]) => void;\n\n /**\n * Function to be called when files are uploaded.\n * @type (files: File[]) => Promise<void>\n * @default undefined\n * @example onUpload={(files) => uploadFiles(files)}\n */\n onUpload?: (files: File[]) => Promise<void>;\n\n /**\n * Progress of the uploaded files.\n * @type Record<string, number> | undefined\n * @default undefined\n * @example progresses={{ \"file1.png\": 50 }}\n */\n progresses?: Record<string, number>;\n\n /**\n * Accepted file types for the uploader.\n * @type { [key: string]: string[]}\n * @default\n * ```ts\n * { \"image/*\": [] }\n * ```\n * @example accept={[\"image/png\", \"image/jpeg\"]}\n */\n accept?: DropzoneProps['accept'];\n\n /**\n * Maximum file size for the uploader.\n * @type number | undefined\n * @default 1024 * 1024 * 2 // 2MB\n * @example maxSize={1024 * 1024 * 2} // 2MB\n */\n maxSize?: DropzoneProps['maxSize'];\n\n /**\n * Maximum number of files for the uploader.\n * @type number | undefined\n * @default 1\n * @example maxFileCount={4}\n */\n maxFileCount?: DropzoneProps['maxFiles'];\n\n /**\n * Whether the uploader should accept multiple files.\n * @type boolean\n * @default false\n * @example multiple\n */\n multiple?: boolean;\n\n /**\n * Whether the uploader is disabled.\n * @type boolean\n * @default false\n * @example disabled\n */\n disabled?: boolean;\n\n /**\n * Whether to show the instructional drag-and-drop text inside the drop zone.\n * @default true\n */\n showText?: boolean;\n /** Size in pixels for the upload icon. */\n iconSize?: number;\n}\n\n/**\n * A drag-and-drop file upload zone that manages file selection, validation, preview generation, and optional async upload with progress tracking.\n */\nexport function FileUploader(props: FileUploaderProps) {\n const {\n value: valueProp,\n onValueChange,\n onUpload,\n progresses,\n accept = {\n 'image/*': [],\n },\n maxSize = 1024 * 1024 * 2,\n maxFileCount = 1,\n multiple = false,\n disabled = false,\n showText = true,\n iconSize,\n className,\n ...dropzoneProps\n } = props;\n\n const [files, setFiles] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n });\n\n const onDrop = useCallback(\n (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {\n toast.error('Cannot upload more than 1 file at a time');\n\n return;\n }\n\n if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {\n toast.error(`Cannot upload more than ${maxFileCount} files`);\n return;\n }\n\n const newFiles = acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file),\n })\n );\n\n const updatedFiles = files ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (rejectedFiles.length > 0) {\n rejectedFiles.forEach(({ file }) => {\n toast.error(`File ${file.name} was rejected`);\n });\n }\n\n if (onUpload && updatedFiles.length > 0 && updatedFiles.length <= maxFileCount) {\n const target = updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;\n\n onUpload(updatedFiles).then(() => {\n setFiles([]);\n toast(`${target} uploaded`);\n });\n }\n },\n\n [files, maxFileCount, multiple, onUpload, setFiles]\n );\n\n function onRemove(index: number) {\n if (!files) return;\n\n if (isFileWithPreview(files[index])) {\n URL.revokeObjectURL(files[index].preview);\n }\n\n const newFiles = files.filter((_, i) => i !== index);\n setFiles(newFiles);\n onValueChange?.(newFiles);\n }\n\n // Revoke preview url when component unmounts\n useEffect(() => {\n return () => {\n if (!files) return;\n files.forEach(file => {\n if (isFileWithPreview(file)) {\n URL.revokeObjectURL(file.preview);\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;\n\n return (\n <div className=\"relative flex w-full flex-col gap-6\">\n <Dropzone onDrop={onDrop} accept={accept} maxSize={maxSize} maxFiles={maxFileCount} multiple={maxFileCount > 1 || multiple} disabled={isDisabled}>\n {({ getRootProps, getInputProps, isDragActive }) => (\n <div\n {...getRootProps()}\n className={cn(\n 'group',\n 'border-border-weak',\n 'hover:bg-border-weak/20',\n 'relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition',\n 'ring-offset-background',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-2',\n 'focus-visible:ring-offset-2',\n 'focus-visible:outline-hidden',\n isDragActive && 'border-border-primary-strong bg-border-weak/40',\n isDisabled && 'pointer-events-none opacity-60',\n className\n )}\n {...dropzoneProps}\n >\n <input {...getInputProps()} />\n {isDragActive ? (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload className=\"text-text-positive-muted size-7\" aria-hidden=\"true\" />\n </div>\n <p className=\"text-text-positive-muted font-medium\">Drop the files here</p>\n </div>\n ) : (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload size={iconSize || 24} className=\"text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n {showText && (\n <div className=\"flex flex-col gap-px\">\n <p className=\"text-text-positive-weak text-xs font-medium\">Drag {`'n'`} drop files here, or click to select files</p>\n <p className=\"text-text-positive-muted text-xs\">\n You can upload\n {maxFileCount > 1\n ? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}\n files (up to ${formatBytes(maxSize)} each)`\n : ` a file with ${formatBytes(maxSize)}`}\n </p>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </Dropzone>\n {files?.length ? (\n <div className=\"h-fit w-full overflow-y-auto\">\n <div className=\"flex items-center justify-between px-3 py-2.5\">\n <div className=\"text-text-positive-weak flex items-center gap-1\">\n <Image size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Ảnh đã tải lên ({files.length})</p>\n </div>\n <button\n className=\"hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200\"\n onClick={() => {\n if (!files) return;\n files.forEach(file => {\n if (!isFileWithPreview(file)) return;\n URL.revokeObjectURL(file.preview);\n });\n setFiles([]);\n onValueChange?.([]);\n }}\n >\n <Trash2 size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Xóa tất cả</p>\n </button>\n </div>\n <div className=\"flex flex-col gap-2.5\">\n {files?.map((file, index) => (\n <FileCard key={index} file={file} onRemove={() => onRemove(index)} progress={progresses?.[file.name]} />\n ))}\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\ninterface FileCardProps {\n file: File;\n onRemove: () => void;\n progress?: number;\n}\n\nfunction FileCard({ file, progress, onRemove }: FileCardProps) {\n return (\n <div className=\"border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors\">\n <div className=\"flex flex-1 gap-2.5\">\n {isFileWithPreview(file) ? <FilePreview file={file} /> : null}\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex flex-col gap-y-0.5\">\n <p className=\"text-text-positive line-clamp-1 text-sm\">{file.name}</p>\n <p className=\"text-text-positive-muted text-xs\">{formatBytes(file.size)}</p>\n </div>\n {progress ? <Progress value={progress} /> : null}\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Button type=\"button\" variant=\"ghost\" color=\"secondary\" size=\"icon\" className=\"size-7\" onClick={onRemove}>\n <Trash2 size={16} className=\"text-text-positive-muted\" aria-hidden=\"true\" />\n <span className=\"sr-only\">Remove file</span>\n </Button>\n </div>\n </div>\n );\n}\n\nfunction isFileWithPreview(file: File): file is File & { preview: string } {\n return 'preview' in file && typeof file.preview === 'string';\n}\n\ninterface FilePreviewProps {\n file: File & { preview: string };\n}\n\nfunction FilePreview({ file }: FilePreviewProps) {\n if (file.type.startsWith('image/')) {\n return <img src={file.preview} className=\"border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm\" />;\n }\n\n return <FileText className=\"text-text-positive-muted size-10 border\" aria-hidden=\"true\" />;\n}\n"],"mappings":"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"}
|