@customafk/lunas-ui 0.2.50 → 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 +103 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../button.variants-DkMqWB8G.mjs";import"../button-CCVJTHBI.mjs";import"../heading-De4Pn3mZ.mjs";import"../paragraph-DYLaQtTV.mjs";import"../card-DpQKFp4f.mjs";import"../skeleton-teVJKfpX.mjs";import"../image-CbZwvmmL.mjs";import{t as e}from"../grid-product-card-BtZwWaMo.mjs";export{e as GridProductCard};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=product-card.cjs.map
|
|
1
|
+
require(`../button.variants-4kw6plrv.cjs`),require(`../button-C--DAN1D.cjs`),require(`../heading-tGTqk3pA.cjs`),require(`../paragraph-DvTZvbzw.cjs`),require(`../card-B8Pm6iEs.cjs`),require(`../skeleton-BuscPZgb.cjs`),require(`../image-eYMg5TSJ.cjs`);const e=require(`../product-card-10gaH8bg.cjs`);exports.ProductCard=e.t;
|
|
@@ -1,37 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** Unique identifier for the product. */
|
|
4
|
-
id: string;
|
|
5
|
-
/** URL-friendly slug for the product. */
|
|
6
|
-
slug: string;
|
|
7
|
-
/** Display name of the product shown on the card. */
|
|
8
|
-
name: string;
|
|
9
|
-
/** URL of the product's thumbnail image. */
|
|
10
|
-
thumbnail: string;
|
|
11
|
-
/** Regular price of the product in VND. */
|
|
12
|
-
price: number;
|
|
13
|
-
/** Optional sale / discounted price in VND. */
|
|
14
|
-
salePrice?: number;
|
|
15
|
-
/** Optional sale discount percentage (0–100). */
|
|
16
|
-
salePercentage?: number;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* A vertical product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```tsx
|
|
23
|
-
* import { ProductCard } from '@customafk/lunas-ui/cards/product-card';
|
|
24
|
-
*
|
|
25
|
-
* <ProductCard
|
|
26
|
-
* id="prod-1"
|
|
27
|
-
* slug="awesome-widget"
|
|
28
|
-
* name="Awesome Widget"
|
|
29
|
-
* thumbnail="/images/widget.png"
|
|
30
|
-
* price={299000}
|
|
31
|
-
* />
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
declare const ProductCard: React.FC<Props>;
|
|
35
|
-
//#endregion
|
|
36
|
-
export { ProductCard };
|
|
37
|
-
//# sourceMappingURL=product-card.d.cts.map
|
|
1
|
+
import { t as ProductCard } from "../product-card-C0l0q2Ve.cjs";
|
|
2
|
+
export { ProductCard };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../button.variants-DkMqWB8G.mjs";import"../button-CCVJTHBI.mjs";import"../heading-De4Pn3mZ.mjs";import"../paragraph-DYLaQtTV.mjs";import"../card-DpQKFp4f.mjs";import"../skeleton-teVJKfpX.mjs";import"../image-CbZwvmmL.mjs";import{t as e}from"../product-card-Rwd-o9hK.mjs";export{e as ProductCard};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
//# sourceMappingURL=simple-card.cjs.map
|
|
1
|
+
"use client";require(`../heading-tGTqk3pA.cjs`),require(`../paragraph-DvTZvbzw.cjs`),require(`../card-B8Pm6iEs.cjs`);const e=require(`../simple-card-C5Rr81Sm.cjs`);exports.SimpleCard=e.t;
|
|
@@ -1,35 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
//#region packages/components/cards/simple-card.d.ts
|
|
4
|
-
type Props = {
|
|
5
|
-
/** The card's heading text displayed in the header. */
|
|
6
|
-
title: string;
|
|
7
|
-
/** Optional subtitle or description shown below the title. */
|
|
8
|
-
description?: string;
|
|
9
|
-
/** Optional node rendered as a card action (e.g. a button) in the header. */
|
|
10
|
-
action?: React.ReactNode;
|
|
11
|
-
/** Optional node rendered inside the card footer. */
|
|
12
|
-
footer?: React.ReactNode;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* A general-purpose card with a header, optional description, action slot, content area, and footer.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```tsx
|
|
19
|
-
* import { SimpleCard } from '@customafk/lunas-ui/cards/simple-card';
|
|
20
|
-
*
|
|
21
|
-
* <SimpleCard title="Summary" description="Overview of results">
|
|
22
|
-
* <p>Card body content goes here.</p>
|
|
23
|
-
* </SimpleCard>
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
declare const SimpleCard: ({
|
|
27
|
-
title,
|
|
28
|
-
description,
|
|
29
|
-
action,
|
|
30
|
-
footer,
|
|
31
|
-
children
|
|
32
|
-
}: React.PropsWithChildren<Props>) => react2.JSX.Element;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { SimpleCard };
|
|
35
|
-
//# sourceMappingURL=simple-card.d.cts.map
|
|
1
|
+
import { t as SimpleCard } from "../simple-card-CjJvBXKr.cjs";
|
|
2
|
+
export { SimpleCard };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import"../heading-De4Pn3mZ.mjs";import"../paragraph-DYLaQtTV.mjs";import"../card-DpQKFp4f.mjs";import{t as e}from"../simple-card-HEzKjzGT.mjs";export{e as SimpleCard};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-350yNsax.cjs`),t=require(`./button-C--DAN1D.cjs`);let n=require(`lucide-react`),r=require(`react`),i=require(`@customafk/react-toolkit/utils`),a=require(`react/jsx-runtime`),o=require(`embla-carousel-react`);o=e.n(o);const s=(0,r.createContext)(null);function c(){let e=(0,r.use)(s);if(!e)throw Error(`useCarousel must be used within a <Carousel />`);return e}function l({orientation:e=`horizontal`,opts:t,setApi:n,plugins:c,className:l,children:u,...d}){let[f,p]=(0,o.default)({...t,axis:e===`horizontal`?`x`:`y`},c),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),v=(0,r.useCallback)(e=>{e&&(h(e.canScrollPrev()),_(e.canScrollNext()))},[]),y=(0,r.useCallback)(()=>{p?.scrollPrev()},[p]),b=(0,r.useCallback)(()=>{p?.scrollNext()},[p]),x=(0,r.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),y()):e.key===`ArrowRight`&&(e.preventDefault(),b())},[y,b]);return(0,r.useEffect)(()=>{!p||!n||n(p)},[p,n]),(0,r.useEffect)(()=>{if(p)return v(p),p.on(`reInit`,v),p.on(`select`,v),()=>{p?.off(`select`,v)}},[p,v]),(0,a.jsx)(s.Provider,{value:{carouselRef:f,api:p,opts:t,orientation:e||(t?.axis===`y`?`vertical`:`horizontal`),scrollPrev:y,scrollNext:b,canScrollPrev:m,canScrollNext:g},children:(0,a.jsx)(`div`,{onKeyDownCapture:x,className:(0,i.cn)(`relative`,l),role:`region`,"aria-roledescription":`carousel`,"data-slot":`carousel`,...d,children:u})})}function u({className:e,...t}){let{carouselRef:n,orientation:r}=c();return(0,a.jsx)(`div`,{ref:n,className:`overflow-hidden`,"data-slot":`carousel-content`,children:(0,a.jsx)(`div`,{className:(0,i.cn)(`flex`,r===`horizontal`?`-ml-4`:`-mt-4 flex-col`,e),...t})})}function d({className:e,...t}){let{orientation:n}=c();return(0,a.jsx)(`div`,{role:`group`,"aria-roledescription":`slide`,"data-slot":`carousel-item`,className:(0,i.cn)(`min-w-0 shrink-0 grow-0 basis-full`,n===`horizontal`?`pl-4`:`pt-4`,e),...t})}function f({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollPrev:u,canScrollPrev:d}=c();return(0,a.jsxs)(t.t,{"data-slot":`carousel-previous`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -left-12 -translate-y-1/2`:`-top-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowLeft,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Previous slide`})]})}function p({className:e,variant:r=`outline`,size:o=`icon`,...s}){let{orientation:l,scrollNext:u,canScrollNext:d}=c();return(0,a.jsxs)(t.t,{"data-slot":`carousel-next`,variant:r,size:o,className:(0,i.cn)(`absolute size-8 rounded-full`,l===`horizontal`?`top-1/2 -right-12 -translate-y-1/2`:`-bottom-12 left-1/2 -translate-x-1/2 rotate-90`,e),disabled:!d,onClick:u,...s,children:[(0,a.jsx)(n.ArrowRight,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Next slide`})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
2
|
+
//# sourceMappingURL=carousel-BayGB372.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel-BayGB372.cjs","names":["api","Button","ArrowLeft","ArrowRight"],"sources":["../packages/components/ui/carousel.tsx"],"sourcesContent":["'use client';\nimport { createContext, use, useCallback, useEffect, useState } from 'react';\n\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { Button } from '@/components/ui/button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = use(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\n/**\n * Embla-powered carousel that supports horizontal and vertical orientations with keyboard navigation.\n *\n * @example\n * ```tsx\n * import {\n * Carousel, CarouselContent, CarouselItem,\n * CarouselPrevious, CarouselNext,\n * } from '@customafk/lunas-ui/ui/carousel';\n *\n * <Carousel>\n * <CarouselContent>\n * <CarouselItem>Slide 1</CarouselItem>\n * <CarouselItem>Slide 2</CarouselItem>\n * </CarouselContent>\n * <CarouselPrevious />\n * <CarouselNext />\n * </Carousel>\n * ```\n */\nfunction Carousel({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div onKeyDownCapture={handleKeyDown} className={cn('relative', className)} role=\"region\" aria-roledescription=\"carousel\" data-slot=\"carousel\" {...props}>\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\n/** The scrollable track that holds all CarouselItem elements. */\nfunction CarouselContent({ className, ...props }: React.ComponentProps<'div'>) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\" data-slot=\"carousel-content\">\n <div className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)} {...props} />\n </div>\n );\n}\n\n/** A single slide within a CarouselContent; occupies the full width (or height for vertical carousels). */\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n );\n}\n\n/** Circular button positioned to the left (or top for vertical) that scrolls to the previous slide. */\nfunction CarouselPrevious({ className, variant = 'outline', size = 'icon', ...props }: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal' ? 'top-1/2 -left-12 -translate-y-1/2' : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\n/** Circular button positioned to the right (or bottom for vertical) that scrolls to the next slide. */\nfunction CarouselNext({ className, variant = 'outline', size = 'icon', ...props }: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal' ? 'top-1/2 -right-12 -translate-y-1/2' : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport { Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { t as Button } from "./button-D-pWsdxT.cjs";
|
|
2
|
+
import * as react79 from "react";
|
|
3
|
+
import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
|
|
4
|
+
|
|
5
|
+
//#region packages/components/ui/carousel.d.ts
|
|
6
|
+
type CarouselApi = UseEmblaCarouselType[1];
|
|
7
|
+
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
|
|
8
|
+
type CarouselOptions = UseCarouselParameters[0];
|
|
9
|
+
type CarouselPlugin = UseCarouselParameters[1];
|
|
10
|
+
type CarouselProps = {
|
|
11
|
+
opts?: CarouselOptions;
|
|
12
|
+
plugins?: CarouselPlugin;
|
|
13
|
+
orientation?: 'horizontal' | 'vertical';
|
|
14
|
+
setApi?: (api: CarouselApi) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Embla-powered carousel that supports horizontal and vertical orientations with keyboard navigation.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* import {
|
|
22
|
+
* Carousel, CarouselContent, CarouselItem,
|
|
23
|
+
* CarouselPrevious, CarouselNext,
|
|
24
|
+
* } from '@customafk/lunas-ui/ui/carousel';
|
|
25
|
+
*
|
|
26
|
+
* <Carousel>
|
|
27
|
+
* <CarouselContent>
|
|
28
|
+
* <CarouselItem>Slide 1</CarouselItem>
|
|
29
|
+
* <CarouselItem>Slide 2</CarouselItem>
|
|
30
|
+
* </CarouselContent>
|
|
31
|
+
* <CarouselPrevious />
|
|
32
|
+
* <CarouselNext />
|
|
33
|
+
* </Carousel>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
declare function Carousel({
|
|
37
|
+
orientation,
|
|
38
|
+
opts,
|
|
39
|
+
setApi,
|
|
40
|
+
plugins,
|
|
41
|
+
className,
|
|
42
|
+
children,
|
|
43
|
+
...props
|
|
44
|
+
}: React.ComponentProps<'div'> & CarouselProps): react79.JSX.Element;
|
|
45
|
+
/** The scrollable track that holds all CarouselItem elements. */
|
|
46
|
+
declare function CarouselContent({
|
|
47
|
+
className,
|
|
48
|
+
...props
|
|
49
|
+
}: React.ComponentProps<'div'>): react79.JSX.Element;
|
|
50
|
+
/** A single slide within a CarouselContent; occupies the full width (or height for vertical carousels). */
|
|
51
|
+
declare function CarouselItem({
|
|
52
|
+
className,
|
|
53
|
+
...props
|
|
54
|
+
}: React.ComponentProps<'div'>): react79.JSX.Element;
|
|
55
|
+
/** Circular button positioned to the left (or top for vertical) that scrolls to the previous slide. */
|
|
56
|
+
declare function CarouselPrevious({
|
|
57
|
+
className,
|
|
58
|
+
variant,
|
|
59
|
+
size,
|
|
60
|
+
...props
|
|
61
|
+
}: React.ComponentProps<typeof Button>): react79.JSX.Element;
|
|
62
|
+
/** Circular button positioned to the right (or bottom for vertical) that scrolls to the next slide. */
|
|
63
|
+
declare function CarouselNext({
|
|
64
|
+
className,
|
|
65
|
+
variant,
|
|
66
|
+
size,
|
|
67
|
+
...props
|
|
68
|
+
}: React.ComponentProps<typeof Button>): react79.JSX.Element;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { CarouselNext as a, CarouselItem as i, CarouselApi as n, CarouselPrevious as o, CarouselContent as r, Carousel as t };
|
|
71
|
+
//# sourceMappingURL=carousel-Cm4szl4A.d.cts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./button-CCVJTHBI.mjs";import{ArrowLeft as t,ArrowRight as n}from"lucide-react";import{createContext as r,use as i,useCallback as a,useEffect as o,useState as s}from"react";import{cn as c}from"@customafk/react-toolkit/utils";import{jsx as l,jsxs as u}from"react/jsx-runtime";import d from"embla-carousel-react";const f=r(null);function p(){let e=i(f);if(!e)throw Error(`useCarousel must be used within a <Carousel />`);return e}function m({orientation:e=`horizontal`,opts:t,setApi:n,plugins:r,className:i,children:u,...p}){let[m,h]=d({...t,axis:e===`horizontal`?`x`:`y`},r),[g,_]=s(!1),[v,y]=s(!1),b=a(e=>{e&&(_(e.canScrollPrev()),y(e.canScrollNext()))},[]),x=a(()=>{h?.scrollPrev()},[h]),S=a(()=>{h?.scrollNext()},[h]),C=a(e=>{e.key===`ArrowLeft`?(e.preventDefault(),x()):e.key===`ArrowRight`&&(e.preventDefault(),S())},[x,S]);return o(()=>{!h||!n||n(h)},[h,n]),o(()=>{if(h)return b(h),h.on(`reInit`,b),h.on(`select`,b),()=>{h?.off(`select`,b)}},[h,b]),l(f.Provider,{value:{carouselRef:m,api:h,opts:t,orientation:e||(t?.axis===`y`?`vertical`:`horizontal`),scrollPrev:x,scrollNext:S,canScrollPrev:g,canScrollNext:v},children:l(`div`,{onKeyDownCapture:C,className:c(`relative`,i),role:`region`,"aria-roledescription":`carousel`,"data-slot":`carousel`,...p,children:u})})}function h({className:e,...t}){let{carouselRef:n,orientation:r}=p();return l(`div`,{ref:n,className:`overflow-hidden`,"data-slot":`carousel-content`,children:l(`div`,{className:c(`flex`,r===`horizontal`?`-ml-4`:`-mt-4 flex-col`,e),...t})})}function g({className:e,...t}){let{orientation:n}=p();return l(`div`,{role:`group`,"aria-roledescription":`slide`,"data-slot":`carousel-item`,className:c(`min-w-0 shrink-0 grow-0 basis-full`,n===`horizontal`?`pl-4`:`pt-4`,e),...t})}function _({className:n,variant:r=`outline`,size:i=`icon`,...a}){let{orientation:o,scrollPrev:s,canScrollPrev:d}=p();return u(e,{"data-slot":`carousel-previous`,variant:r,size:i,className:c(`absolute size-8 rounded-full`,o===`horizontal`?`top-1/2 -left-12 -translate-y-1/2`:`-top-12 left-1/2 -translate-x-1/2 rotate-90`,n),disabled:!d,onClick:s,...a,children:[l(t,{}),l(`span`,{className:`sr-only`,children:`Previous slide`})]})}function v({className:t,variant:r=`outline`,size:i=`icon`,...a}){let{orientation:o,scrollNext:s,canScrollNext:d}=p();return u(e,{"data-slot":`carousel-next`,variant:r,size:i,className:c(`absolute size-8 rounded-full`,o===`horizontal`?`top-1/2 -right-12 -translate-y-1/2`:`-bottom-12 left-1/2 -translate-x-1/2 rotate-90`,t),disabled:!d,onClick:s,...a,children:[l(n,{}),l(`span`,{className:`sr-only`,children:`Next slide`})]})}export{_ as a,v as i,h as n,g as r,m as t};
|
|
2
|
+
//# sourceMappingURL=carousel-D8xUkFZ-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carousel-D8xUkFZ-.mjs","names":["api"],"sources":["../packages/components/ui/carousel.tsx"],"sourcesContent":["'use client';\nimport { createContext, use, useCallback, useEffect, useState } from 'react';\n\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { Button } from '@/components/ui/button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = use(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\n/**\n * Embla-powered carousel that supports horizontal and vertical orientations with keyboard navigation.\n *\n * @example\n * ```tsx\n * import {\n * Carousel, CarouselContent, CarouselItem,\n * CarouselPrevious, CarouselNext,\n * } from '@customafk/lunas-ui/ui/carousel';\n *\n * <Carousel>\n * <CarouselContent>\n * <CarouselItem>Slide 1</CarouselItem>\n * <CarouselItem>Slide 2</CarouselItem>\n * </CarouselContent>\n * <CarouselPrevious />\n * <CarouselNext />\n * </Carousel>\n * ```\n */\nfunction Carousel({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div onKeyDownCapture={handleKeyDown} className={cn('relative', className)} role=\"region\" aria-roledescription=\"carousel\" data-slot=\"carousel\" {...props}>\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\n/** The scrollable track that holds all CarouselItem elements. */\nfunction CarouselContent({ className, ...props }: React.ComponentProps<'div'>) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\" data-slot=\"carousel-content\">\n <div className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)} {...props} />\n </div>\n );\n}\n\n/** A single slide within a CarouselContent; occupies the full width (or height for vertical carousels). */\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n );\n}\n\n/** Circular button positioned to the left (or top for vertical) that scrolls to the previous slide. */\nfunction CarouselPrevious({ className, variant = 'outline', size = 'icon', ...props }: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal' ? 'top-1/2 -left-12 -translate-y-1/2' : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\n/** Circular button positioned to the right (or bottom for vertical) that scrolls to the next slide. */\nfunction CarouselNext({ className, variant = 'outline', size = 'icon', ...props }: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal' ? 'top-1/2 -right-12 -translate-y-1/2' : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport { Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { t as Button } from "./button-CwxEnAw3.mjs";
|
|
2
|
+
import * as react296 from "react";
|
|
3
|
+
import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
|
|
4
|
+
|
|
5
|
+
//#region packages/components/ui/carousel.d.ts
|
|
6
|
+
type CarouselApi = UseEmblaCarouselType[1];
|
|
7
|
+
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
|
|
8
|
+
type CarouselOptions = UseCarouselParameters[0];
|
|
9
|
+
type CarouselPlugin = UseCarouselParameters[1];
|
|
10
|
+
type CarouselProps = {
|
|
11
|
+
opts?: CarouselOptions;
|
|
12
|
+
plugins?: CarouselPlugin;
|
|
13
|
+
orientation?: 'horizontal' | 'vertical';
|
|
14
|
+
setApi?: (api: CarouselApi) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Embla-powered carousel that supports horizontal and vertical orientations with keyboard navigation.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* import {
|
|
22
|
+
* Carousel, CarouselContent, CarouselItem,
|
|
23
|
+
* CarouselPrevious, CarouselNext,
|
|
24
|
+
* } from '@customafk/lunas-ui/ui/carousel';
|
|
25
|
+
*
|
|
26
|
+
* <Carousel>
|
|
27
|
+
* <CarouselContent>
|
|
28
|
+
* <CarouselItem>Slide 1</CarouselItem>
|
|
29
|
+
* <CarouselItem>Slide 2</CarouselItem>
|
|
30
|
+
* </CarouselContent>
|
|
31
|
+
* <CarouselPrevious />
|
|
32
|
+
* <CarouselNext />
|
|
33
|
+
* </Carousel>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
declare function Carousel({
|
|
37
|
+
orientation,
|
|
38
|
+
opts,
|
|
39
|
+
setApi,
|
|
40
|
+
plugins,
|
|
41
|
+
className,
|
|
42
|
+
children,
|
|
43
|
+
...props
|
|
44
|
+
}: React.ComponentProps<'div'> & CarouselProps): react296.JSX.Element;
|
|
45
|
+
/** The scrollable track that holds all CarouselItem elements. */
|
|
46
|
+
declare function CarouselContent({
|
|
47
|
+
className,
|
|
48
|
+
...props
|
|
49
|
+
}: React.ComponentProps<'div'>): react296.JSX.Element;
|
|
50
|
+
/** A single slide within a CarouselContent; occupies the full width (or height for vertical carousels). */
|
|
51
|
+
declare function CarouselItem({
|
|
52
|
+
className,
|
|
53
|
+
...props
|
|
54
|
+
}: React.ComponentProps<'div'>): react296.JSX.Element;
|
|
55
|
+
/** Circular button positioned to the left (or top for vertical) that scrolls to the previous slide. */
|
|
56
|
+
declare function CarouselPrevious({
|
|
57
|
+
className,
|
|
58
|
+
variant,
|
|
59
|
+
size,
|
|
60
|
+
...props
|
|
61
|
+
}: React.ComponentProps<typeof Button>): react296.JSX.Element;
|
|
62
|
+
/** Circular button positioned to the right (or bottom for vertical) that scrolls to the next slide. */
|
|
63
|
+
declare function CarouselNext({
|
|
64
|
+
className,
|
|
65
|
+
variant,
|
|
66
|
+
size,
|
|
67
|
+
...props
|
|
68
|
+
}: React.ComponentProps<typeof Button>): react296.JSX.Element;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { CarouselNext as a, CarouselItem as i, CarouselApi as n, CarouselPrevious as o, CarouselContent as r, Carousel as t };
|
|
71
|
+
//# sourceMappingURL=carousel-Y5TlCJ96.d.mts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react160 from "react";
|
|
2
|
+
import { Checkbox } from "radix-ui";
|
|
3
|
+
|
|
4
|
+
//#region packages/components/ui/checkbox.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Accessible checkbox input built on Radix UI's Checkbox primitive with checked, indeterminate, focus, invalid, and read-only states.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* import { Checkbox } from '@customafk/lunas-ui/ui/checkbox';
|
|
12
|
+
* import { Label } from '@customafk/lunas-ui/ui/label';
|
|
13
|
+
*
|
|
14
|
+
* <div className="flex items-center gap-2">
|
|
15
|
+
* <Checkbox id="terms" />
|
|
16
|
+
* <Label htmlFor="terms">Accept terms and conditions</Label>
|
|
17
|
+
* </div>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
declare function Checkbox$1({
|
|
21
|
+
className,
|
|
22
|
+
...props
|
|
23
|
+
}: React.ComponentProps<typeof Checkbox.Root>): react160.JSX.Element;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Checkbox$1 as t };
|
|
26
|
+
//# sourceMappingURL=checkbox-Bbn3OZQd.d.mts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-350yNsax.cjs`);let t=require(`lucide-react`),n=require(`@customafk/react-toolkit/utils`),r=require(`react/jsx-runtime`),i=require(`radix-ui`);function a({className:e,...a}){return(0,r.jsx)(i.Checkbox.Root,{"data-slot":`checkbox`,className:(0,n.cn)(`peer border-border`,`size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all`,`disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:border-primary-strong`,`focus-visible:ring-3`,`focus-visible:ring-primary-weak`,`aria-invalid:border-danger aria-invalid:ring-danger-weak`,`aria-readonly:bg-muted-muted`,`aria-readonly:pointer-events-none`,`data-[state=checked]:aria-readonly:bg-muted-muted`,`data-[state=checked]:aria-readonly:border-border`,`data-[state=checked]:aria-readonly:text-text-positive-strong`,`data-[state=checked]:bg-primary`,`data-[state=checked]:border-primary-strong`,`data-[state=checked]:text-text-negative-strong`,e),...a,children:(0,r.jsx)(i.Checkbox.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,r.jsx)(t.CheckIcon,{size:14})})})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
+
//# sourceMappingURL=checkbox-Bt4BgYMB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-Bt4BgYMB.cjs","names":["CheckboxPrimitive","CheckIcon"],"sources":["../packages/components/ui/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\n\n/**\n * Accessible checkbox input built on Radix UI's Checkbox primitive with checked, indeterminate, focus, invalid, and read-only states.\n *\n * @example\n * ```tsx\n * import { Checkbox } from '@customafk/lunas-ui/ui/checkbox';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <div className=\"flex items-center gap-2\">\n * <Checkbox id=\"terms\" />\n * <Label htmlFor=\"terms\">Accept terms and conditions</Label>\n * </div>\n * ```\n */\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-border',\n 'size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-3',\n 'focus-visible:ring-primary-weak',\n 'aria-invalid:border-danger aria-invalid:ring-danger-weak',\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:pointer-events-none',\n 'data-[state=checked]:aria-readonly:bg-muted-muted',\n 'data-[state=checked]:aria-readonly:border-border',\n 'data-[state=checked]:aria-readonly:text-text-positive-strong',\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:border-primary-strong',\n 'data-[state=checked]:text-text-negative-strong',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"flex items-center justify-center text-current transition-none\">\n <CheckIcon size={14} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":"uKAsBA,SAAS,EAAS,CAAE,YAAW,GAAG,GAA8D,CAC9F,OACE,EAAA,EAAA,KAACA,EAAAA,SAAkB,KAAA,CACjB,YAAU,WACV,WAAA,EAAA,EAAA,IACE,qBACA,sFACA,kDACA,sCACA,uBACA,kCACA,2DACA,+BACA,oCACA,oDACA,mDACA,+DACA,kCACA,6CACA,iDACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,SAAkB,UAAA,CAAU,YAAU,qBAAqB,UAAU,0EACpE,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAU,KAAM,GAAA,CAAM,EACK,EACP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CheckIcon as e}from"lucide-react";import{cn as t}from"@customafk/react-toolkit/utils";import{jsx as n}from"react/jsx-runtime";import{Checkbox as r}from"radix-ui";function i({className:i,...a}){return n(r.Root,{"data-slot":`checkbox`,className:t(`peer border-border`,`size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all`,`disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:border-primary-strong`,`focus-visible:ring-3`,`focus-visible:ring-primary-weak`,`aria-invalid:border-danger aria-invalid:ring-danger-weak`,`aria-readonly:bg-muted-muted`,`aria-readonly:pointer-events-none`,`data-[state=checked]:aria-readonly:bg-muted-muted`,`data-[state=checked]:aria-readonly:border-border`,`data-[state=checked]:aria-readonly:text-text-positive-strong`,`data-[state=checked]:bg-primary`,`data-[state=checked]:border-primary-strong`,`data-[state=checked]:text-text-negative-strong`,i),...a,children:n(r.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:n(e,{size:14})})})}export{i as t};
|
|
2
|
+
//# sourceMappingURL=checkbox-CBhlnGGv.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-CBhlnGGv.mjs","names":["Checkbox","CheckboxPrimitive"],"sources":["../packages/components/ui/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\n\n/**\n * Accessible checkbox input built on Radix UI's Checkbox primitive with checked, indeterminate, focus, invalid, and read-only states.\n *\n * @example\n * ```tsx\n * import { Checkbox } from '@customafk/lunas-ui/ui/checkbox';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <div className=\"flex items-center gap-2\">\n * <Checkbox id=\"terms\" />\n * <Label htmlFor=\"terms\">Accept terms and conditions</Label>\n * </div>\n * ```\n */\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-border',\n 'size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-3',\n 'focus-visible:ring-primary-weak',\n 'aria-invalid:border-danger aria-invalid:ring-danger-weak',\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:pointer-events-none',\n 'data-[state=checked]:aria-readonly:bg-muted-muted',\n 'data-[state=checked]:aria-readonly:border-border',\n 'data-[state=checked]:aria-readonly:text-text-positive-strong',\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:border-primary-strong',\n 'data-[state=checked]:text-text-negative-strong',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"flex items-center justify-center text-current transition-none\">\n <CheckIcon size={14} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":"yKAsBA,SAASA,EAAS,CAAE,YAAW,GAAG,GAA8D,CAC9F,OACE,EAACC,EAAkB,KAAA,CACjB,YAAU,WACV,UAAW,EACT,qBACA,sFACA,kDACA,sCACA,uBACA,kCACA,2DACA,+BACA,oCACA,oDACA,mDACA,+DACA,kCACA,6CACA,iDACA,EACD,CACD,GAAI,WAEJ,EAACA,EAAkB,UAAA,CAAU,YAAU,qBAAqB,UAAU,yEACpE,EAAC,EAAA,CAAU,KAAM,GAAA,CAAM,EACK,EACP"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react63 from "react";
|
|
2
|
+
import { Checkbox } from "radix-ui";
|
|
3
|
+
|
|
4
|
+
//#region packages/components/ui/checkbox.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Accessible checkbox input built on Radix UI's Checkbox primitive with checked, indeterminate, focus, invalid, and read-only states.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* import { Checkbox } from '@customafk/lunas-ui/ui/checkbox';
|
|
12
|
+
* import { Label } from '@customafk/lunas-ui/ui/label';
|
|
13
|
+
*
|
|
14
|
+
* <div className="flex items-center gap-2">
|
|
15
|
+
* <Checkbox id="terms" />
|
|
16
|
+
* <Label htmlFor="terms">Accept terms and conditions</Label>
|
|
17
|
+
* </div>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
declare function Checkbox$1({
|
|
21
|
+
className,
|
|
22
|
+
...props
|
|
23
|
+
}: React.ComponentProps<typeof Checkbox.Root>): react63.JSX.Element;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Checkbox$1 as t };
|
|
26
|
+
//# sourceMappingURL=checkbox-CccXRTYH.d.cts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{XIcon as e}from"lucide-react";import{cn as t}from"@customafk/react-toolkit/utils";import{jsx as n}from"react/jsx-runtime";const r=({className:r,...i})=>n(`button`,{className:t(`flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60`,r),...i,children:n(e,{size:24})});export{r as t};
|
|
2
|
+
//# sourceMappingURL=close-Co-WLsSG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-Co-WLsSG.mjs","names":["CloseButton: React.FC<React.ComponentProps<'button'>>"],"sources":["../packages/components/ui/buttons/close.tsx"],"sourcesContent":["import { XIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport const CloseButton: React.FC<React.ComponentProps<'button'>> = ({ className, ...props }) => {\n return (\n <button\n className={cn(\n 'flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60',\n className\n )}\n {...props}\n >\n <XIcon size={24} />\n </button>\n );\n};\n"],"mappings":"iIAIA,MAAaA,GAAyD,CAAE,YAAW,GAAG,KAElF,EAAC,SAAA,CACC,UAAW,EACT,qQACA,EACD,CACD,GAAI,WAEJ,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-350yNsax.cjs`);let t=require(`lucide-react`),n=require(`@customafk/react-toolkit/utils`),r=require(`react/jsx-runtime`);const i=({className:e,...i})=>(0,r.jsx)(`button`,{className:(0,n.cn)(`flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60`,e),...i,children:(0,r.jsx)(t.XIcon,{size:24})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
2
|
+
//# sourceMappingURL=close-DYBVx-8O.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-DYBVx-8O.cjs","names":["CloseButton: React.FC<React.ComponentProps<'button'>>","XIcon"],"sources":["../packages/components/ui/buttons/close.tsx"],"sourcesContent":["import { XIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport const CloseButton: React.FC<React.ComponentProps<'button'>> = ({ className, ...props }) => {\n return (\n <button\n className={cn(\n 'flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60',\n className\n )}\n {...props}\n >\n <XIcon size={24} />\n </button>\n );\n};\n"],"mappings":"iJAIA,MAAaA,GAAyD,CAAE,YAAW,GAAG,MAElF,EAAA,EAAA,KAAC,SAAA,CACC,WAAA,EAAA,EAAA,IACE,qQACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAACC,EAAAA,MAAAA,CAAM,KAAM,GAAA,CAAM,EACZ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./dist-DVrfqn8H.mjs";import{t}from"./button-CCVJTHBI.mjs";import{i as n,n as r,r as i,t as a}from"./tooltip-BBEcyuAE.mjs";import{n as o,r as s,t as c}from"./avatar-tjgTFpVU.mjs";import{t as l}from"./separator-BjRgoiEx.mjs";import{i as u,o as d,r as f,s as p,t as m}from"./sheet-Bk6mK6TN.mjs";import{a as h,h as g,i as _,r as v,t as y,u as b}from"./dropdown-menu-DhKquziD.mjs";import{t as x}from"./input-CFsouxvo.mjs";import{EarthIcon as S,LogOutIcon as C,MenuIcon as w,ShoppingCartIcon as T,UserRoundIcon as E}from"lucide-react";import{createContext as D,memo as O,useCallback as k,useContext as ee,useEffect as te,useMemo as ne,useState as A}from"react";import{cn as j}from"@customafk/react-toolkit/utils";import{cva as M}from"class-variance-authority";import{Fragment as N,jsx as P,jsxs as F}from"react/jsx-runtime";import{colorHashLight as I}from"@customafk/react-toolkit/color-hash";import{useIsMobile as re}from"@customafk/react-toolkit/hooks/useMobile";const L=D(null);function R(){let e=ee(L);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function ie({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let c=re(),[l,u]=A(!1),[d,f]=A(e),p=t??d,m=k(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[n,p]),h=k(()=>c?u(e=>!e):m(e=>!e),[c,m]);te(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[h]);let g=p?`expanded`:`collapsed`,_=ne(()=>({state:g,open:p,setOpen:m,isMobile:c,openMobile:l,setOpenMobile:u,toggleSidebar:h}),[g,p,m,c,l,h]);return P(L.Provider,{value:_,children:P(i,{delayDuration:0,children:P(`section`,{"data-slot":`layout-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:j(`relative group/sidebar-wrapper flex h-dvh bg-sidebar`,r),...s,children:o})})})}const z=O(({side:e=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o})=>{let{isMobile:s,state:c,openMobile:l,setOpenMobile:h,toggleSidebar:g}=R(),_=k(e=>{g(),e.preventDefault(),e.stopPropagation()},[g]);return r===`none`?P(`aside`,{"data-slot":`sidebar`,className:j(`flex w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,i),...o,children:a}):s?P(m,{open:l,onOpenChange:h,...o,children:F(f,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,style:{"--sidebar-width":`18rem`},side:e,className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground sm:max-w-3xs [&>button]:hidden`,children:[F(d,{className:`sr-only`,children:[P(p,{children:`Sidebar`}),P(u,{children:`Displays the mobile sidebar.`})]}),F(`div`,{className:`flex size-full flex-col`,children:[F(`div`,{className:`flex flex-0 items-center gap-x-2 border-b border-border-weak p-2 pr-4`,children:[F(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`muted`,size:`icon`,className:j(`size-10 rounded-full`,i),onClick:_,children:[P(w,{className:`size-6!`}),P(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]}),P(`div`,{className:`ml-2 flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:P(T,{size:20})}),F(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[P(`span`,{className:`truncate font-medium`,children:`Lunas Store`}),P(`span`,{className:`truncate text-xs`,children:`Established 2023`})]})]}),P(`div`,{className:`flex flex-1 flex-col p-2`,children:a})]})]})}):F(`aside`,{className:`group peer hidden bg-card text-sidebar-foreground md:block`,"data-state":c,"data-collapsible":c===`collapsed`?r:``,"data-variant":n,"data-side":e,"data-slot":`sidebar`,children:[P(`div`,{"data-slot":`sidebar-gap`,className:j(`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]`,`w-(--sidebar-width)`,`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`)}),P(`div`,{"data-slot":`sidebar-container`,className:j(`hidden md:flex shadow-nav`,`fixed left-0 inset-y-0 p-2`,`top-[calc(var(--header-height)+0.5rem)] z-10`,`w-(--sidebar-width)`,`transition-all duration-200 ease-linear`,`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`,i),...o,children:P(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`relative flex size-full flex-col`,children:a})})]})});z.displayName=`CMSLayoutSidebar`;const B=O(({className:e,children:t,...n})=>F(`main`,{"data-slot":`sidebar-inset`,className:j(`relative flex w-full flex-1 flex-col`,e),...n,children:[P(`div`,{className:`h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]`}),P(`div`,{className:`relative flex-1 size-full overflow-auto`,children:t})]}));B.displayName=`CMSLayoutMain`;const V=O(({className:e,...t})=>P(x,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:j(`h-8 w-full bg-background shadow-none`,e),...t}));V.displayName=`SidebarInput`;const H=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:j(`flex flex-col gap-2 p-2`,e),...t}));H.displayName=`SidebarHeader`;const U=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:j(`flex flex-col gap-2`,e),...t}));U.displayName=`SidebarFooter`;const W=O(({className:e,...t})=>P(l,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:j(`mx-2 w-auto bg-sidebar-border`,e),...t}));W.displayName=`SidebarSeparator`;const G=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:j(`flex flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t}));G.displayName=`SidebarContent`;const K=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:j(`relative flex w-full flex-col`,e),...t}));K.displayName=`SidebarGroup`;const q=O(({className:t,asChild:n=!1,...r})=>P(n?e:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:j(`flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity,color] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0`,t),...r}));q.displayName=`SidebarGroupLabel`;const J=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:j(`w-full text-sm`,e),...t}));J.displayName=`SidebarGroupContent`;const Y=O(({className:e,...t})=>P(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:j(`flex w-full min-w-0 flex-col gap-1`,e),...t}));Y.displayName=`SidebarMenu`;const X=O(({className:e,...t})=>P(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:j(`group/menu-item relative`,e),...t}));X.displayName=`SidebarMenuItem`;const ae=M([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,background-color,width,height,padding]`,`active:bg-sidebar-accent active:text-sidebar-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-12! group-data-[collapsible=icon]:p-3! group-data-[collapsible=icon]:gap-3!`,`[&>svg]:size-6 [&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-10 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}}),Z=O(({asChild:t=!1,isActive:i=!1,variant:o=`default`,size:s=`default`,tooltip:c,className:l,...u})=>{let d=t?e:`button`,{isMobile:f,state:p}=R(),m=k(e=>{u.onClick?.(),e.preventDefault(),e.stopPropagation()},[u.onClick]),h=P(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":i,className:j(ae({variant:o,size:s}),l),onClick:m,...u});return c?(typeof c==`string`&&(c={children:c}),F(a,{children:[P(n,{asChild:!0,children:h}),P(r,{side:`right`,align:`center`,hidden:p!==`collapsed`||f,...c})]})):h});Z.displayName=`SidebarMenuButton`;const oe=({i18nText:e,onChangeToEnLocale:n,onChangeToViLocale:r,user:i,onLogout:a,logoutLabel:l=`Log out`})=>{let{toggleSidebar:u}=R(),d=k(e=>{e.preventDefault(),e.stopPropagation(),u()},[u]),f=k(e=>{e.preventDefault(),e.stopPropagation(),n?.()},[n]),p=k(e=>{e.preventDefault(),e.stopPropagation(),r?.()},[r]),m=i?I.hex(i.name):void 0;return F(`header`,{"data-slot":`cms-layout-header`,className:j(`bg-card`,`h-(--header-height)`,`sm:h-[calc(var(--header-height)+0.5rem)] sm:px-4 sm:pr-6`,`absolute inset-x-0 top-0 z-20 gap-2 px-2 pr-4.5`,`flex items-center shadow-nav`,`transition-[height] ease-linear`),children:[F(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`muted`,size:`icon`,className:`size-10 rounded-full transition-all hover:text-text-positive`,onClick:d,children:[P(w,{className:`size-6!`}),P(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]}),F(`div`,{className:`flex flex-1 gap-x-2 sm:ml-2.5`,children:[P(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:P(T,{size:20})}),F(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[P(`span`,{className:`truncate font-medium`,children:`Lunas Enterprise`}),P(`span`,{className:`truncate text-xs`,children:`Established 2025`})]})]}),F(`div`,{className:`flex items-center gap-1`,children:[i&&F(y,{children:[P(g,{asChild:!0,children:F(t,{variant:`ghost`,color:`muted`,className:`h-9 gap-2.5 rounded-full px-2 transition-all`,children:[F(c,{className:`size-7 shrink-0`,children:[P(s,{src:i.avatarUrl,alt:i.name}),P(o,{style:{backgroundColor:m},children:P(E,{size:14,className:`text-white`})})]}),F(`div`,{className:`hidden flex-col items-start sm:flex`,children:[P(`span`,{className:`max-w-36 truncate text-xs font-semibold leading-tight text-text-positive`,children:i.name}),i.email&&P(`span`,{className:`max-w-36 truncate text-xs leading-tight text-text-positive-weak`,children:i.email})]})]})}),F(v,{align:`end`,className:`w-60`,children:[F(`div`,{className:`flex flex-col items-center gap-2 px-4 py-4 text-center`,children:[F(c,{className:`size-12`,children:[P(s,{src:i.avatarUrl,alt:i.name}),P(o,{style:{backgroundColor:m},children:P(E,{size:22,className:`text-white`})})]}),F(`div`,{className:`flex min-w-0 w-full flex-col items-center gap-0.5`,children:[P(`p`,{className:`truncate text-sm font-semibold text-text-positive`,children:i.name}),i.email&&P(`p`,{className:`truncate text-xs text-text-positive-weak`,children:i.email}),i.role&&P(`span`,{className:`mt-1 w-fit rounded-sm border border-border bg-secondary-muted px-2 py-0.5 text-xs font-medium text-text-positive-weak`,children:i.role})]})]}),a&&F(N,{children:[P(b,{}),P(_,{children:F(h,{className:`text-danger focus:text-danger`,onClick:a,children:[P(C,{className:`size-4`}),l]})})]})]})]}),i&&(n||r)&&P(`div`,{className:`mx-1 h-5 w-px bg-border`}),(n||r)&&F(y,{children:[P(g,{asChild:!0,children:F(t,{"data-slot":`locale-trigger`,variant:`ghost`,color:`muted`,className:`gap-x-1 rounded-full transition-all hover:text-text-positive`,children:[P(S,{className:`size-6!`}),e]})}),P(v,{align:`end`,children:F(_,{children:[P(h,{onClick:f,children:`EN - English`}),P(h,{onClick:p,children:`VI - Vietnamese`})]})})]})]})]})},Q=O(({id:e,label:t,icon:n,activeNavItemId:r,onClick:i})=>P(X,{children:F(Z,{isActive:e===r,onClick:i,children:[n,t]})}));Q.displayName=`SidebarContentGroupItem`;const $=O(({id:e,label:t,children:n})=>F(K,{children:[P(q,{children:t}),P(J,{children:P(Y,{children:n})})]}));$.displayName=`SidebarContentGroup`;const se=({i18nText:e,activeNavItemId:t,sidebar:n,children:r,onChangeToEnLocale:i,onChangeToViLocale:a,onLogout:o,logoutLabel:s=`Log out`,copyright:c=`Copyright © ${new Date().getFullYear()}, Lunas.`,user:l})=>{let u=n?.groupcontent??[];return F(ie,{children:[P(oe,{i18nText:e,onChangeToEnLocale:i,onChangeToViLocale:a,user:l,onLogout:o,logoutLabel:s}),F(z,{variant:`inset`,collapsible:`icon`,children:[P(G,{children:u.map(e=>P($,{id:e.id,label:e.label,children:e.items.map(e=>P(Q,{id:e.id,activeNavItemId:t,label:e.label,icon:e.icon,onClick:e.onClick},e.id))},e.id))}),P(U,{children:F(Y,{children:[P(X,{children:F(Z,{className:`border border-border`,onClick:o,children:[P(C,{className:`text-text-positive-weak`}),s]})}),P(X,{className:`mt-2 border-t border-t-border`,children:P(`p`,{className:`pt-2 text-center text-xs text-text-positive-subtle`,children:c})})]})})]}),P(B,{children:r})]})};export{se as t};
|
|
2
|
+
//# sourceMappingURL=cms-layout-B7lc5hIX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cms-layout-B7lc5hIX.mjs","names":["open","CMSLayoutHeader: React.FC<{\n i18nText?: string;\n onChangeToEnLocale?: () => void;\n onChangeToViLocale?: () => void;\n user?: CMSLayoutUser;\n onLogout?: () => void;\n logoutLabel?: string;\n}>","CMSLayout: React.FC<React.PropsWithChildren<CMSLayoutProps>>"],"sources":["../packages/components/layouts/cms-layout/components/sidebar.tsx","../packages/components/layouts/cms-layout/components/header.tsx","../packages/components/layouts/cms-layout/index.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, memo, useCallback, useContext, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon, PanelLeftIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\nfunction CMSLayoutProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n // biome-ignore lint/suspicious/noDocumentCookie: persists sidebar state across page loads\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n const toggleSidebar = useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({ state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar }),\n [state, open, setOpen, isMobile, openMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <section\n data-slot=\"layout-wrapper\"\n style={{ '--sidebar-width': SIDEBAR_WIDTH, '--sidebar-width-icon': SIDEBAR_WIDTH_ICON, ...style } as React.CSSProperties}\n className={cn('relative group/sidebar-wrapper flex h-dvh bg-sidebar', className)}\n {...props}\n >\n {children}\n </section>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nconst CMSLayoutSidebar = memo(\n ({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n }: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n }) => {\n const { isMobile, state, openMobile, setOpenMobile, toggleSidebar } = useSidebar();\n\n const handleToggleSidebar = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n event => {\n toggleSidebar();\n event.preventDefault();\n event.stopPropagation();\n },\n [toggleSidebar]\n );\n\n if (collapsible === 'none') {\n return (\n <aside data-slot=\"sidebar\" className={cn('flex w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground', className)} {...props}>\n {children}\n </aside>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n style={{ '--sidebar-width': SIDEBAR_WIDTH_MOBILE } as React.CSSProperties}\n side={side}\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground sm:max-w-3xs [&>button]:hidden\"\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex size-full flex-col\">\n <div className=\"flex flex-0 items-center gap-x-2 border-b border-border-weak p-2 pr-4\">\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"muted\"\n size=\"icon\"\n className={cn('size-10 rounded-full', className)}\n onClick={handleToggleSidebar}\n >\n <MenuIcon className=\"size-6!\" />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n <div className=\"ml-2 flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <ShoppingCartIcon size={20} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">Lunas Store</span>\n <span className=\"truncate text-xs\">Established 2023</span>\n </div>\n </div>\n <div className=\"flex flex-1 flex-col p-2\">{children}</div>\n </div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <aside\n className=\"group peer hidden bg-card text-sidebar-foreground md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'bg-transparent',\n 'transition-[width] duration-200 ease-linear',\n 'h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]',\n 'w-(--sidebar-width)',\n 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'hidden md:flex shadow-nav',\n 'fixed left-0 inset-y-0 p-2',\n 'top-[calc(var(--header-height)+0.5rem)] z-10',\n 'w-(--sidebar-width)',\n 'transition-all duration-200 ease-linear',\n 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]',\n className\n )}\n {...props}\n >\n <div data-sidebar=\"sidebar\" data-slot=\"sidebar-inner\" className=\"relative flex size-full flex-col\">\n {children}\n </div>\n </div>\n </aside>\n );\n }\n);\nCMSLayoutSidebar.displayName = 'CMSLayoutSidebar';\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nconst CMSLayoutMain = memo(({ className, children, ...props }: React.ComponentProps<'main'>) => {\n return (\n <main data-slot=\"sidebar-inset\" className={cn('relative flex w-full flex-1 flex-col', className)} {...props}>\n <div className=\"h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]\" />\n <div className=\"relative flex-1 size-full overflow-auto\">{children}</div>\n </main>\n );\n});\nCMSLayoutMain.displayName = 'CMSLayoutMain';\n\nconst SidebarInput = memo(({ className, ...props }: React.ComponentProps<typeof Input>) => {\n return <Input data-slot=\"sidebar-input\" data-sidebar=\"input\" className={cn('h-8 w-full bg-background shadow-none', className)} {...props} />;\n});\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2', className)} {...props} />;\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = memo(({ className, ...props }: React.ComponentProps<typeof Separator>) => {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('mx-2 w-auto bg-sidebar-border', className)} {...props} />;\n});\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full flex-col', className)} {...props} />;\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = memo(({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity,color] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nfunction SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-[background-color,color,transform] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2',\n '[&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nconst SidebarGroupContent = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />;\n});\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = memo(({ className, ...props }: React.ComponentProps<'ul'>) => {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n});\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = memo(({ className, ...props }: React.ComponentProps<'li'>) => {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n});\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'truncate text-left font-normal',\n 'transition-[color,background-color,width,height,padding]',\n 'active:bg-sidebar-accent active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-primary-muted data-[active=true]:text-sidebar-primary',\n 'data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-12! group-data-[collapsible=icon]:p-3! group-data-[collapsible=icon]:gap-3!',\n '[&>svg]:size-6 [&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-10 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst SidebarMenuButton = memo(\n ({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n }: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n onClick?: () => void;\n } & VariantProps<typeof sidebarMenuButtonVariants>) => {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n event => {\n props.onClick?.();\n event.preventDefault();\n event.stopPropagation();\n },\n [props.onClick]\n );\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n onClick={handleClick}\n {...props}\n />\n );\n\n if (!tooltip) return button;\n\n if (typeof tooltip === 'string') {\n tooltip = { children: tooltip };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n }\n);\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-[background-color,color,opacity] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums transition-colors',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n const width = useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);\n\n return (\n <div data-slot=\"sidebar-menu-skeleton\" data-sidebar=\"menu-skeleton\" className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)} {...props}>\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={{ '--skeleton-width': width } as React.CSSProperties}\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />;\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-[background-color,color] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n CMSLayoutSidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n CMSLayoutMain,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n CMSLayoutProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // biome-ignore lint/style/useComponentExportOnlyModules: true\n useSidebar,\n};\n","'use client';\n\nimport { useCallback } from 'react';\n\nimport { EarthIcon, LogOutIcon, MenuIcon, ShoppingCartIcon, UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';\nimport { Button } from '@/components/ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\n\nimport { useSidebar } from './sidebar';\n\nexport type CMSLayoutUser = {\n /** Display name shown in the header and user dropdown. */\n name: string;\n /** Email address shown below the name in the dropdown. */\n email?: string;\n /** Role or position shown as a muted label in the dropdown. */\n role?: string;\n /** Optional avatar image URL; falls back to a color-hashed icon. */\n avatarUrl?: string;\n};\n\nexport const CMSLayoutHeader: React.FC<{\n i18nText?: string;\n onChangeToEnLocale?: () => void;\n onChangeToViLocale?: () => void;\n user?: CMSLayoutUser;\n onLogout?: () => void;\n logoutLabel?: string;\n}> = ({ i18nText, onChangeToEnLocale, onChangeToViLocale, user, onLogout, logoutLabel = 'Log out' }) => {\n const { toggleSidebar } = useSidebar();\n\n const handleToggleSidebar = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n toggleSidebar();\n },\n [toggleSidebar]\n );\n\n const handleEnLocale = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n onChangeToEnLocale?.();\n },\n [onChangeToEnLocale]\n );\n\n const handleViLocale = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n onChangeToViLocale?.();\n },\n [onChangeToViLocale]\n );\n\n const avatarBg = user ? colorHashLight.hex(user.name) : undefined;\n\n return (\n <header\n data-slot=\"cms-layout-header\"\n className={cn(\n 'bg-card',\n 'h-(--header-height)',\n 'sm:h-[calc(var(--header-height)+0.5rem)] sm:px-4 sm:pr-6',\n 'absolute inset-x-0 top-0 z-20 gap-2 px-2 pr-4.5',\n 'flex items-center shadow-nav',\n 'transition-[height] ease-linear'\n )}\n >\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"muted\"\n size=\"icon\"\n className=\"size-10 rounded-full transition-all hover:text-text-positive\"\n onClick={handleToggleSidebar}\n >\n <MenuIcon className=\"size-6!\" />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n\n <div className=\"flex flex-1 gap-x-2 sm:ml-2.5\">\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <ShoppingCartIcon size={20} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">Lunas Enterprise</span>\n <span className=\"truncate text-xs\">Established 2025</span>\n </div>\n </div>\n\n <div className=\"flex items-center gap-1\">\n {user && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" color=\"muted\" className=\"h-9 gap-2.5 rounded-full px-2 transition-all\">\n <Avatar className=\"size-7 shrink-0\">\n <AvatarImage src={user.avatarUrl} alt={user.name} />\n <AvatarFallback style={{ backgroundColor: avatarBg }}>\n <UserRoundIcon size={14} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"hidden flex-col items-start sm:flex\">\n <span className=\"max-w-36 truncate text-xs font-semibold leading-tight text-text-positive\">{user.name}</span>\n {user.email && <span className=\"max-w-36 truncate text-xs leading-tight text-text-positive-weak\">{user.email}</span>}\n </div>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-60\">\n <div className=\"flex flex-col items-center gap-2 px-4 py-4 text-center\">\n <Avatar className=\"size-12\">\n <AvatarImage src={user.avatarUrl} alt={user.name} />\n <AvatarFallback style={{ backgroundColor: avatarBg }}>\n <UserRoundIcon size={22} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"flex min-w-0 w-full flex-col items-center gap-0.5\">\n <p className=\"truncate text-sm font-semibold text-text-positive\">{user.name}</p>\n {user.email && <p className=\"truncate text-xs text-text-positive-weak\">{user.email}</p>}\n {user.role && (\n <span className=\"mt-1 w-fit rounded-sm border border-border bg-secondary-muted px-2 py-0.5 text-xs font-medium text-text-positive-weak\">\n {user.role}\n </span>\n )}\n </div>\n </div>\n {onLogout && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <DropdownMenuItem className=\"text-danger focus:text-danger\" onClick={onLogout}>\n <LogOutIcon className=\"size-4\" />\n {logoutLabel}\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n\n {user && (onChangeToEnLocale || onChangeToViLocale) && <div className=\"mx-1 h-5 w-px bg-border\" />}\n\n {(onChangeToEnLocale || onChangeToViLocale) && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button data-slot=\"locale-trigger\" variant=\"ghost\" color=\"muted\" className=\"gap-x-1 rounded-full transition-all hover:text-text-positive\">\n <EarthIcon className=\"size-6!\" />\n {i18nText}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={handleEnLocale}>EN - English</DropdownMenuItem>\n <DropdownMenuItem onClick={handleViLocale}>VI - Vietnamese</DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n </header>\n );\n};\n","'use client';\n\nimport { memo } from 'react';\n\nimport { LogOutIcon } from 'lucide-react';\n\nimport { CMSLayoutHeader, type CMSLayoutUser } from './components/header';\nimport {\n CMSLayoutSidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupContent,\n SidebarGroupLabel,\n CMSLayoutMain,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n CMSLayoutProvider,\n} from './components/sidebar';\n\ntype NavItem = {\n /** Unique identifier for the nav item, used as React key and for active-state comparison. */\n id: string;\n /** Human-readable label rendered inside the sidebar button. */\n label: string;\n /** Optional icon element rendered to the left of the label. */\n icon?: React.ReactNode;\n /** Callback fired when the sidebar button is clicked. */\n onClick?: () => void;\n};\n\ntype NavGroup = {\n /** Unique identifier for the group, used as React key. */\n id: string;\n /** Optional section heading rendered above the group's items. */\n label?: string;\n /** Navigation items that belong to this group. */\n items: NavItem[];\n};\n\nexport type { CMSLayoutUser };\n\nexport type CMSLayoutProps = {\n /** Text label used by the header for language-toggle or i18n display. */\n i18nText?: string;\n /** ID of the currently active navigation item; matched against `NavItem.id` to highlight the active button. */\n activeNavItemId?: string;\n /** Sidebar navigation definition; omitting this prop renders an empty sidebar. */\n sidebar?: { groupcontent: NavGroup[] };\n /** Callback fired when the logout button is clicked. */\n onLogout?: () => void;\n /** Callback fired when the user switches the UI locale to English. */\n onChangeToEnLocale?: () => void;\n /** Callback fired when the user switches the UI locale to Vietnamese. */\n onChangeToViLocale?: () => void;\n /**\n * Label displayed on the logout button.\n * @default 'Log out'\n */\n logoutLabel?: string;\n /**\n * Copyright string shown at the bottom of the sidebar.\n * @default `Copyright © <current year>, Lunas.`\n */\n copyright?: string;\n /** Authenticated user shown in the header avatar dropdown. Omit to hide the user menu. */\n user?: CMSLayoutUser;\n};\n\nconst SidebarContentGroupItem = memo<NavItem & { activeNavItemId?: string }>(({ id, label, icon, activeNavItemId, onClick }) => (\n <SidebarMenuItem>\n <SidebarMenuButton isActive={id === activeNavItemId} onClick={onClick}>\n {icon}\n {label}\n </SidebarMenuButton>\n </SidebarMenuItem>\n));\nSidebarContentGroupItem.displayName = 'SidebarContentGroupItem';\n\nconst SidebarContentGroup = memo<React.PropsWithChildren<Omit<NavGroup, 'items'>>>(({ id, label, children }) => (\n <SidebarGroup>\n <SidebarGroupLabel>{label}</SidebarGroupLabel>\n <SidebarGroupContent>\n <SidebarMenu>{children}</SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n));\nSidebarContentGroup.displayName = 'SidebarContentGroup';\n\n/**\n * Full-page CMS application shell with a collapsible inset sidebar, header, and main content area.\n *\n * @example\n * ```tsx\n * import { CMSLayout } from '@customafk/lunas-ui/layouts/cms-layout';\n * import { LayoutDashboardIcon } from 'lucide-react';\n *\n * <CMSLayout\n * activeNavItemId=\"dashboard\"\n * sidebar={{\n * groupcontent: [\n * {\n * id: 'main',\n * label: 'Main',\n * items: [\n * { id: 'dashboard', label: 'Dashboard', icon: <LayoutDashboardIcon />, onClick: () => router.push('/') },\n * ],\n * },\n * ],\n * }}\n * onLogout={() => signOut()}\n * >\n * <DashboardPage />\n * </CMSLayout>\n * ```\n */\nexport const CMSLayout: React.FC<React.PropsWithChildren<CMSLayoutProps>> = ({\n i18nText,\n activeNavItemId,\n sidebar,\n children,\n onChangeToEnLocale,\n onChangeToViLocale,\n onLogout,\n logoutLabel = 'Log out',\n copyright = `Copyright © ${new Date().getFullYear()}, Lunas.`,\n user,\n}) => {\n const groups = sidebar?.groupcontent ?? [];\n\n return (\n <CMSLayoutProvider>\n <CMSLayoutHeader\n i18nText={i18nText}\n onChangeToEnLocale={onChangeToEnLocale}\n onChangeToViLocale={onChangeToViLocale}\n user={user}\n onLogout={onLogout}\n logoutLabel={logoutLabel}\n />\n <CMSLayoutSidebar variant=\"inset\" collapsible=\"icon\">\n <SidebarContent>\n {groups.map(group => (\n <SidebarContentGroup key={group.id} id={group.id} label={group.label}>\n {group.items.map(item => (\n <SidebarContentGroupItem\n key={item.id}\n id={item.id}\n activeNavItemId={activeNavItemId}\n label={item.label}\n icon={item.icon}\n onClick={item.onClick}\n />\n ))}\n </SidebarContentGroup>\n ))}\n </SidebarContent>\n <SidebarFooter>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton className=\"border border-border\" onClick={onLogout}>\n <LogOutIcon className=\"text-text-positive-weak\" />\n {logoutLabel}\n </SidebarMenuButton>\n </SidebarMenuItem>\n <SidebarMenuItem className=\"mt-2 border-t border-t-border\">\n <p className=\"pt-2 text-center text-xs text-text-positive-subtle\">{copyright}</p>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarFooter>\n </CMSLayoutSidebar>\n <CMSLayoutMain>{children}</CMSLayoutMain>\n </CMSLayoutProvider>\n );\n};\n"],"mappings":"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"}
|