@alexourus/ui 0.3.0
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/LICENSE +21 -0
- package/README.md +49 -0
- package/dist/blocks/auth-card/index.js +18 -0
- package/dist/blocks/auth-card/index.js.map +1 -0
- package/dist/blocks/auth-card/index.mjs +9 -0
- package/dist/blocks/auth-card/index.mjs.map +1 -0
- package/dist/blocks/data-table/index.js +18 -0
- package/dist/blocks/data-table/index.js.map +1 -0
- package/dist/blocks/data-table/index.mjs +9 -0
- package/dist/blocks/data-table/index.mjs.map +1 -0
- package/dist/blocks/file-uploader/index.js +15 -0
- package/dist/blocks/file-uploader/index.js.map +1 -0
- package/dist/blocks/file-uploader/index.mjs +6 -0
- package/dist/blocks/file-uploader/index.mjs.map +1 -0
- package/dist/blocks/multi-step-form/index.js +15 -0
- package/dist/blocks/multi-step-form/index.js.map +1 -0
- package/dist/blocks/multi-step-form/index.mjs +6 -0
- package/dist/blocks/multi-step-form/index.mjs.map +1 -0
- package/dist/blocks/pricing-table/index.js +15 -0
- package/dist/blocks/pricing-table/index.js.map +1 -0
- package/dist/blocks/pricing-table/index.mjs +6 -0
- package/dist/blocks/pricing-table/index.mjs.map +1 -0
- package/dist/chunk-2BLJWXAJ.mjs +110 -0
- package/dist/chunk-2BLJWXAJ.mjs.map +1 -0
- package/dist/chunk-2QRV5XCH.js +78 -0
- package/dist/chunk-2QRV5XCH.js.map +1 -0
- package/dist/chunk-3FUEELO3.js +130 -0
- package/dist/chunk-3FUEELO3.js.map +1 -0
- package/dist/chunk-3IAWZE7E.mjs +39 -0
- package/dist/chunk-3IAWZE7E.mjs.map +1 -0
- package/dist/chunk-3IJ4QXSI.mjs +82 -0
- package/dist/chunk-3IJ4QXSI.mjs.map +1 -0
- package/dist/chunk-3LR5YBIX.mjs +102 -0
- package/dist/chunk-3LR5YBIX.mjs.map +1 -0
- package/dist/chunk-3R4A2OYV.mjs +26 -0
- package/dist/chunk-3R4A2OYV.mjs.map +1 -0
- package/dist/chunk-3XLPO2PK.js +131 -0
- package/dist/chunk-3XLPO2PK.js.map +1 -0
- package/dist/chunk-4GZIE7L2.mjs +66 -0
- package/dist/chunk-4GZIE7L2.mjs.map +1 -0
- package/dist/chunk-4WGKKRGQ.js +58 -0
- package/dist/chunk-4WGKKRGQ.js.map +1 -0
- package/dist/chunk-54E7ZIOD.js +44 -0
- package/dist/chunk-54E7ZIOD.js.map +1 -0
- package/dist/chunk-5BRZEWFO.js +217 -0
- package/dist/chunk-5BRZEWFO.js.map +1 -0
- package/dist/chunk-5P3UZGSO.js +52 -0
- package/dist/chunk-5P3UZGSO.js.map +1 -0
- package/dist/chunk-6KHFGJKO.mjs +53 -0
- package/dist/chunk-6KHFGJKO.mjs.map +1 -0
- package/dist/chunk-6PZRZJKB.mjs +45 -0
- package/dist/chunk-6PZRZJKB.mjs.map +1 -0
- package/dist/chunk-A6OU42MS.js +140 -0
- package/dist/chunk-A6OU42MS.js.map +1 -0
- package/dist/chunk-AHSY7OBX.mjs +39 -0
- package/dist/chunk-AHSY7OBX.mjs.map +1 -0
- package/dist/chunk-AJKFRN2S.js +75 -0
- package/dist/chunk-AJKFRN2S.js.map +1 -0
- package/dist/chunk-ATUA2ZTW.mjs +43 -0
- package/dist/chunk-ATUA2ZTW.mjs.map +1 -0
- package/dist/chunk-AXKXHRRM.js +150 -0
- package/dist/chunk-AXKXHRRM.js.map +1 -0
- package/dist/chunk-BCOH5AWH.js +239 -0
- package/dist/chunk-BCOH5AWH.js.map +1 -0
- package/dist/chunk-BECAUVI4.js +132 -0
- package/dist/chunk-BECAUVI4.js.map +1 -0
- package/dist/chunk-BJFWJ3O6.mjs +139 -0
- package/dist/chunk-BJFWJ3O6.mjs.map +1 -0
- package/dist/chunk-BQCV4CHV.js +63 -0
- package/dist/chunk-BQCV4CHV.js.map +1 -0
- package/dist/chunk-C3X2BPC5.js +57 -0
- package/dist/chunk-C3X2BPC5.js.map +1 -0
- package/dist/chunk-C6KCRF6W.mjs +141 -0
- package/dist/chunk-C6KCRF6W.mjs.map +1 -0
- package/dist/chunk-CFTQ6A44.mjs +24 -0
- package/dist/chunk-CFTQ6A44.mjs.map +1 -0
- package/dist/chunk-CRTXVH5I.js +12 -0
- package/dist/chunk-CRTXVH5I.js.map +1 -0
- package/dist/chunk-CZKZFK42.js +50 -0
- package/dist/chunk-CZKZFK42.js.map +1 -0
- package/dist/chunk-DI7TZO47.mjs +120 -0
- package/dist/chunk-DI7TZO47.mjs.map +1 -0
- package/dist/chunk-E6O3PZJA.js +93 -0
- package/dist/chunk-E6O3PZJA.js.map +1 -0
- package/dist/chunk-EM54ZGHI.mjs +119 -0
- package/dist/chunk-EM54ZGHI.mjs.map +1 -0
- package/dist/chunk-F4EWY4M3.js +178 -0
- package/dist/chunk-F4EWY4M3.js.map +1 -0
- package/dist/chunk-F7UKMYHB.js +234 -0
- package/dist/chunk-F7UKMYHB.js.map +1 -0
- package/dist/chunk-FI5NDGRB.mjs +29 -0
- package/dist/chunk-FI5NDGRB.mjs.map +1 -0
- package/dist/chunk-FPNCCKUP.js +68 -0
- package/dist/chunk-FPNCCKUP.js.map +1 -0
- package/dist/chunk-G5KWMZYM.js +34 -0
- package/dist/chunk-G5KWMZYM.js.map +1 -0
- package/dist/chunk-G7OTO5NV.mjs +102 -0
- package/dist/chunk-G7OTO5NV.mjs.map +1 -0
- package/dist/chunk-HWBQPIV7.mjs +102 -0
- package/dist/chunk-HWBQPIV7.mjs.map +1 -0
- package/dist/chunk-I2W2I3R4.mjs +52 -0
- package/dist/chunk-I2W2I3R4.mjs.map +1 -0
- package/dist/chunk-I74ENMAV.mjs +28 -0
- package/dist/chunk-I74ENMAV.mjs.map +1 -0
- package/dist/chunk-IRDRXL2V.js +104 -0
- package/dist/chunk-IRDRXL2V.js.map +1 -0
- package/dist/chunk-J4GNMOED.mjs +209 -0
- package/dist/chunk-J4GNMOED.mjs.map +1 -0
- package/dist/chunk-JE5NGXPK.js +76 -0
- package/dist/chunk-JE5NGXPK.js.map +1 -0
- package/dist/chunk-JJXQE6T2.js +48 -0
- package/dist/chunk-JJXQE6T2.js.map +1 -0
- package/dist/chunk-JL7NJP6Q.js +111 -0
- package/dist/chunk-JL7NJP6Q.js.map +1 -0
- package/dist/chunk-JNPYZX2T.mjs +40 -0
- package/dist/chunk-JNPYZX2T.mjs.map +1 -0
- package/dist/chunk-KDX5YXQ5.js +87 -0
- package/dist/chunk-KDX5YXQ5.js.map +1 -0
- package/dist/chunk-KS5HJSLF.js +67 -0
- package/dist/chunk-KS5HJSLF.js.map +1 -0
- package/dist/chunk-L6K4F4LG.js +26 -0
- package/dist/chunk-L6K4F4LG.js.map +1 -0
- package/dist/chunk-LC7B4MA5.mjs +217 -0
- package/dist/chunk-LC7B4MA5.mjs.map +1 -0
- package/dist/chunk-LWKWQGAW.js +33 -0
- package/dist/chunk-LWKWQGAW.js.map +1 -0
- package/dist/chunk-MEPFC2XU.mjs +26 -0
- package/dist/chunk-MEPFC2XU.mjs.map +1 -0
- package/dist/chunk-MKS3O4OD.mjs +93 -0
- package/dist/chunk-MKS3O4OD.mjs.map +1 -0
- package/dist/chunk-MSMDQU3O.js +117 -0
- package/dist/chunk-MSMDQU3O.js.map +1 -0
- package/dist/chunk-MWV5FEWT.js +46 -0
- package/dist/chunk-MWV5FEWT.js.map +1 -0
- package/dist/chunk-NH3DQRPT.mjs +98 -0
- package/dist/chunk-NH3DQRPT.mjs.map +1 -0
- package/dist/chunk-OA3W3JJW.js +161 -0
- package/dist/chunk-OA3W3JJW.js.map +1 -0
- package/dist/chunk-OFTVJY6M.mjs +50 -0
- package/dist/chunk-OFTVJY6M.mjs.map +1 -0
- package/dist/chunk-OXCICO7Y.js +152 -0
- package/dist/chunk-OXCICO7Y.js.map +1 -0
- package/dist/chunk-P4WX4G4Y.mjs +195 -0
- package/dist/chunk-P4WX4G4Y.mjs.map +1 -0
- package/dist/chunk-PB2SDLPK.mjs +108 -0
- package/dist/chunk-PB2SDLPK.mjs.map +1 -0
- package/dist/chunk-PBQERBMD.js +121 -0
- package/dist/chunk-PBQERBMD.js.map +1 -0
- package/dist/chunk-PDKOCCVV.mjs +35 -0
- package/dist/chunk-PDKOCCVV.mjs.map +1 -0
- package/dist/chunk-PN5VIRBV.js +138 -0
- package/dist/chunk-PN5VIRBV.js.map +1 -0
- package/dist/chunk-PNWHNAVA.js +46 -0
- package/dist/chunk-PNWHNAVA.js.map +1 -0
- package/dist/chunk-PVA5Z3FG.js +313 -0
- package/dist/chunk-PVA5Z3FG.js.map +1 -0
- package/dist/chunk-PWXNL2BK.mjs +291 -0
- package/dist/chunk-PWXNL2BK.mjs.map +1 -0
- package/dist/chunk-PYCBM7ZF.js +92 -0
- package/dist/chunk-PYCBM7ZF.js.map +1 -0
- package/dist/chunk-Q2PPWNO3.js +51 -0
- package/dist/chunk-Q2PPWNO3.js.map +1 -0
- package/dist/chunk-Q3M5OSTZ.js +134 -0
- package/dist/chunk-Q3M5OSTZ.js.map +1 -0
- package/dist/chunk-RQU26ZIR.mjs +109 -0
- package/dist/chunk-RQU26ZIR.mjs.map +1 -0
- package/dist/chunk-RTUQLXDF.mjs +61 -0
- package/dist/chunk-RTUQLXDF.mjs.map +1 -0
- package/dist/chunk-SLOSBFGR.js +138 -0
- package/dist/chunk-SLOSBFGR.js.map +1 -0
- package/dist/chunk-THP24SAW.mjs +89 -0
- package/dist/chunk-THP24SAW.mjs.map +1 -0
- package/dist/chunk-TLFSZJN5.mjs +22 -0
- package/dist/chunk-TLFSZJN5.mjs.map +1 -0
- package/dist/chunk-U225QIWZ.js +45 -0
- package/dist/chunk-U225QIWZ.js.map +1 -0
- package/dist/chunk-U6OV7U4R.js +193 -0
- package/dist/chunk-U6OV7U4R.js.map +1 -0
- package/dist/chunk-UAJP3SIS.mjs +25 -0
- package/dist/chunk-UAJP3SIS.mjs.map +1 -0
- package/dist/chunk-UGOYALE6.mjs +10 -0
- package/dist/chunk-UGOYALE6.mjs.map +1 -0
- package/dist/chunk-URIRDFZV.mjs +65 -0
- package/dist/chunk-URIRDFZV.mjs.map +1 -0
- package/dist/chunk-UXNADSIF.mjs +34 -0
- package/dist/chunk-UXNADSIF.mjs.map +1 -0
- package/dist/chunk-VRQ6R2SD.mjs +9 -0
- package/dist/chunk-VRQ6R2SD.mjs.map +1 -0
- package/dist/chunk-VVBBNEWX.mjs +25 -0
- package/dist/chunk-VVBBNEWX.mjs.map +1 -0
- package/dist/chunk-WWAYVWBZ.mjs +28 -0
- package/dist/chunk-WWAYVWBZ.mjs.map +1 -0
- package/dist/chunk-X6Q3CM4D.js +50 -0
- package/dist/chunk-X6Q3CM4D.js.map +1 -0
- package/dist/chunk-X7N5HRC7.js +63 -0
- package/dist/chunk-X7N5HRC7.js.map +1 -0
- package/dist/chunk-XQTTFIEZ.mjs +108 -0
- package/dist/chunk-XQTTFIEZ.mjs.map +1 -0
- package/dist/chunk-YHJIZTAZ.js +138 -0
- package/dist/chunk-YHJIZTAZ.js.map +1 -0
- package/dist/chunk-YJKULH22.js +52 -0
- package/dist/chunk-YJKULH22.js.map +1 -0
- package/dist/chunk-YJWIS2SU.mjs +43 -0
- package/dist/chunk-YJWIS2SU.mjs.map +1 -0
- package/dist/chunk-YVGGMPLO.mjs +156 -0
- package/dist/chunk-YVGGMPLO.mjs.map +1 -0
- package/dist/chunk-Z2T7P6LJ.js +86 -0
- package/dist/chunk-Z2T7P6LJ.js.map +1 -0
- package/dist/chunk-ZAWIAXZS.mjs +115 -0
- package/dist/chunk-ZAWIAXZS.mjs.map +1 -0
- package/dist/chunk-ZMFJHT5U.mjs +43 -0
- package/dist/chunk-ZMFJHT5U.mjs.map +1 -0
- package/dist/chunk-ZOUNOOT4.mjs +69 -0
- package/dist/chunk-ZOUNOOT4.mjs.map +1 -0
- package/dist/components/accordion/index.js +25 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/accordion/index.mjs +4 -0
- package/dist/components/accordion/index.mjs.map +1 -0
- package/dist/components/alert/index.js +25 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/alert/index.mjs +4 -0
- package/dist/components/alert/index.mjs.map +1 -0
- package/dist/components/alert-dialog/index.js +54 -0
- package/dist/components/alert-dialog/index.js.map +1 -0
- package/dist/components/alert-dialog/index.mjs +5 -0
- package/dist/components/alert-dialog/index.mjs.map +1 -0
- package/dist/components/aspect-ratio/index.js +13 -0
- package/dist/components/aspect-ratio/index.js.map +1 -0
- package/dist/components/aspect-ratio/index.mjs +4 -0
- package/dist/components/aspect-ratio/index.mjs.map +1 -0
- package/dist/components/avatar/index.js +33 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/avatar/index.mjs +4 -0
- package/dist/components/avatar/index.mjs.map +1 -0
- package/dist/components/badge/index.js +17 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/badge/index.mjs +4 -0
- package/dist/components/badge/index.mjs.map +1 -0
- package/dist/components/breadcrumb/index.js +37 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/breadcrumb/index.mjs +4 -0
- package/dist/components/breadcrumb/index.mjs.map +1 -0
- package/dist/components/button/index.js +17 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/index.mjs +4 -0
- package/dist/components/button/index.mjs.map +1 -0
- package/dist/components/calendar/index.js +13 -0
- package/dist/components/calendar/index.js.map +1 -0
- package/dist/components/calendar/index.mjs +4 -0
- package/dist/components/calendar/index.mjs.map +1 -0
- package/dist/components/card/index.js +33 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/card/index.mjs +4 -0
- package/dist/components/card/index.mjs.map +1 -0
- package/dist/components/checkbox/index.js +13 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox/index.mjs +4 -0
- package/dist/components/checkbox/index.mjs.map +1 -0
- package/dist/components/collapsible/index.js +20 -0
- package/dist/components/collapsible/index.js.map +1 -0
- package/dist/components/collapsible/index.mjs +3 -0
- package/dist/components/collapsible/index.mjs.map +1 -0
- package/dist/components/command/index.js +46 -0
- package/dist/components/command/index.js.map +1 -0
- package/dist/components/command/index.mjs +5 -0
- package/dist/components/command/index.mjs.map +1 -0
- package/dist/components/context-menu/index.js +69 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/context-menu/index.mjs +4 -0
- package/dist/components/context-menu/index.mjs.map +1 -0
- package/dist/components/dialog/index.js +49 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dialog/index.mjs +4 -0
- package/dist/components/dialog/index.mjs.map +1 -0
- package/dist/components/dropdown-menu/index.js +69 -0
- package/dist/components/dropdown-menu/index.js.map +1 -0
- package/dist/components/dropdown-menu/index.mjs +4 -0
- package/dist/components/dropdown-menu/index.mjs.map +1 -0
- package/dist/components/hover-card/index.js +21 -0
- package/dist/components/hover-card/index.js.map +1 -0
- package/dist/components/hover-card/index.mjs +4 -0
- package/dist/components/hover-card/index.mjs.map +1 -0
- package/dist/components/input/index.js +13 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/index.mjs +4 -0
- package/dist/components/input/index.mjs.map +1 -0
- package/dist/components/input-otp/index.js +25 -0
- package/dist/components/input-otp/index.js.map +1 -0
- package/dist/components/input-otp/index.mjs +4 -0
- package/dist/components/input-otp/index.mjs.map +1 -0
- package/dist/components/label/index.js +13 -0
- package/dist/components/label/index.js.map +1 -0
- package/dist/components/label/index.mjs +4 -0
- package/dist/components/label/index.mjs.map +1 -0
- package/dist/components/pagination/index.js +38 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/index.mjs +5 -0
- package/dist/components/pagination/index.mjs.map +1 -0
- package/dist/components/popover/index.js +25 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/popover/index.mjs +4 -0
- package/dist/components/popover/index.mjs.map +1 -0
- package/dist/components/progress/index.js +13 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/progress/index.mjs +4 -0
- package/dist/components/progress/index.mjs.map +1 -0
- package/dist/components/rating/index.js +17 -0
- package/dist/components/rating/index.js.map +1 -0
- package/dist/components/rating/index.mjs +4 -0
- package/dist/components/rating/index.mjs.map +1 -0
- package/dist/components/resizable/index.js +21 -0
- package/dist/components/resizable/index.js.map +1 -0
- package/dist/components/resizable/index.mjs +4 -0
- package/dist/components/resizable/index.mjs.map +1 -0
- package/dist/components/scroll-area/index.js +17 -0
- package/dist/components/scroll-area/index.js.map +1 -0
- package/dist/components/scroll-area/index.mjs +4 -0
- package/dist/components/scroll-area/index.mjs.map +1 -0
- package/dist/components/select/index.js +49 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/index.mjs +4 -0
- package/dist/components/select/index.mjs.map +1 -0
- package/dist/components/separator/index.js +13 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/separator/index.mjs +4 -0
- package/dist/components/separator/index.mjs.map +1 -0
- package/dist/components/sheet/index.js +49 -0
- package/dist/components/sheet/index.js.map +1 -0
- package/dist/components/sheet/index.mjs +4 -0
- package/dist/components/sheet/index.mjs.map +1 -0
- package/dist/components/skeleton/index.js +13 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/index.mjs +4 -0
- package/dist/components/skeleton/index.mjs.map +1 -0
- package/dist/components/slider/index.js +13 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/slider/index.mjs +4 -0
- package/dist/components/slider/index.mjs.map +1 -0
- package/dist/components/spinner/index.js +17 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/spinner/index.mjs +4 -0
- package/dist/components/spinner/index.mjs.map +1 -0
- package/dist/components/stat-card/index.js +41 -0
- package/dist/components/stat-card/index.js.map +1 -0
- package/dist/components/stat-card/index.mjs +4 -0
- package/dist/components/stat-card/index.mjs.map +1 -0
- package/dist/components/switch/index.js +13 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/index.mjs +4 -0
- package/dist/components/switch/index.mjs.map +1 -0
- package/dist/components/table/index.js +41 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/index.mjs +4 -0
- package/dist/components/table/index.mjs.map +1 -0
- package/dist/components/tabs/index.js +25 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/index.mjs +4 -0
- package/dist/components/tabs/index.mjs.map +1 -0
- package/dist/components/textarea/index.js +13 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/index.mjs +4 -0
- package/dist/components/textarea/index.mjs.map +1 -0
- package/dist/components/timeline/index.js +49 -0
- package/dist/components/timeline/index.js.map +1 -0
- package/dist/components/timeline/index.mjs +4 -0
- package/dist/components/timeline/index.mjs.map +1 -0
- package/dist/components/toast/index.js +16 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/index.mjs +3 -0
- package/dist/components/toast/index.mjs.map +1 -0
- package/dist/components/toggle/index.js +17 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/toggle/index.mjs +4 -0
- package/dist/components/toggle/index.mjs.map +1 -0
- package/dist/components/toggle-group/index.js +18 -0
- package/dist/components/toggle-group/index.js.map +1 -0
- package/dist/components/toggle-group/index.mjs +5 -0
- package/dist/components/toggle-group/index.mjs.map +1 -0
- package/dist/components/tooltip/index.js +25 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/index.mjs +4 -0
- package/dist/components/tooltip/index.mjs.map +1 -0
- package/dist/index.d.mts +702 -0
- package/dist/index.d.ts +702 -0
- package/dist/index.js +1372 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +547 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +333 -0
- package/src/styles/globals.css +140 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkX7N5HRC7_js = require('./chunk-X7N5HRC7.js');
|
|
4
|
+
var chunkCRTXVH5I_js = require('./chunk-CRTXVH5I.js');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
|
+
var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroupPrimitive);
|
|
29
|
+
|
|
30
|
+
var ToggleGroupContext = React__namespace.createContext({
|
|
31
|
+
size: "default",
|
|
32
|
+
variant: "default"
|
|
33
|
+
});
|
|
34
|
+
var ToggleGroup = React__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
ToggleGroupPrimitive__namespace.Root,
|
|
36
|
+
{
|
|
37
|
+
ref,
|
|
38
|
+
className: chunkCRTXVH5I_js.cn("flex items-center justify-center gap-1", className),
|
|
39
|
+
...props,
|
|
40
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
41
|
+
}
|
|
42
|
+
));
|
|
43
|
+
ToggleGroup.displayName = ToggleGroupPrimitive__namespace.Root.displayName;
|
|
44
|
+
var ToggleGroupItem = React__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
45
|
+
const context = React__namespace.useContext(ToggleGroupContext);
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
ToggleGroupPrimitive__namespace.Item,
|
|
48
|
+
{
|
|
49
|
+
ref,
|
|
50
|
+
className: chunkCRTXVH5I_js.cn(
|
|
51
|
+
chunkX7N5HRC7_js.toggleVariants({
|
|
52
|
+
variant: context.variant || variant,
|
|
53
|
+
size: context.size || size
|
|
54
|
+
}),
|
|
55
|
+
className
|
|
56
|
+
),
|
|
57
|
+
...props,
|
|
58
|
+
children
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
|
|
63
|
+
|
|
64
|
+
exports.ToggleGroup = ToggleGroup;
|
|
65
|
+
exports.ToggleGroupItem = ToggleGroupItem;
|
|
66
|
+
//# sourceMappingURL=chunk-KS5HJSLF.js.map
|
|
67
|
+
//# sourceMappingURL=chunk-KS5HJSLF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/toggle-group/index.tsx"],"names":["React","jsx","ToggleGroupPrimitive","cn","toggleVariants"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,qBAA2BA,gBAAA,CAAA,aAAA,CAE/B;AAAA,EACA,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS;AACX,CAAC,CAAA;AAED,IAAM,WAAA,GAAoBA,gBAAA,CAAA,UAAA,CAIxB,CAAC,EAAE,SAAA,EAAW,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACnDC,cAAA;AAAA,EAAsBC,+BAAA,CAAA,IAAA;AAAA,EAArB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAWC,mBAAA,CAAG,wCAAA,EAA0C,SAAS,CAAA;AAAA,IAChE,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAAF,cAAA,CAAC,mBAAmB,QAAA,EAAnB,EAA4B,OAAO,EAAE,OAAA,EAAS,IAAA,EAAK,EACjD,QAAA,EACH;AAAA;AACF,CACD;AAED,WAAA,CAAY,cAAmCC,+BAAA,CAAA,IAAA,CAAK,WAAA;AAEpD,IAAM,eAAA,GAAwBF,gBAAA,CAAA,UAAA,CAI5B,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,OAAA,EAAS,IAAA,EAAM,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3D,EAAA,MAAM,OAAA,GAAgBA,4BAAW,kBAAkB,CAAA;AAEnD,EAAA,uBACEC,cAAA;AAAA,IAAsBC,+BAAA,CAAA,IAAA;AAAA,IAArB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWC,mBAAA;AAAA,QACTC,+BAAA,CAAe;AAAA,UACb,OAAA,EAAS,QAAQ,OAAA,IAAW,OAAA;AAAA,UAC5B,IAAA,EAAM,QAAQ,IAAA,IAAQ;AAAA,SACvB,CAAA;AAAA,QACD;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,eAAA,CAAgB,cAAmCF,+BAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-KS5HJSLF.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { toggleVariants } from \"../toggle\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n});\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n));\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n});\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;\n\nexport { ToggleGroup, ToggleGroupItem };\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkCRTXVH5I_js = require('./chunk-CRTXVH5I.js');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
function Skeleton({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
className: chunkCRTXVH5I_js.cn(
|
|
11
|
+
"relative overflow-hidden rounded-md bg-muted",
|
|
12
|
+
"before:absolute before:inset-0 before:-translate-x-full",
|
|
13
|
+
"before:bg-gradient-to-r before:from-transparent before:via-white/10 before:to-transparent",
|
|
14
|
+
"before:animate-shimmer",
|
|
15
|
+
className
|
|
16
|
+
),
|
|
17
|
+
"aria-busy": "true",
|
|
18
|
+
"aria-live": "polite",
|
|
19
|
+
...props
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.Skeleton = Skeleton;
|
|
25
|
+
//# sourceMappingURL=chunk-L6K4F4LG.js.map
|
|
26
|
+
//# sourceMappingURL=chunk-L6K4F4LG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/skeleton/index.tsx"],"names":["jsx","cn"],"mappings":";;;;;AAKA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,mBAAA;AAAA,QACT,8CAAA;AAAA,QACA,yDAAA;AAAA,QACA,2FAAA;AAAA,QACA,wBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,MAAA;AAAA,MACV,WAAA,EAAU,QAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-L6K4F4LG.js","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nfunction Skeleton({ className, ...props }: SkeletonProps) {\n return (\n <div\n className={cn(\n \"relative overflow-hidden rounded-md bg-muted\",\n \"before:absolute before:inset-0 before:-translate-x-full\",\n \"before:bg-gradient-to-r before:from-transparent before:via-white/10 before:to-transparent\",\n \"before:animate-shimmer\",\n className\n )}\n aria-busy=\"true\"\n aria-live=\"polite\"\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"]}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { Progress } from './chunk-I74ENMAV.mjs';
|
|
2
|
+
import { Button } from './chunk-ZOUNOOT4.mjs';
|
|
3
|
+
import { cn } from './chunk-UGOYALE6.mjs';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { UploadCloud, CheckCircle2, AlertCircle, X, FileImage, FileText, FileArchive, File } from 'lucide-react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
function formatBytes(bytes) {
|
|
9
|
+
if (bytes === 0) return "0 Bytes";
|
|
10
|
+
const k = 1024;
|
|
11
|
+
const sizes = ["Bytes", "KB", "MB", "GB"];
|
|
12
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
13
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
|
|
14
|
+
}
|
|
15
|
+
function getFileIcon(file) {
|
|
16
|
+
if (file.type.startsWith("image/")) {
|
|
17
|
+
return /* @__PURE__ */ jsx(FileImage, { className: "h-5 w-5 text-sky-400" });
|
|
18
|
+
}
|
|
19
|
+
if (file.type.includes("pdf") || file.type.includes("document") || file.type.includes("text")) {
|
|
20
|
+
return /* @__PURE__ */ jsx(FileText, { className: "h-5 w-5 text-indigo-400" });
|
|
21
|
+
}
|
|
22
|
+
if (file.type.includes("zip") || file.type.includes("rar") || file.type.includes("tar")) {
|
|
23
|
+
return /* @__PURE__ */ jsx(FileArchive, { className: "h-5 w-5 text-amber-400" });
|
|
24
|
+
}
|
|
25
|
+
return /* @__PURE__ */ jsx(File, { className: "h-5 w-5 text-muted-foreground" });
|
|
26
|
+
}
|
|
27
|
+
function FileUploader({
|
|
28
|
+
maxSizeMB = 5,
|
|
29
|
+
maxFiles = 5,
|
|
30
|
+
accept = "image/*,.pdf,.docx,.zip",
|
|
31
|
+
onChange,
|
|
32
|
+
className
|
|
33
|
+
}) {
|
|
34
|
+
const [files, setFiles] = React.useState([]);
|
|
35
|
+
const [isDragging, setIsDragging] = React.useState(false);
|
|
36
|
+
const fileInputRef = React.useRef(null);
|
|
37
|
+
const handleFiles = (incomingFiles) => {
|
|
38
|
+
const validFiles = [];
|
|
39
|
+
const maxSizeBytes = maxSizeMB * 1024 * 1024;
|
|
40
|
+
Array.from(incomingFiles).forEach((file) => {
|
|
41
|
+
if (files.length + validFiles.length >= maxFiles) return;
|
|
42
|
+
if (file.size > maxSizeBytes) {
|
|
43
|
+
validFiles.push({
|
|
44
|
+
id: Math.random().toString(36).substring(2, 9),
|
|
45
|
+
file,
|
|
46
|
+
progress: 0,
|
|
47
|
+
status: "error",
|
|
48
|
+
error: `Maksimum ${maxSizeMB}MB a\u015Famaz.`
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
validFiles.push({
|
|
52
|
+
id: Math.random().toString(36).substring(2, 9),
|
|
53
|
+
file,
|
|
54
|
+
progress: 0,
|
|
55
|
+
status: "uploading"
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const updated = [...files, ...validFiles];
|
|
60
|
+
setFiles(updated);
|
|
61
|
+
if (onChange) {
|
|
62
|
+
onChange(updated.map((f) => f.file));
|
|
63
|
+
}
|
|
64
|
+
validFiles.forEach((item) => {
|
|
65
|
+
if (item.status === "uploading") {
|
|
66
|
+
let progress = 0;
|
|
67
|
+
const interval = setInterval(() => {
|
|
68
|
+
progress += Math.floor(Math.random() * 30) + 20;
|
|
69
|
+
if (progress >= 100) {
|
|
70
|
+
progress = 100;
|
|
71
|
+
clearInterval(interval);
|
|
72
|
+
setFiles(
|
|
73
|
+
(prev) => prev.map(
|
|
74
|
+
(f) => f.id === item.id ? { ...f, progress: 100, status: "completed" } : f
|
|
75
|
+
)
|
|
76
|
+
);
|
|
77
|
+
} else {
|
|
78
|
+
setFiles(
|
|
79
|
+
(prev) => prev.map((f) => f.id === item.id ? { ...f, progress } : f)
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
}, 300);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const handleDragOver = (e) => {
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
setIsDragging(true);
|
|
89
|
+
};
|
|
90
|
+
const handleDragLeave = (e) => {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
setIsDragging(false);
|
|
93
|
+
};
|
|
94
|
+
const handleDrop = (e) => {
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
setIsDragging(false);
|
|
97
|
+
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
98
|
+
handleFiles(e.dataTransfer.files);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const removeFile = (id) => {
|
|
102
|
+
const updated = files.filter((f) => f.id !== id);
|
|
103
|
+
setFiles(updated);
|
|
104
|
+
if (onChange) {
|
|
105
|
+
onChange(updated.map((f) => f.file));
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-4 w-full", className), children: [
|
|
109
|
+
/* @__PURE__ */ jsxs(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
onDragOver: handleDragOver,
|
|
113
|
+
onDragLeave: handleDragLeave,
|
|
114
|
+
onDrop: handleDrop,
|
|
115
|
+
onClick: () => fileInputRef.current?.click(),
|
|
116
|
+
className: cn(
|
|
117
|
+
"group relative flex flex-col items-center justify-center rounded-xl border-2 border-dashed border-border bg-card p-6 text-center transition-all cursor-pointer hover:border-primary/50 hover:bg-accent/40",
|
|
118
|
+
isDragging && "border-primary bg-primary/5 ring-4 ring-primary/10"
|
|
119
|
+
),
|
|
120
|
+
children: [
|
|
121
|
+
/* @__PURE__ */ jsx(
|
|
122
|
+
"input",
|
|
123
|
+
{
|
|
124
|
+
ref: fileInputRef,
|
|
125
|
+
type: "file",
|
|
126
|
+
multiple: true,
|
|
127
|
+
accept,
|
|
128
|
+
className: "hidden",
|
|
129
|
+
onChange: (e) => {
|
|
130
|
+
if (e.target.files) handleFiles(e.target.files);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
),
|
|
134
|
+
/* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-muted transition-transform group-hover:scale-110", children: /* @__PURE__ */ jsx(UploadCloud, { className: "h-6 w-6 text-primary" }) }),
|
|
135
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-1", children: [
|
|
136
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-foreground", children: "Dosya y\xFCklemek i\xE7in t\u0131klay\u0131n veya buraya s\xFCr\xFCkleyin" }),
|
|
137
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
138
|
+
"Desteklenenler: PNG, JPG, PDF, DOCX (Maks ",
|
|
139
|
+
maxSizeMB,
|
|
140
|
+
"MB, en fazla ",
|
|
141
|
+
maxFiles,
|
|
142
|
+
" dosya)"
|
|
143
|
+
] })
|
|
144
|
+
] })
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
files.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
149
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs font-medium text-muted-foreground px-1", children: [
|
|
150
|
+
"Y\xFCklenen Dosyalar (",
|
|
151
|
+
files.length,
|
|
152
|
+
"/",
|
|
153
|
+
maxFiles,
|
|
154
|
+
")"
|
|
155
|
+
] }),
|
|
156
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: files.map((fileItem) => {
|
|
157
|
+
const isImage = fileItem.file.type.startsWith("image/");
|
|
158
|
+
const previewUrl = isImage ? URL.createObjectURL(fileItem.file) : null;
|
|
159
|
+
return /* @__PURE__ */ jsxs(
|
|
160
|
+
"div",
|
|
161
|
+
{
|
|
162
|
+
className: "flex items-center gap-3 rounded-lg border border-border bg-card p-3 shadow-2xs transition-all",
|
|
163
|
+
children: [
|
|
164
|
+
previewUrl ? /* @__PURE__ */ jsx(
|
|
165
|
+
"img",
|
|
166
|
+
{
|
|
167
|
+
src: previewUrl,
|
|
168
|
+
alt: fileItem.file.name,
|
|
169
|
+
className: "h-10 w-10 rounded-md object-cover border border-border"
|
|
170
|
+
}
|
|
171
|
+
) : /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-muted", children: getFileIcon(fileItem.file) }),
|
|
172
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 space-y-1", children: [
|
|
173
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-xs", children: [
|
|
174
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium truncate text-foreground", children: fileItem.file.name }),
|
|
175
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground shrink-0 ml-2", children: formatBytes(fileItem.file.size) })
|
|
176
|
+
] }),
|
|
177
|
+
fileItem.status === "uploading" && /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
178
|
+
/* @__PURE__ */ jsx(Progress, { value: fileItem.progress, className: "h-1.5" }),
|
|
179
|
+
/* @__PURE__ */ jsxs("div", { className: "text-[10px] text-muted-foreground text-right", children: [
|
|
180
|
+
"%",
|
|
181
|
+
fileItem.progress
|
|
182
|
+
] })
|
|
183
|
+
] }),
|
|
184
|
+
fileItem.status === "completed" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-[11px] text-emerald-500 font-medium", children: [
|
|
185
|
+
/* @__PURE__ */ jsx(CheckCircle2, { className: "h-3.5 w-3.5" }),
|
|
186
|
+
/* @__PURE__ */ jsx("span", { children: "Y\xFCklendi" })
|
|
187
|
+
] }),
|
|
188
|
+
fileItem.status === "error" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-[11px] text-destructive font-medium", children: [
|
|
189
|
+
/* @__PURE__ */ jsx(AlertCircle, { className: "h-3.5 w-3.5" }),
|
|
190
|
+
/* @__PURE__ */ jsx("span", { children: fileItem.error || "Y\xFCkleme hatas\u0131" })
|
|
191
|
+
] })
|
|
192
|
+
] }),
|
|
193
|
+
/* @__PURE__ */ jsx(
|
|
194
|
+
Button,
|
|
195
|
+
{
|
|
196
|
+
variant: "ghost",
|
|
197
|
+
size: "icon",
|
|
198
|
+
className: "h-8 w-8 text-muted-foreground hover:text-foreground shrink-0",
|
|
199
|
+
onClick: (e) => {
|
|
200
|
+
e.stopPropagation();
|
|
201
|
+
removeFile(fileItem.id);
|
|
202
|
+
},
|
|
203
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
|
|
204
|
+
}
|
|
205
|
+
)
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
fileItem.id
|
|
209
|
+
);
|
|
210
|
+
}) })
|
|
211
|
+
] })
|
|
212
|
+
] });
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export { FileUploader };
|
|
216
|
+
//# sourceMappingURL=chunk-LC7B4MA5.mjs.map
|
|
217
|
+
//# sourceMappingURL=chunk-LC7B4MA5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/file-uploader/index.tsx"],"names":["FileIcon"],"mappings":"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","file":"chunk-LC7B4MA5.mjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n UploadCloud,\n X,\n FileText,\n FileImage,\n FileArchive,\n File as FileIcon,\n CheckCircle2,\n AlertCircle,\n} from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/button\";\nimport { Progress } from \"../../components/progress\";\n\nexport interface FileItem {\n id: string;\n file: File;\n progress: number;\n status: \"uploading\" | \"completed\" | \"error\";\n error?: string;\n}\n\nexport interface FileUploaderProps {\n maxSizeMB?: number; // Varsayılan 5 MB\n maxFiles?: number; // Varsayılan 5 dosya\n accept?: string; // örn: \"image/*,.pdf,.zip\"\n onChange?: (files: File[]) => void;\n className?: string;\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + \" \" + sizes[i];\n}\n\nfunction getFileIcon(file: File) {\n if (file.type.startsWith(\"image/\")) {\n return <FileImage className=\"h-5 w-5 text-sky-400\" />;\n }\n if (file.type.includes(\"pdf\") || file.type.includes(\"document\") || file.type.includes(\"text\")) {\n return <FileText className=\"h-5 w-5 text-indigo-400\" />;\n }\n if (file.type.includes(\"zip\") || file.type.includes(\"rar\") || file.type.includes(\"tar\")) {\n return <FileArchive className=\"h-5 w-5 text-amber-400\" />;\n }\n return <FileIcon className=\"h-5 w-5 text-muted-foreground\" />;\n}\n\nexport function FileUploader({\n maxSizeMB = 5,\n maxFiles = 5,\n accept = \"image/*,.pdf,.docx,.zip\",\n onChange,\n className,\n}: FileUploaderProps) {\n const [files, setFiles] = React.useState<FileItem[]>([]);\n const [isDragging, setIsDragging] = React.useState(false);\n const fileInputRef = React.useRef<HTMLInputElement>(null);\n\n const handleFiles = (incomingFiles: FileList | File[]) => {\n const validFiles: FileItem[] = [];\n const maxSizeBytes = maxSizeMB * 1024 * 1024;\n\n Array.from(incomingFiles).forEach((file) => {\n if (files.length + validFiles.length >= maxFiles) return;\n\n if (file.size > maxSizeBytes) {\n validFiles.push({\n id: Math.random().toString(36).substring(2, 9),\n file,\n progress: 0,\n status: \"error\",\n error: `Maksimum ${maxSizeMB}MB aşamaz.`,\n });\n } else {\n validFiles.push({\n id: Math.random().toString(36).substring(2, 9),\n file,\n progress: 0,\n status: \"uploading\",\n });\n }\n });\n\n const updated = [...files, ...validFiles];\n setFiles(updated);\n if (onChange) {\n onChange(updated.map((f) => f.file));\n }\n\n // Yükleme simülasyonu\n validFiles.forEach((item) => {\n if (item.status === \"uploading\") {\n let progress = 0;\n const interval = setInterval(() => {\n progress += Math.floor(Math.random() * 30) + 20;\n if (progress >= 100) {\n progress = 100;\n clearInterval(interval);\n setFiles((prev) =>\n prev.map((f) =>\n f.id === item.id ? { ...f, progress: 100, status: \"completed\" } : f\n )\n );\n } else {\n setFiles((prev) =>\n prev.map((f) => (f.id === item.id ? { ...f, progress } : f))\n );\n }\n }, 300);\n }\n });\n };\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault();\n setIsDragging(true);\n };\n\n const handleDragLeave = (e: React.DragEvent) => {\n e.preventDefault();\n setIsDragging(false);\n };\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault();\n setIsDragging(false);\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n handleFiles(e.dataTransfer.files);\n }\n };\n\n const removeFile = (id: string) => {\n const updated = files.filter((f) => f.id !== id);\n setFiles(updated);\n if (onChange) {\n onChange(updated.map((f) => f.file));\n }\n };\n\n return (\n <div className={cn(\"space-y-4 w-full\", className)}>\n {/* Sürükle Bırak Alanı */}\n <div\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={() => fileInputRef.current?.click()}\n className={cn(\n \"group relative flex flex-col items-center justify-center rounded-xl border-2 border-dashed border-border bg-card p-6 text-center transition-all cursor-pointer hover:border-primary/50 hover:bg-accent/40\",\n isDragging && \"border-primary bg-primary/5 ring-4 ring-primary/10\"\n )}\n >\n <input\n ref={fileInputRef}\n type=\"file\"\n multiple\n accept={accept}\n className=\"hidden\"\n onChange={(e) => {\n if (e.target.files) handleFiles(e.target.files);\n }}\n />\n\n <div className=\"flex h-12 w-12 items-center justify-center rounded-full bg-muted transition-transform group-hover:scale-110\">\n <UploadCloud className=\"h-6 w-6 text-primary\" />\n </div>\n\n <div className=\"mt-3 space-y-1\">\n <p className=\"text-sm font-semibold text-foreground\">\n Dosya yüklemek için tıklayın veya buraya sürükleyin\n </p>\n <p className=\"text-xs text-muted-foreground\">\n Desteklenenler: PNG, JPG, PDF, DOCX (Maks {maxSizeMB}MB, en fazla {maxFiles} dosya)\n </p>\n </div>\n </div>\n\n {/* Yüklenen Dosya Listesi */}\n {files.length > 0 && (\n <div className=\"space-y-2\">\n <p className=\"text-xs font-medium text-muted-foreground px-1\">\n Yüklenen Dosyalar ({files.length}/{maxFiles})\n </p>\n <div className=\"space-y-2\">\n {files.map((fileItem) => {\n const isImage = fileItem.file.type.startsWith(\"image/\");\n const previewUrl = isImage ? URL.createObjectURL(fileItem.file) : null;\n\n return (\n <div\n key={fileItem.id}\n className=\"flex items-center gap-3 rounded-lg border border-border bg-card p-3 shadow-2xs transition-all\"\n >\n {/* Dosya İkonu veya Görsel Önizleme */}\n {previewUrl ? (\n <img\n src={previewUrl}\n alt={fileItem.file.name}\n className=\"h-10 w-10 rounded-md object-cover border border-border\"\n />\n ) : (\n <div className=\"flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-muted\">\n {getFileIcon(fileItem.file)}\n </div>\n )}\n\n {/* Dosya Detayları & İlerleme Barı */}\n <div className=\"flex-1 min-w-0 space-y-1\">\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"font-medium truncate text-foreground\">\n {fileItem.file.name}\n </span>\n <span className=\"text-muted-foreground shrink-0 ml-2\">\n {formatBytes(fileItem.file.size)}\n </span>\n </div>\n\n {fileItem.status === \"uploading\" && (\n <div className=\"space-y-1\">\n <Progress value={fileItem.progress} className=\"h-1.5\" />\n <div className=\"text-[10px] text-muted-foreground text-right\">\n %{fileItem.progress}\n </div>\n </div>\n )}\n\n {fileItem.status === \"completed\" && (\n <div className=\"flex items-center gap-1 text-[11px] text-emerald-500 font-medium\">\n <CheckCircle2 className=\"h-3.5 w-3.5\" />\n <span>Yüklendi</span>\n </div>\n )}\n\n {fileItem.status === \"error\" && (\n <div className=\"flex items-center gap-1 text-[11px] text-destructive font-medium\">\n <AlertCircle className=\"h-3.5 w-3.5\" />\n <span>{fileItem.error || \"Yükleme hatası\"}</span>\n </div>\n )}\n </div>\n\n {/* Silme Butonu */}\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-8 w-8 text-muted-foreground hover:text-foreground shrink-0\"\n onClick={(e) => {\n e.stopPropagation();\n removeFile(fileItem.id);\n }}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </div>\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
|
|
4
|
+
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule) return e;
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
|
|
24
|
+
|
|
25
|
+
var Collapsible = CollapsiblePrimitive__namespace.Root;
|
|
26
|
+
var CollapsibleTrigger2 = CollapsiblePrimitive__namespace.CollapsibleTrigger;
|
|
27
|
+
var CollapsibleContent2 = CollapsiblePrimitive__namespace.CollapsibleContent;
|
|
28
|
+
|
|
29
|
+
exports.Collapsible = Collapsible;
|
|
30
|
+
exports.CollapsibleContent = CollapsibleContent2;
|
|
31
|
+
exports.CollapsibleTrigger = CollapsibleTrigger2;
|
|
32
|
+
//# sourceMappingURL=chunk-LWKWQGAW.js.map
|
|
33
|
+
//# sourceMappingURL=chunk-LWKWQGAW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/collapsible/index.tsx"],"names":["CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,WAAA,GAAmCA,+BAAA,CAAA;AACzC,IAAMC,mBAAAA,GAA0CD,+BAAA,CAAA;AAChD,IAAME,mBAAAA,GAA0CF,+BAAA,CAAA","file":"chunk-LWKWQGAW.js","sourcesContent":["\"use client\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { cn } from './chunk-UGOYALE6.mjs';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
7
|
+
var Tooltip = TooltipPrimitive.Root;
|
|
8
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
9
|
+
var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
10
|
+
TooltipPrimitive.Content,
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
sideOffset,
|
|
14
|
+
className: cn(
|
|
15
|
+
"z-50 overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-overlay",
|
|
16
|
+
"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
17
|
+
className
|
|
18
|
+
),
|
|
19
|
+
...props
|
|
20
|
+
}
|
|
21
|
+
) }));
|
|
22
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
23
|
+
|
|
24
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
25
|
+
//# sourceMappingURL=chunk-MEPFC2XU.mjs.map
|
|
26
|
+
//# sourceMappingURL=chunk-MEPFC2XU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/tooltip/index.tsx"],"names":[],"mappings":";;;;;AAIA,IAAM,eAAA,GAAmC,gBAAA,CAAA;AACzC,IAAM,OAAA,GAA2B,gBAAA,CAAA;AACjC,IAAM,cAAA,GAAkC,gBAAA,CAAA;AAExC,IAAM,cAAA,GAAuB,KAAA,CAAA,UAAA,CAG3B,CAAC,EAAE,SAAA,EAAW,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC1C,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,EAAkB,gBAAA,CAAA,OAAA;AAAA,EAAjB;AAAA,IACC,GAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,4HAAA;AAAA,MACA,4RAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CAAA,EACF,CACD;AACD,cAAA,CAAe,cAA+B,gBAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-MEPFC2XU.mjs","sourcesContent":["import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"../../lib/utils\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\nconst Tooltip = TooltipPrimitive.Root;\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-overlay\",\n \"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { cn } from './chunk-UGOYALE6.mjs';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var Avatar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7
|
+
AvatarPrimitive.Root,
|
|
8
|
+
{
|
|
9
|
+
ref,
|
|
10
|
+
className: cn(
|
|
11
|
+
"relative flex h-10 w-10 shrink-0 rounded-full select-none",
|
|
12
|
+
className
|
|
13
|
+
),
|
|
14
|
+
...props
|
|
15
|
+
}
|
|
16
|
+
));
|
|
17
|
+
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
18
|
+
var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
19
|
+
AvatarPrimitive.Image,
|
|
20
|
+
{
|
|
21
|
+
ref,
|
|
22
|
+
className: cn("aspect-square h-full w-full rounded-full object-cover", className),
|
|
23
|
+
...props
|
|
24
|
+
}
|
|
25
|
+
));
|
|
26
|
+
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
27
|
+
var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
28
|
+
AvatarPrimitive.Fallback,
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
className: cn(
|
|
32
|
+
"flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium border border-border/60",
|
|
33
|
+
className
|
|
34
|
+
),
|
|
35
|
+
...props
|
|
36
|
+
}
|
|
37
|
+
));
|
|
38
|
+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
39
|
+
var AvatarBadge = React.forwardRef(
|
|
40
|
+
({ className, status = "online", children, ...props }, ref) => {
|
|
41
|
+
const statusClasses = {
|
|
42
|
+
online: "bg-emerald-500",
|
|
43
|
+
busy: "bg-rose-500",
|
|
44
|
+
away: "bg-amber-500",
|
|
45
|
+
offline: "bg-zinc-400 dark:bg-zinc-500"
|
|
46
|
+
};
|
|
47
|
+
return /* @__PURE__ */ jsx(
|
|
48
|
+
"span",
|
|
49
|
+
{
|
|
50
|
+
ref,
|
|
51
|
+
className: cn(
|
|
52
|
+
"absolute bottom-0 right-0 z-10 flex h-3 w-3 items-center justify-center rounded-full ring-2 ring-background shadow-xs",
|
|
53
|
+
statusClasses[status],
|
|
54
|
+
className
|
|
55
|
+
),
|
|
56
|
+
...props,
|
|
57
|
+
children
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
AvatarBadge.displayName = "AvatarBadge";
|
|
63
|
+
var AvatarGroup = React.forwardRef(
|
|
64
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
ref,
|
|
68
|
+
className: cn("flex items-center -space-x-2.5 hover:space-x-1 transition-all duration-200", className),
|
|
69
|
+
...props,
|
|
70
|
+
children
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
);
|
|
74
|
+
AvatarGroup.displayName = "AvatarGroup";
|
|
75
|
+
var AvatarGroupCount = React.forwardRef(
|
|
76
|
+
({ className, count, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
77
|
+
"div",
|
|
78
|
+
{
|
|
79
|
+
ref,
|
|
80
|
+
className: cn(
|
|
81
|
+
"relative flex h-10 w-10 shrink-0 items-center justify-center rounded-full border-2 border-background bg-muted text-xs font-semibold text-muted-foreground ring-2 ring-background select-none",
|
|
82
|
+
className
|
|
83
|
+
),
|
|
84
|
+
...props,
|
|
85
|
+
children: children || (count ? `+${count}` : null)
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
AvatarGroupCount.displayName = "AvatarGroupCount";
|
|
90
|
+
|
|
91
|
+
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
|
|
92
|
+
//# sourceMappingURL=chunk-MKS3O4OD.mjs.map
|
|
93
|
+
//# sourceMappingURL=chunk-MKS3O4OD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/avatar/index.tsx"],"names":[],"mappings":";;;;;AAIA,IAAM,MAAA,GAAe,iBAGnB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,2DAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA;AAE1C,IAAM,WAAA,GAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,KAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA;AAAA,IAC/E,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,cAA8B,eAAA,CAAA,KAAA,CAAM,WAAA;AAEhD,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,QAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,wIAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,cAA8B,eAAA,CAAA,QAAA,CAAS,WAAA;AAUtD,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,MAAA,GAAS,UAAU,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC7D,IAAA,MAAM,aAAA,GAAgB;AAAA,MACpB,MAAA,EAAQ,gBAAA;AAAA,MACR,IAAA,EAAM,aAAA;AAAA,MACN,IAAA,EAAM,cAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,uHAAA;AAAA,UACA,cAAc,MAAM,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AACA,WAAA,CAAY,WAAA,GAAc,aAAA;AAM1B,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,UAAU,GAAG,KAAA,IAAS,GAAA,qBAClC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,4EAAA,EAA8E,SAAS,CAAA;AAAA,MACpG,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA;AAGP;AACA,WAAA,CAAY,WAAA,GAAc,aAAA;AAS1B,IAAM,gBAAA,GAAyB,KAAA,CAAA,UAAA;AAAA,EAC7B,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,UAAU,GAAG,KAAA,IAAS,GAAA,qBACzC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,8LAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,QAAA,KAAa,KAAA,GAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,GAAK,IAAA;AAAA;AAAA;AAG1C;AACA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"chunk-MKS3O4OD.mjs","sourcesContent":["import * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cn } from \"../../lib/utils\";\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 rounded-full select-none\",\n className\n )}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full rounded-full object-cover\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium border border-border/60\",\n className\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport interface AvatarBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Rozet rengi veya durumu (örn: \"online\", \"busy\", \"away\", \"offline\") */\n status?: \"online\" | \"busy\" | \"away\" | \"offline\";\n}\n\n/**\n * Avatarın sağ alt köşesine durum (online/offline) veya bildirim noktası ekler.\n */\nconst AvatarBadge = React.forwardRef<HTMLSpanElement, AvatarBadgeProps>(\n ({ className, status = \"online\", children, ...props }, ref) => {\n const statusClasses = {\n online: \"bg-emerald-500\",\n busy: \"bg-rose-500\",\n away: \"bg-amber-500\",\n offline: \"bg-zinc-400 dark:bg-zinc-500\",\n };\n\n return (\n <span\n ref={ref}\n className={cn(\n \"absolute bottom-0 right-0 z-10 flex h-3 w-3 items-center justify-center rounded-full ring-2 ring-background shadow-xs\",\n statusClasses[status],\n className\n )}\n {...props}\n >\n {children}\n </span>\n );\n }\n);\nAvatarBadge.displayName = \"AvatarBadge\";\n\n/**\n * Avatar grubunu yan yana gösteren konteyner.\n * Negatif margin ile üst üste binen modern küme görünümü yaratır.\n */\nconst AvatarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center -space-x-2.5 hover:space-x-1 transition-all duration-200\", className)}\n {...props}\n >\n {children}\n </div>\n )\n);\nAvatarGroup.displayName = \"AvatarGroup\";\n\nexport interface AvatarGroupCountProps extends React.HTMLAttributes<HTMLDivElement> {\n count?: number | string;\n}\n\n/**\n * Avatar grubunda gösterilmeyen diğer kullanıcıların sayısını (+3, +5 vb.) belirten sayaç balonu.\n */\nconst AvatarGroupCount = React.forwardRef<HTMLDivElement, AvatarGroupCountProps>(\n ({ className, count, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 items-center justify-center rounded-full border-2 border-background bg-muted text-xs font-semibold text-muted-foreground ring-2 ring-background select-none\",\n className\n )}\n {...props}\n >\n {children || (count ? `+${count}` : null)}\n </div>\n )\n);\nAvatarGroupCount.displayName = \"AvatarGroupCount\";\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n AvatarGroup,\n AvatarGroupCount,\n};\n"]}
|