@hanzo/ui 5.0.1 → 5.0.3
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/CHANGELOG.md +184 -0
- package/LICENSE +21 -0
- package/README.md +185 -192
- package/dist/ai/index.js +53 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/index.mjs +4 -0
- package/dist/ai/index.mjs.map +1 -0
- package/dist/blocks/index.js +983 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/index.mjs +945 -0
- package/dist/blocks/index.mjs.map +1 -0
- package/dist/calendar/index.js +14 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/calendar/index.mjs +5 -0
- package/dist/calendar/index.mjs.map +1 -0
- package/dist/carousel/index.js +220 -0
- package/dist/carousel/index.js.map +1 -0
- package/dist/carousel/index.mjs +191 -0
- package/dist/carousel/index.mjs.map +1 -0
- package/dist/charts/index.js +945 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/index.mjs +901 -0
- package/dist/charts/index.mjs.map +1 -0
- package/dist/chunk-26T4V5QU.mjs +111 -0
- package/dist/chunk-26T4V5QU.mjs.map +1 -0
- package/dist/chunk-2A5KXDLJ.js +22 -0
- package/dist/chunk-2A5KXDLJ.js.map +1 -0
- package/dist/chunk-2CJ4HMF4.js +79 -0
- package/dist/chunk-2CJ4HMF4.js.map +1 -0
- package/dist/chunk-2OIQKC5E.js +236 -0
- package/dist/chunk-2OIQKC5E.js.map +1 -0
- package/dist/chunk-2X3KSYBN.js +44 -0
- package/dist/chunk-2X3KSYBN.js.map +1 -0
- package/dist/chunk-3PBQGYR7.mjs +100 -0
- package/dist/chunk-3PBQGYR7.mjs.map +1 -0
- package/dist/chunk-3POQQ6L7.js +62 -0
- package/dist/chunk-3POQQ6L7.js.map +1 -0
- package/dist/chunk-4B47GITH.mjs +28 -0
- package/dist/chunk-4B47GITH.mjs.map +1 -0
- package/dist/chunk-4BC2OH6B.js +129 -0
- package/dist/chunk-4BC2OH6B.js.map +1 -0
- package/dist/chunk-5AQSGH4R.js +130 -0
- package/dist/chunk-5AQSGH4R.js.map +1 -0
- package/dist/chunk-5IHRJFOO.mjs +102 -0
- package/dist/chunk-5IHRJFOO.mjs.map +1 -0
- package/dist/chunk-5LDGR7YN.mjs +28 -0
- package/dist/chunk-5LDGR7YN.mjs.map +1 -0
- package/dist/chunk-5MCN3VYM.mjs +23 -0
- package/dist/chunk-5MCN3VYM.mjs.map +1 -0
- package/dist/chunk-6AVAMRMB.mjs +47 -0
- package/dist/chunk-6AVAMRMB.mjs.map +1 -0
- package/dist/chunk-6H62JRNM.mjs +120 -0
- package/dist/chunk-6H62JRNM.mjs.map +1 -0
- package/dist/chunk-6KCII3F6.mjs +126 -0
- package/dist/chunk-6KCII3F6.mjs.map +1 -0
- package/dist/chunk-7EHB43BJ.js +155 -0
- package/dist/chunk-7EHB43BJ.js.map +1 -0
- package/dist/chunk-7LRD23Q5.js +191 -0
- package/dist/chunk-7LRD23Q5.js.map +1 -0
- package/dist/chunk-7SAHKOJG.mjs +45 -0
- package/dist/chunk-7SAHKOJG.mjs.map +1 -0
- package/dist/chunk-A3D2YZK3.js +50 -0
- package/dist/chunk-A3D2YZK3.js.map +1 -0
- package/dist/chunk-AL4QFH7V.js +63 -0
- package/dist/chunk-AL4QFH7V.js.map +1 -0
- package/dist/chunk-B3WFEG6U.js +69 -0
- package/dist/chunk-B3WFEG6U.js.map +1 -0
- package/dist/chunk-BDZQJ6GK.js +242 -0
- package/dist/chunk-BDZQJ6GK.js.map +1 -0
- package/dist/chunk-BRWFYRGX.js +61 -0
- package/dist/chunk-BRWFYRGX.js.map +1 -0
- package/dist/chunk-C5DNTLBO.js +53 -0
- package/dist/chunk-C5DNTLBO.js.map +1 -0
- package/dist/chunk-CRALRACO.js +54 -0
- package/dist/chunk-CRALRACO.js.map +1 -0
- package/dist/chunk-CVACQJRM.js +149 -0
- package/dist/chunk-CVACQJRM.js.map +1 -0
- package/dist/chunk-DEIUKFPZ.mjs +63 -0
- package/dist/chunk-DEIUKFPZ.mjs.map +1 -0
- package/dist/chunk-DN2AEEA2.js +13 -0
- package/dist/chunk-DN2AEEA2.js.map +1 -0
- package/dist/chunk-DTNRWU4B.mjs +35 -0
- package/dist/chunk-DTNRWU4B.mjs.map +1 -0
- package/dist/chunk-DXIUEWRJ.mjs +31 -0
- package/dist/chunk-DXIUEWRJ.mjs.map +1 -0
- package/dist/chunk-DYFV66JX.mjs +54 -0
- package/dist/chunk-DYFV66JX.mjs.map +1 -0
- package/dist/chunk-F3WMAHXV.mjs +86 -0
- package/dist/chunk-F3WMAHXV.mjs.map +1 -0
- package/dist/chunk-F4RWPBBB.js +79 -0
- package/dist/chunk-F4RWPBBB.js.map +1 -0
- package/dist/chunk-FEGAPM6U.js +194 -0
- package/dist/chunk-FEGAPM6U.js.map +1 -0
- package/dist/chunk-G5TS56PW.mjs +160 -0
- package/dist/chunk-G5TS56PW.mjs.map +1 -0
- package/dist/chunk-GG6VGOEN.mjs +590 -0
- package/dist/chunk-GG6VGOEN.mjs.map +1 -0
- package/dist/chunk-GLAMGK32.mjs +54 -0
- package/dist/chunk-GLAMGK32.mjs.map +1 -0
- package/dist/chunk-GNMMUJXD.mjs +200 -0
- package/dist/chunk-GNMMUJXD.mjs.map +1 -0
- package/dist/chunk-GNPBULLS.mjs +600 -0
- package/dist/chunk-GNPBULLS.mjs.map +1 -0
- package/dist/chunk-GTE2DELE.js +65 -0
- package/dist/chunk-GTE2DELE.js.map +1 -0
- package/dist/chunk-GUQAFFTH.js +94 -0
- package/dist/chunk-GUQAFFTH.js.map +1 -0
- package/dist/chunk-H5VOYZHT.mjs +34 -0
- package/dist/chunk-H5VOYZHT.mjs.map +1 -0
- package/dist/chunk-HR6PBOGG.mjs +59 -0
- package/dist/chunk-HR6PBOGG.mjs.map +1 -0
- package/dist/chunk-HROONQS3.js +55 -0
- package/dist/chunk-HROONQS3.js.map +1 -0
- package/dist/chunk-IAO7SOQ3.mjs +56 -0
- package/dist/chunk-IAO7SOQ3.mjs.map +1 -0
- package/dist/chunk-K2QKU3K6.mjs +40 -0
- package/dist/chunk-K2QKU3K6.mjs.map +1 -0
- package/dist/chunk-KEUZZCCP.js +53 -0
- package/dist/chunk-KEUZZCCP.js.map +1 -0
- package/dist/chunk-KJXSLTG7.mjs +73 -0
- package/dist/chunk-KJXSLTG7.mjs.map +1 -0
- package/dist/chunk-L5AFUCVH.mjs +26 -0
- package/dist/chunk-L5AFUCVH.mjs.map +1 -0
- package/dist/chunk-LB3I52KZ.mjs +42 -0
- package/dist/chunk-LB3I52KZ.mjs.map +1 -0
- package/dist/chunk-LN75MJQ2.js +71 -0
- package/dist/chunk-LN75MJQ2.js.map +1 -0
- package/dist/chunk-LRBOFJUV.js +60 -0
- package/dist/chunk-LRBOFJUV.js.map +1 -0
- package/dist/chunk-MMNYRBOU.js +157 -0
- package/dist/chunk-MMNYRBOU.js.map +1 -0
- package/dist/chunk-MO65YF6P.js +236 -0
- package/dist/chunk-MO65YF6P.js.map +1 -0
- package/dist/chunk-N4KHP5FC.mjs +33 -0
- package/dist/chunk-N4KHP5FC.mjs.map +1 -0
- package/dist/chunk-NP2J7AB7.mjs +121 -0
- package/dist/chunk-NP2J7AB7.mjs.map +1 -0
- package/dist/chunk-OLR6SGYO.js +57 -0
- package/dist/chunk-OLR6SGYO.js.map +1 -0
- package/dist/chunk-ON7NQ4DY.js +21 -0
- package/dist/chunk-ON7NQ4DY.js.map +1 -0
- package/dist/chunk-PE3VFRLV.mjs +198 -0
- package/dist/chunk-PE3VFRLV.mjs.map +1 -0
- package/dist/chunk-Q7LOOIE5.mjs +8 -0
- package/dist/chunk-Q7LOOIE5.mjs.map +1 -0
- package/dist/chunk-QFA6U75G.mjs +51 -0
- package/dist/chunk-QFA6U75G.mjs.map +1 -0
- package/dist/chunk-QJQPT4WX.js +638 -0
- package/dist/chunk-QJQPT4WX.js.map +1 -0
- package/dist/chunk-QKHQPBSR.mjs +20 -0
- package/dist/chunk-QKHQPBSR.mjs.map +1 -0
- package/dist/chunk-SJD4XRFJ.mjs +141 -0
- package/dist/chunk-SJD4XRFJ.mjs.map +1 -0
- package/dist/chunk-SOOJLU4C.mjs +19 -0
- package/dist/chunk-SOOJLU4C.mjs.map +1 -0
- package/dist/chunk-T66B5IM5.js +51 -0
- package/dist/chunk-T66B5IM5.js.map +1 -0
- package/dist/chunk-T7RPZDO4.js +645 -0
- package/dist/chunk-T7RPZDO4.js.map +1 -0
- package/dist/chunk-TGRMDGTV.mjs +38 -0
- package/dist/chunk-TGRMDGTV.mjs.map +1 -0
- package/dist/chunk-TH2UKMCO.mjs +11 -0
- package/dist/chunk-TH2UKMCO.mjs.map +1 -0
- package/dist/chunk-TMV45OKE.mjs +113 -0
- package/dist/chunk-TMV45OKE.mjs.map +1 -0
- package/dist/chunk-TUJ7EVEK.js +171 -0
- package/dist/chunk-TUJ7EVEK.js.map +1 -0
- package/dist/chunk-ULNWDOI7.js +122 -0
- package/dist/chunk-ULNWDOI7.js.map +1 -0
- package/dist/chunk-UNUTTHCH.mjs +210 -0
- package/dist/chunk-UNUTTHCH.mjs.map +1 -0
- package/dist/chunk-VJMI6BG4.mjs +10 -0
- package/dist/chunk-VJMI6BG4.mjs.map +1 -0
- package/dist/chunk-VZVOB5MG.mjs +26 -0
- package/dist/chunk-VZVOB5MG.mjs.map +1 -0
- package/dist/chunk-WD67O22C.js +50 -0
- package/dist/chunk-WD67O22C.js.map +1 -0
- package/dist/chunk-WYPMLIJN.js +53 -0
- package/dist/chunk-WYPMLIJN.js.map +1 -0
- package/dist/chunk-X32I34NH.js +109 -0
- package/dist/chunk-X32I34NH.js.map +1 -0
- package/dist/chunk-X5MOZ3YL.js +65 -0
- package/dist/chunk-X5MOZ3YL.js.map +1 -0
- package/dist/chunk-Y4JVIPQZ.mjs +31 -0
- package/dist/chunk-Y4JVIPQZ.mjs.map +1 -0
- package/dist/chunk-Y6WOV2LZ.js +95 -0
- package/dist/chunk-Y6WOV2LZ.js.map +1 -0
- package/dist/chunk-YAEN5SCU.mjs +41 -0
- package/dist/chunk-YAEN5SCU.mjs.map +1 -0
- package/dist/chunk-YH6XDF3N.js +121 -0
- package/dist/chunk-YH6XDF3N.js.map +1 -0
- package/dist/chunk-YJKA4D75.mjs +124 -0
- package/dist/chunk-YJKA4D75.mjs.map +1 -0
- package/dist/chunk-ZANAF7WB.js +88 -0
- package/dist/chunk-ZANAF7WB.js.map +1 -0
- package/dist/chunk-ZDBWNPLO.js +30 -0
- package/dist/chunk-ZDBWNPLO.js.map +1 -0
- package/dist/chunk-ZDT2IOK2.js +56 -0
- package/dist/chunk-ZDT2IOK2.js.map +1 -0
- package/dist/chunk-ZKGVLTSI.js +25 -0
- package/dist/chunk-ZKGVLTSI.js.map +1 -0
- package/dist/chunk-ZLELESO7.js +34 -0
- package/dist/chunk-ZLELESO7.js.map +1 -0
- package/dist/chunk-ZUFUEQTX.mjs +157 -0
- package/dist/chunk-ZUFUEQTX.mjs.map +1 -0
- package/dist/chunk-ZZZWRQQE.mjs +42 -0
- package/dist/chunk-ZZZWRQQE.mjs.map +1 -0
- package/dist/command/index.js +138 -0
- package/dist/command/index.js.map +1 -0
- package/dist/command/index.mjs +128 -0
- package/dist/command/index.mjs.map +1 -0
- package/dist/components/accordion.js +25 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/accordion.mjs +4 -0
- package/dist/components/accordion.mjs.map +1 -0
- package/dist/components/alert.js +21 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/alert.mjs +4 -0
- package/dist/components/alert.mjs.map +1 -0
- package/dist/components/aspect-ratio.js +12 -0
- package/dist/components/aspect-ratio.js.map +1 -0
- package/dist/components/aspect-ratio.mjs +3 -0
- package/dist/components/aspect-ratio.mjs.map +1 -0
- package/dist/components/avatar.js +21 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/avatar.mjs +4 -0
- package/dist/components/avatar.mjs.map +1 -0
- package/dist/components/badge.js +17 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/badge.mjs +4 -0
- package/dist/components/badge.mjs.map +1 -0
- package/dist/components/breadcrumb.js +37 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb.mjs +4 -0
- package/dist/components/breadcrumb.mjs.map +1 -0
- package/dist/components/button.js +17 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/button.mjs +4 -0
- package/dist/components/button.mjs.map +1 -0
- package/dist/components/card.js +37 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/card.mjs +4 -0
- package/dist/components/card.mjs.map +1 -0
- package/dist/components/checkbox.js +13 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/checkbox.mjs +4 -0
- package/dist/components/checkbox.mjs.map +1 -0
- package/dist/components/collapsible.js +20 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/collapsible.mjs +3 -0
- package/dist/components/collapsible.mjs.map +1 -0
- package/dist/components/context-menu.js +69 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/context-menu.mjs +4 -0
- package/dist/components/context-menu.mjs.map +1 -0
- package/dist/components/dialog.js +49 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dialog.mjs +4 -0
- package/dist/components/dialog.mjs.map +1 -0
- package/dist/components/drawer.js +49 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/drawer.mjs +4 -0
- package/dist/components/drawer.mjs.map +1 -0
- package/dist/components/dropdown-menu.js +69 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dropdown-menu.mjs +4 -0
- package/dist/components/dropdown-menu.mjs.map +1 -0
- package/dist/components/form.js +42 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/form.mjs +5 -0
- package/dist/components/form.mjs.map +1 -0
- package/dist/components/hover-card.js +21 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/hover-card.mjs +4 -0
- package/dist/components/hover-card.mjs.map +1 -0
- package/dist/components/index.js +1047 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +46 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/input-otp.js +25 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input-otp.mjs +4 -0
- package/dist/components/input-otp.mjs.map +1 -0
- package/dist/components/input.js +13 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/input.mjs +4 -0
- package/dist/components/input.mjs.map +1 -0
- package/dist/components/label.js +13 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/label.mjs +4 -0
- package/dist/components/label.mjs.map +1 -0
- package/dist/components/menubar.js +73 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/menubar.mjs +4 -0
- package/dist/components/menubar.mjs.map +1 -0
- package/dist/components/navigation-menu.js +45 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/navigation-menu.mjs +4 -0
- package/dist/components/navigation-menu.mjs.map +1 -0
- package/dist/components/pagination.js +38 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/pagination.mjs +5 -0
- package/dist/components/pagination.mjs.map +1 -0
- package/dist/components/popover.js +25 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/popover.mjs +4 -0
- package/dist/components/popover.mjs.map +1 -0
- package/dist/components/progress.js +13 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/progress.mjs +4 -0
- package/dist/components/progress.mjs.map +1 -0
- package/dist/components/radio-group.js +17 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/radio-group.mjs +4 -0
- package/dist/components/radio-group.mjs.map +1 -0
- package/dist/components/resizable.js +21 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/resizable.mjs +4 -0
- package/dist/components/resizable.mjs.map +1 -0
- package/dist/components/scroll-area.js +17 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/scroll-area.mjs +4 -0
- package/dist/components/scroll-area.mjs.map +1 -0
- package/dist/components/select.js +49 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/select.mjs +4 -0
- package/dist/components/select.mjs.map +1 -0
- package/dist/components/separator.js +13 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/separator.mjs +4 -0
- package/dist/components/separator.mjs.map +1 -0
- package/dist/components/sheet.js +49 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sheet.mjs +4 -0
- package/dist/components/sheet.mjs.map +1 -0
- package/dist/components/sidebar.js +111 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/sidebar.mjs +10 -0
- package/dist/components/sidebar.mjs.map +1 -0
- package/dist/components/skeleton.js +13 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/skeleton.mjs +4 -0
- package/dist/components/skeleton.mjs.map +1 -0
- package/dist/components/slider.js +13 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/slider.mjs +4 -0
- package/dist/components/slider.mjs.map +1 -0
- package/dist/components/switch.js +13 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/switch.mjs +4 -0
- package/dist/components/switch.mjs.map +1 -0
- package/dist/components/table.js +41 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/table.mjs +4 -0
- package/dist/components/table.mjs.map +1 -0
- package/dist/components/tabs.js +25 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tabs.mjs +4 -0
- package/dist/components/tabs.mjs.map +1 -0
- package/dist/components/textarea.js +13 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/textarea.mjs +4 -0
- package/dist/components/textarea.mjs.map +1 -0
- package/dist/components/toast.js +37 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toast.mjs +4 -0
- package/dist/components/toast.mjs.map +1 -0
- package/dist/components/toggle-group.js +18 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle-group.mjs +5 -0
- package/dist/components/toggle-group.mjs.map +1 -0
- package/dist/components/toggle.js +17 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/toggle.mjs +4 -0
- package/dist/components/toggle.mjs.map +1 -0
- package/dist/components/tooltip.js +25 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/tooltip.mjs +4 -0
- package/dist/components/tooltip.mjs.map +1 -0
- package/dist/effects/index.js +162 -0
- package/dist/effects/index.js.map +1 -0
- package/dist/effects/index.mjs +156 -0
- package/dist/effects/index.mjs.map +1 -0
- package/dist/index.js +1089 -9070
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -8695
- package/dist/index.mjs.map +1 -1
- package/dist/lib/utils.js +12 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/utils.mjs +3 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/dist/markdown/index.js +669 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/index.mjs +635 -0
- package/dist/markdown/index.mjs.map +1 -0
- package/dist/qr/index.js +101 -0
- package/dist/qr/index.js.map +1 -0
- package/dist/qr/index.mjs +98 -0
- package/dist/qr/index.mjs.map +1 -0
- package/dist/upload/index.js +166 -0
- package/dist/upload/index.js.map +1 -0
- package/dist/upload/index.mjs +163 -0
- package/dist/upload/index.mjs.map +1 -0
- package/package.json +153 -272
- package/publish.sh +27 -0
- package/assets/ai-icons.tsx +0 -207
- package/assets/crypto.tsx +0 -33
- package/assets/file-type-icon.tsx +0 -66
- package/assets/file.tsx +0 -45
- package/assets/general.tsx +0 -2318
- package/assets/hanzo-logo.svg +0 -9
- package/assets/hanzo-logo.tsx +0 -17
- package/assets/index.ts +0 -122
- package/assets/index.tsx +0 -4
- package/assets/llm-provider.tsx +0 -1094
- package/bin/cli.js +0 -100
- package/bin/create-registry.js +0 -108
- package/bin/mcp.js +0 -403
- package/bin/npx-registry-mcp.js +0 -15
- package/bin/registry-mcp-wrapper.sh +0 -19
- package/bin/registry-mcp.js +0 -100
- package/bin/start-mcp-server.sh +0 -22
- package/bin/test-mcp.sh +0 -52
- package/bin/update-registry.js +0 -196
- package/blocks/auth/index.ts +0 -6
- package/blocks/auth/login-2fa.tsx +0 -165
- package/blocks/auth/login-basic.tsx +0 -94
- package/blocks/auth/login-social.tsx +0 -148
- package/blocks/auth/magic-link.tsx +0 -129
- package/blocks/auth/password-reset.tsx +0 -97
- package/blocks/auth/signup.tsx +0 -157
- package/blocks/components/accordian-block.tsx +0 -48
- package/blocks/components/block-component-props.ts +0 -11
- package/blocks/components/bullet-cards-block.tsx +0 -46
- package/blocks/components/card-block/index.tsx +0 -171
- package/blocks/components/card-block/link-out-button.tsx +0 -20
- package/blocks/components/card-block/util.ts +0 -28
- package/blocks/components/carte-blanche-block/index.tsx +0 -127
- package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
- package/blocks/components/content.tsx +0 -70
- package/blocks/components/cta-block.tsx +0 -115
- package/blocks/components/enh-heading-block.tsx +0 -204
- package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
- package/blocks/components/grid-block/index.tsx +0 -83
- package/blocks/components/grid-block/mutator-registry.ts +0 -10
- package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
- package/blocks/components/group-block.tsx +0 -83
- package/blocks/components/heading-block.tsx +0 -88
- package/blocks/components/image-block.tsx +0 -111
- package/blocks/components/index.ts +0 -30
- package/blocks/components/screenful-block/content.tsx +0 -123
- package/blocks/components/screenful-block/index.tsx +0 -107
- package/blocks/components/screenful-block/poster-background.tsx +0 -34
- package/blocks/components/screenful-block/video-background.tsx +0 -45
- package/blocks/components/space-block.tsx +0 -66
- package/blocks/components/video-block.tsx +0 -138
- package/blocks/data-display/activity-feed.tsx +0 -242
- package/blocks/data-display/data-table.tsx +0 -235
- package/blocks/data-display/stats-grid.tsx +0 -194
- package/blocks/def/accordian-block.ts +0 -14
- package/blocks/def/block.ts +0 -7
- package/blocks/def/bullet-cards-block.ts +0 -22
- package/blocks/def/card-block.ts +0 -22
- package/blocks/def/carte-blanche-block.ts +0 -21
- package/blocks/def/cta-block.ts +0 -19
- package/blocks/def/element-block.ts +0 -11
- package/blocks/def/enh-heading-block.ts +0 -44
- package/blocks/def/grid-block.ts +0 -16
- package/blocks/def/group-block.ts +0 -11
- package/blocks/def/heading-block.ts +0 -15
- package/blocks/def/image-block.ts +0 -31
- package/blocks/def/index.ts +0 -35
- package/blocks/def/screenful-block.ts +0 -54
- package/blocks/def/space-block.ts +0 -64
- package/blocks/def/video-block.ts +0 -9
- package/blocks/ecommerce/checkout.tsx +0 -242
- package/blocks/ecommerce/index.ts +0 -7
- package/blocks/ecommerce/product-detail.tsx +0 -257
- package/blocks/ecommerce/product-grid.tsx +0 -148
- package/blocks/ecommerce/shopping-cart.tsx +0 -181
- package/blocks/index.ts +0 -2
- package/blocks/marketing/cta-section.tsx +0 -207
- package/blocks/marketing/faq.tsx +0 -159
- package/blocks/marketing/features-grid.tsx +0 -156
- package/blocks/marketing/hero-section.tsx +0 -192
- package/blocks/marketing/index.ts +0 -6
- package/blocks/marketing/pricing-table.tsx +0 -121
- package/blocks/marketing/testimonials.tsx +0 -196
- package/components/index.ts +0 -9
- package/dist/tailwind.js +0 -2025
- package/dist/tailwind.js.map +0 -1
- package/dist/tailwind.mjs +0 -2013
- package/dist/tailwind.mjs.map +0 -1
- package/dist/types.js +0 -59
- package/dist/types.js.map +0 -1
- package/dist/types.mjs +0 -53
- package/dist/types.mjs.map +0 -1
- package/dist/utils.js +0 -30
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs +0 -26
- package/dist/utils.mjs.map +0 -1
- package/frameworks/core/index.ts +0 -6
- package/frameworks/core/utils/index.ts +0 -64
- package/frameworks/react/components/button.tsx +0 -26
- package/frameworks/react/components/index.ts +0 -5
- package/frameworks/react/hooks/index.ts +0 -5
- package/frameworks/react/index.ts +0 -9
- package/frameworks/react/package.json +0 -8
- package/frameworks/react/utils/index.ts +0 -2
- package/frameworks/react-native/index.ts +0 -9
- package/frameworks/react-native/package.json +0 -8
- package/frameworks/registry.json +0 -371
- package/frameworks/setup.sh +0 -69
- package/frameworks/svelte/index.ts +0 -9
- package/frameworks/svelte/package.json +0 -8
- package/frameworks/tracker.json +0 -1854
- package/frameworks/vue/index.ts +0 -9
- package/frameworks/vue/package.json +0 -8
- package/helpers/file.ts +0 -33
- package/helpers/memoization.ts +0 -40
- package/primitives/accordion.tsx +0 -74
- package/primitives/action-button.tsx +0 -42
- package/primitives/alert-dialog.tsx +0 -185
- package/primitives/alert.tsx +0 -74
- package/primitives/apply-typography.tsx +0 -55
- package/primitives/aspect-ratio.tsx +0 -5
- package/primitives/avatar.tsx +0 -57
- package/primitives/background-beams.tsx +0 -142
- package/primitives/badge.tsx +0 -45
- package/primitives/breadcrumb.tsx +0 -130
- package/primitives/breakpoint-indicator.tsx +0 -19
- package/primitives/button.tsx +0 -72
- package/primitives/calendar.tsx +0 -72
- package/primitives/card.tsx +0 -97
- package/primitives/carousel.tsx +0 -238
- package/primitives/chat/chat-input-area.tsx +0 -88
- package/primitives/chat/chat-input.tsx +0 -71
- package/primitives/chat/files-preview.tsx +0 -331
- package/primitives/chat/index.ts +0 -6
- package/primitives/chat/json-form.tsx +0 -8
- package/primitives/chat/message-list.tsx +0 -308
- package/primitives/chat/message.tsx +0 -569
- package/primitives/chat/sqlite-preview.tsx +0 -215
- package/primitives/checkbox.tsx +0 -32
- package/primitives/collapsible.tsx +0 -9
- package/primitives/combobox.tsx +0 -239
- package/primitives/command.tsx +0 -151
- package/primitives/context-menu.tsx +0 -206
- package/primitives/copy-to-clipboard-icon.tsx +0 -60
- package/primitives/dialog-video-controller.tsx +0 -38
- package/primitives/dialog.tsx +0 -128
- package/primitives/dot-pattern.tsx +0 -57
- package/primitives/dots-loader.tsx +0 -13
- package/primitives/drawer.tsx +0 -113
- package/primitives/dropdown-menu.tsx +0 -199
- package/primitives/error-message.tsx +0 -19
- package/primitives/file-uploader.tsx +0 -203
- package/primitives/form.tsx +0 -185
- package/primitives/hover-card.tsx +0 -28
- package/primitives/icons/github.tsx +0 -14
- package/primitives/icons/index.ts +0 -18
- package/primitives/icons/youtube-logo.tsx +0 -59
- package/primitives/index-client.ts +0 -4
- package/primitives/index-common.ts +0 -304
- package/primitives/index-next.ts +0 -4
- package/primitives/input-otp.tsx +0 -65
- package/primitives/input.tsx +0 -128
- package/primitives/label.tsx +0 -21
- package/primitives/list-adaptor.ts +0 -12
- package/primitives/list-box.tsx +0 -74
- package/primitives/loading-spinner.tsx +0 -33
- package/primitives/markdown-preview.tsx +0 -612
- package/primitives/mermaid.tsx +0 -191
- package/primitives/navigation-menu.tsx +0 -147
- package/primitives/next/image.tsx +0 -91
- package/primitives/next/index.ts +0 -7
- package/primitives/next/inline-icon.tsx +0 -36
- package/primitives/next/link-element.tsx +0 -109
- package/primitives/next/mdx-link.tsx +0 -22
- package/primitives/next/media-stack.tsx +0 -52
- package/primitives/next/nav-items.tsx +0 -45
- package/primitives/next/youtube-embed.tsx +0 -83
- package/primitives/pagination.tsx +0 -117
- package/primitives/popover.tsx +0 -34
- package/primitives/pretty-json-print.tsx +0 -28
- package/primitives/progress.tsx +0 -27
- package/primitives/prompt-textarea.tsx +0 -72
- package/primitives/qr-code.tsx +0 -112
- package/primitives/radio-group.tsx +0 -42
- package/primitives/resizable.tsx +0 -47
- package/primitives/scroll-area.tsx +0 -57
- package/primitives/search-input.tsx +0 -66
- package/primitives/select.tsx +0 -122
- package/primitives/separator.tsx +0 -26
- package/primitives/sheet.tsx +0 -139
- package/primitives/skeleton.tsx +0 -18
- package/primitives/slider.tsx +0 -63
- package/primitives/sonner.tsx +0 -35
- package/primitives/step-indicator.tsx +0 -69
- package/primitives/stepper.tsx +0 -272
- package/primitives/switch.tsx +0 -27
- package/primitives/table.tsx +0 -105
- package/primitives/tabs.tsx +0 -50
- package/primitives/text-area.tsx +0 -26
- package/primitives/text-link.tsx +0 -27
- package/primitives/textarea.tsx +0 -64
- package/primitives/textfield.tsx +0 -78
- package/primitives/toast.tsx +0 -30
- package/primitives/toggle-group.tsx +0 -63
- package/primitives/toggle.tsx +0 -44
- package/primitives/tooltip.tsx +0 -47
- package/primitives/video-player.tsx +0 -23
- package/src/button.ts +0 -1
- package/src/hooks/index.ts +0 -7
- package/src/hooks/use-click-away.ts +0 -31
- package/src/hooks/use-combined-refs.ts +0 -22
- package/src/hooks/use-copy-clipboard.ts +0 -30
- package/src/hooks/use-debounce.ts +0 -17
- package/src/hooks/use-fill-ids.ts +0 -25
- package/src/hooks/use-map.ts +0 -26
- package/src/hooks/use-measure.ts +0 -42
- package/src/hooks/use-reverse-video-playback.ts +0 -43
- package/src/hooks/use-scroll-restoration.ts +0 -50
- package/src/index-lean.ts +0 -87
- package/src/index.ts +0 -54
- package/src/mcp/README.md +0 -141
- package/src/mcp/enhanced-server.ts +0 -1208
- package/src/mcp/index.ts +0 -518
- package/src/mcp/package.json +0 -10
- package/src/registry/api.ts +0 -164
- package/src/registry/index.ts +0 -60
- package/src/registry/package.json +0 -10
- package/src/utils.ts +0 -19
- package/style/drawer.css +0 -163
- package/style/globals.css +0 -13
- package/style/hanzo-common.css +0 -31
- package/style/hanzo-default-colors.css +0 -82
- package/style/theme-provider.tsx +0 -20
- package/tailwind/colors.tailwind.js +0 -53
- package/tailwind/fontFamily.tailwind.ts +0 -7
- package/tailwind/fontSize.tailwind.ts +0 -13
- package/tailwind/index.ts +0 -7
- package/tailwind/safelist.tailwind.js +0 -26
- package/tailwind/screens.tailwind.js +0 -8
- package/tailwind/spacing.tailwind.js +0 -65
- package/tailwind/tailwind.config.hanzo-preset.d.ts +0 -5
- package/tailwind/tailwind.config.hanzo-preset.js +0 -915
- package/tailwind/tw-font-desc.ts +0 -15
- package/tailwind/typo-plugin/get-plugin-styles.js +0 -679
- package/tailwind/typo-plugin/index.d.ts +0 -9
- package/tailwind/typo-plugin/index.js +0 -141
- package/tailwind/typo-plugin/utils.js +0 -60
- package/tailwind/typography-test.mdx +0 -35
- package/tailwind/z-index.tailwind.js +0 -71
- package/types/animation-def.ts +0 -3
- package/types/breakpoints.ts +0 -11
- package/types/bullet-item.ts +0 -10
- package/types/button-def.ts +0 -39
- package/types/dimensions.ts +0 -8
- package/types/grid-def.ts +0 -56
- package/types/image-def.ts +0 -32
- package/types/index.ts +0 -30
- package/types/link-def.ts +0 -56
- package/types/media-stack-def.ts +0 -31
- package/types/t-shirt-size.ts +0 -5
- package/types/tshirt-dimensions.ts +0 -20
- package/types/video-def.ts +0 -25
- package/util/blob.ts +0 -33
- package/util/copy-to-clipboard.ts +0 -17
- package/util/create-shadow-root.ts +0 -22
- package/util/date.ts +0 -84
- package/util/debounce.ts +0 -11
- package/util/file.ts +0 -15
- package/util/format-and-abbreviate-as-currency.ts +0 -125
- package/util/format-text.ts +0 -34
- package/util/format-to-max-char.ts +0 -68
- package/util/index-client.ts +0 -3
- package/util/index.ts +0 -112
- package/util/number-abbreviate.ts +0 -49
- package/util/specifier.ts +0 -43
- package/util/spread-to-transform.ts +0 -25
- package/util/step-animation.ts +0 -90
- package/util/timing.ts +0 -3
- package/util/toasts.tsx +0 -17
- package/util/two-way-map.ts +0 -19
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/charts/chart.tsx","../../src/charts/area-chart.tsx","../../src/charts/bar-chart.tsx","../../src/charts/line-chart.tsx","../../src/charts/pie-chart.tsx","../../src/charts/radar-chart.tsx","../../src/charts/radial-chart.tsx","../../src/charts/chart-config.tsx"],"names":["React","jsx","jsxs","cn","RechartsPrimitive","config","Fragment","React2","RechartsAreaChart","CartesianGrid","XAxis","YAxis","Area","React3","RechartsBarChart","Bar","React4","RechartsLineChart","Line","React5","RechartsPieChart","Pie","Cell","React6","RechartsRadarChart","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Radar","React7","RechartsRadialBarChart","RadialBar"],"mappings":"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","file":"index.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { BrandTheme } from \"./chart-config\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n brand?: BrandTheme\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n brand?: BrandTheme\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, brand = \"hanzo\", ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config, brand }}>\n <div\n data-chart={chartId}\n data-brand={brand}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Area, AreaChart as RechartsAreaChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface AreaChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n gradient?: boolean\n stacked?: boolean\n strokeWidth?: number\n fillOpacity?: number\n type?: \"linear\" | \"natural\" | \"monotone\" | \"step\" | \"stepBefore\" | \"stepAfter\"\n}\n\nconst AreaChart = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n gradient = false,\n stacked = false,\n strokeWidth = 2,\n fillOpacity = 0.4,\n type = \"natural\",\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsAreaChart\n data={data}\n margin={margin}\n accessibilityLayer\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n \n {showXAxis && (\n <XAxis\n dataKey={xAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && yAxisKey && (\n <YAxis\n dataKey={yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent indicator=\"line\" />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Area\n key={key}\n dataKey={key}\n type={type}\n fill={`var(--color-${key})`}\n fillOpacity={fillOpacity}\n stroke={`var(--color-${key})`}\n strokeWidth={strokeWidth}\n stackId={stacked ? \"a\" : undefined}\n />\n ))}\n\n {gradient && (\n <defs>\n {chartDataKeys.map((key) => (\n <linearGradient key={key} id={`gradient-${key}`} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"5%\" stopColor={`var(--color-${key})`} stopOpacity={0.8} />\n <stop offset=\"95%\" stopColor={`var(--color-${key})`} stopOpacity={0.1} />\n </linearGradient>\n ))}\n </defs>\n )}\n </RechartsAreaChart>\n </ChartContainer>\n </div>\n )\n }\n)\nAreaChart.displayName = \"AreaChart\"\n\nexport { AreaChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Bar, BarChart as RechartsBarChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface BarChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n horizontal?: boolean\n stacked?: boolean\n radius?: number | [number, number, number, number]\n barGap?: number\n barCategoryGap?: number\n}\n\nconst BarChart = React.forwardRef<HTMLDivElement, BarChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n horizontal = false,\n stacked = false,\n radius = 8,\n barGap = 4,\n barCategoryGap = \"10%\",\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsBarChart\n data={data}\n margin={margin}\n accessibilityLayer\n layout={horizontal ? \"horizontal\" : \"vertical\"}\n barGap={barGap}\n barCategoryGap={barCategoryGap}\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={!horizontal} />}\n \n {showXAxis && (\n <XAxis\n type={horizontal ? \"number\" : \"category\"}\n dataKey={horizontal ? undefined : xAxisKey}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={horizontal ? undefined : (value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && (\n <YAxis\n type={horizontal ? \"category\" : \"number\"}\n dataKey={horizontal ? xAxisKey : yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={horizontal ? (value) => value?.toString().slice(0, 3) : undefined}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel={!stacked} />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Bar\n key={key}\n dataKey={key}\n fill={`var(--color-${key})`}\n radius={radius}\n stackId={stacked ? \"a\" : undefined}\n />\n ))}\n </RechartsBarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nBarChart.displayName = \"BarChart\"\n\nexport { BarChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Line, LineChart as RechartsLineChart, CartesianGrid, XAxis, YAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from \"./chart\"\n\nexport interface LineChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n xAxisKey?: string\n yAxisKey?: string\n margin?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n }\n showGrid?: boolean\n showXAxis?: boolean\n showYAxis?: boolean\n showTooltip?: boolean\n showDots?: boolean\n strokeWidth?: number\n type?: \"linear\" | \"natural\" | \"monotone\" | \"step\" | \"stepBefore\" | \"stepAfter\"\n connectNulls?: boolean\n activeDot?: boolean | object\n}\n\nconst LineChart = React.forwardRef<HTMLDivElement, LineChartProps>(\n (\n {\n data,\n config,\n dataKey,\n xAxisKey = \"name\",\n yAxisKey,\n margin = { left: 12, right: 12 },\n showGrid = true,\n showXAxis = true,\n showYAxis = false,\n showTooltip = true,\n showDots = false,\n strokeWidth = 2,\n type = \"monotone\",\n connectNulls = false,\n activeDot = true,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsLineChart\n data={data}\n margin={margin}\n accessibilityLayer\n >\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n \n {showXAxis && (\n <XAxis\n dataKey={xAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n \n {showYAxis && yAxisKey && (\n <YAxis\n dataKey={yAxisKey}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Line\n key={key}\n dataKey={key}\n type={type}\n stroke={`var(--color-${key})`}\n strokeWidth={strokeWidth}\n dot={showDots ? { fill: `var(--color-${key})`, strokeWidth: 2 } : false}\n activeDot={activeDot ? { r: 6, fill: `var(--color-${key})` } : false}\n connectNulls={connectNulls}\n />\n ))}\n </RechartsLineChart>\n </ChartContainer>\n </div>\n )\n }\n)\nLineChart.displayName = \"LineChart\"\n\nexport { LineChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Pie, PieChart as RechartsPieChart, Cell } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface PieChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string\n nameKey?: string\n cx?: string | number\n cy?: string | number\n innerRadius?: number\n outerRadius?: number\n showTooltip?: boolean\n showLegend?: boolean\n startAngle?: number\n endAngle?: number\n paddingAngle?: number\n stroke?: string\n strokeWidth?: number\n}\n\nconst PieChart = React.forwardRef<HTMLDivElement, PieChartProps>(\n (\n {\n data,\n config,\n dataKey,\n nameKey = \"name\",\n cx = \"50%\",\n cy = \"50%\",\n innerRadius = 0,\n outerRadius = 80,\n showTooltip = true,\n showLegend = false,\n startAngle = 90,\n endAngle = 450,\n paddingAngle = 0,\n stroke = \"transparent\",\n strokeWidth = 1,\n className,\n ...props\n },\n ref\n ) => {\n // Enhanced data with colors from config\n const enhancedData = React.useMemo(() => {\n return data.map((item, index) => {\n const itemKey = item[nameKey] || index.toString()\n const configItem = config[itemKey]\n \n return {\n ...item,\n fill: item.fill || configItem?.color || `var(--color-${itemKey})` || `hsl(var(--chart-${(index % 5) + 1}))`\n }\n })\n }, [data, config, nameKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsPieChart accessibilityLayer>\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n )}\n \n <Pie\n data={enhancedData}\n dataKey={dataKey}\n nameKey={nameKey}\n cx={cx}\n cy={cy}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n startAngle={startAngle}\n endAngle={endAngle}\n paddingAngle={paddingAngle}\n stroke={stroke}\n strokeWidth={strokeWidth}\n >\n {enhancedData.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={entry.fill} />\n ))}\n </Pie>\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent nameKey={nameKey} />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsPieChart>\n </ChartContainer>\n </div>\n )\n }\n)\nPieChart.displayName = \"PieChart\"\n\n// Donut Chart is just a PieChart with innerRadius\nconst DonutChart = React.forwardRef<HTMLDivElement, PieChartProps>(\n ({ innerRadius = 60, ...props }, ref) => {\n return <PieChart ref={ref} innerRadius={innerRadius} {...props} />\n }\n)\nDonutChart.displayName = \"DonutChart\"\n\nexport { PieChart, DonutChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { Radar, RadarChart as RechartsRadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface RadarChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n angleKey?: string\n radiusKey?: string\n cx?: string | number\n cy?: string | number\n outerRadius?: string | number\n showTooltip?: boolean\n showLegend?: boolean\n showGrid?: boolean\n showAngleAxis?: boolean\n showRadiusAxis?: boolean\n fillOpacity?: number\n strokeWidth?: number\n gridType?: \"polygon\" | \"circle\"\n tick?: boolean\n tickCount?: number\n}\n\nconst RadarChart = React.forwardRef<HTMLDivElement, RadarChartProps>(\n (\n {\n data,\n config,\n dataKey,\n angleKey = \"name\",\n radiusKey,\n cx = \"50%\",\n cy = \"50%\",\n outerRadius = \"80%\",\n showTooltip = true,\n showLegend = false,\n showGrid = true,\n showAngleAxis = true,\n showRadiusAxis = false,\n fillOpacity = 0.6,\n strokeWidth = 2,\n gridType = \"polygon\",\n tick = true,\n tickCount = 5,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsRadarChart\n data={data}\n cx={cx}\n cy={cy}\n outerRadius={outerRadius}\n accessibilityLayer\n >\n {showGrid && (\n <PolarGrid\n gridType={gridType}\n radialLines={gridType === \"polygon\"}\n />\n )}\n\n {showAngleAxis && (\n <PolarAngleAxis\n dataKey={angleKey}\n tick={tick}\n tickFormatter={(value) => value?.toString().slice(0, 3)}\n />\n )}\n\n {showRadiusAxis && (\n <PolarRadiusAxis\n dataKey={radiusKey}\n tick={tick}\n tickCount={tickCount}\n angle={90}\n domain={[0, \"dataMax\"]}\n />\n )}\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <Radar\n key={key}\n dataKey={key}\n stroke={`var(--color-${key})`}\n fill={`var(--color-${key})`}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n dot={{\n r: 4,\n fill: `var(--color-${key})`,\n strokeWidth: 2,\n stroke: \"var(--background)\"\n }}\n />\n ))}\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsRadarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nRadarChart.displayName = \"RadarChart\"\n\nexport { RadarChart }","\"use client\"\n\nimport * as React from \"react\"\nimport { RadialBar, RadialBarChart as RechartsRadialBarChart, PolarAngleAxis } from \"recharts\"\n\nimport { cn } from \"../lib/utils\"\nimport { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from \"./chart\"\n\nexport interface RadialChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: any[]\n config: ChartConfig\n dataKey: string | string[]\n nameKey?: string\n cx?: string | number\n cy?: string | number\n innerRadius?: string | number\n outerRadius?: string | number\n startAngle?: number\n endAngle?: number\n showTooltip?: boolean\n showLegend?: boolean\n showBackground?: boolean\n cornerRadius?: number\n stackId?: string\n label?: boolean | object\n}\n\nconst RadialChart = React.forwardRef<HTMLDivElement, RadialChartProps>(\n (\n {\n data,\n config,\n dataKey,\n nameKey = \"name\",\n cx = \"50%\",\n cy = \"50%\",\n innerRadius = \"30%\",\n outerRadius = \"80%\",\n startAngle = 90,\n endAngle = -270,\n showTooltip = true,\n showLegend = false,\n showBackground = true,\n cornerRadius = 4,\n stackId,\n label = false,\n className,\n ...props\n },\n ref\n ) => {\n // Extract data keys from config if not explicitly provided\n const chartDataKeys = React.useMemo(() => {\n if (Array.isArray(dataKey)) return dataKey\n return [dataKey]\n }, [dataKey])\n\n // Enhanced data with colors from config\n const enhancedData = React.useMemo(() => {\n return data.map((item, index) => {\n const itemKey = item[nameKey] || index.toString()\n const configItem = config[itemKey]\n \n return {\n ...item,\n fill: item.fill || configItem?.color || `var(--color-${itemKey})` || `hsl(var(--chart-${(index % 5) + 1}))`\n }\n })\n }, [data, config, nameKey])\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <ChartContainer config={config}>\n <RechartsRadialBarChart\n data={enhancedData}\n cx={cx}\n cy={cy}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n startAngle={startAngle}\n endAngle={endAngle}\n accessibilityLayer\n >\n {/* Angle axis for proper spacing */}\n <PolarAngleAxis\n type=\"number\"\n domain={[0, 100]}\n angleAxisId={0}\n tick={false}\n />\n\n {showTooltip && (\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n )}\n\n {chartDataKeys.map((key, index) => (\n <RadialBar\n key={key}\n dataKey={key}\n stackId={stackId}\n cornerRadius={cornerRadius}\n fill={`var(--color-${key})`}\n className=\"stroke-transparent stroke-2\"\n background={showBackground ? { fill: \"var(--muted)\" } : false}\n label={label}\n />\n ))}\n\n {showLegend && (\n <ChartLegend\n content={<ChartLegendContent nameKey={nameKey} />}\n verticalAlign=\"bottom\"\n />\n )}\n </RechartsRadialBarChart>\n </ChartContainer>\n </div>\n )\n }\n)\nRadialChart.displayName = \"RadialChart\"\n\nexport { RadialChart }","\"use client\"\n\nimport { ChartConfig } from \"./chart\"\n\n// OKLCH color palettes for different brands and themes\nexport const chartColorPalettes = {\n hanzo: {\n light: [\n \"oklch(0.65 0.18 35)\", // Neutral warm\n \"oklch(0.55 0.15 165)\", // Neutral cool\n \"oklch(0.45 0.12 195)\", // Neutral blue\n \"oklch(0.7 0.18 55)\", // Neutral yellow\n \"oklch(0.65 0.22 40)\", // Neutral orange\n \"oklch(0.5 0.1 220)\", // Neutral indigo\n \"oklch(0.6 0.15 280)\", // Neutral purple\n \"oklch(0.55 0.2 340)\", // Neutral pink\n ],\n dark: [\n \"oklch(0.5 0.17 220)\", // Cool blue\n \"oklch(0.45 0.15 160)\", // Cool green\n \"oklch(0.55 0.2 30)\", // Warm orange\n \"oklch(0.6 0.16 280)\", // Cool purple\n \"oklch(0.55 0.18 340)\", // Cool pink\n \"oklch(0.5 0.15 100)\", // Neutral green\n \"oklch(0.45 0.18 60)\", // Warm yellow\n \"oklch(0.6 0.12 200)\", // Cool cyan\n ]\n },\n lux: {\n light: [\n \"oklch(0.15 0 0)\", // Deep black\n \"oklch(0.35 0 0)\", // Dark gray\n \"oklch(0.55 0 0)\", // Medium gray\n \"oklch(0.75 0 0)\", // Light gray\n \"oklch(0.25 0 0)\", // Charcoal\n \"oklch(0.45 0 0)\", // Medium-dark gray\n \"oklch(0.85 0 0)\", // Very light gray\n \"oklch(0.65 0 0)\", // Medium-light gray\n ],\n dark: [\n \"oklch(0.985 0 0)\", // Pure white\n \"oklch(0.75 0 0)\", // Light gray\n \"oklch(0.55 0 0)\", // Medium gray\n \"oklch(0.35 0 0)\", // Dark gray\n \"oklch(0.85 0 0)\", // Very light gray\n \"oklch(0.65 0 0)\", // Medium-light gray\n \"oklch(0.25 0 0)\", // Charcoal\n \"oklch(0.45 0 0)\", // Medium-dark gray\n ]\n },\n zoo: {\n light: [\n \"oklch(0.6 0.35 0)\", // Red\n \"oklch(0.65 0.35 120)\", // Green\n \"oklch(0.55 0.35 240)\", // Blue\n \"oklch(0.7 0.35 180)\", // Cyan\n \"oklch(0.65 0.35 300)\", // Magenta\n \"oklch(0.75 0.35 60)\", // Yellow\n \"oklch(0.6 0.35 30)\", // Orange\n \"oklch(0.55 0.35 270)\", // Violet\n ],\n dark: [\n \"oklch(0.7 0.4 0)\", // Bright red\n \"oklch(0.75 0.4 120)\", // Bright green\n \"oklch(0.65 0.4 240)\", // Bright blue\n \"oklch(0.8 0.4 180)\", // Bright cyan\n \"oklch(0.75 0.4 300)\", // Bright magenta\n \"oklch(0.85 0.4 60)\", // Bright yellow\n \"oklch(0.7 0.4 30)\", // Bright orange\n \"oklch(0.65 0.4 270)\", // Bright violet\n ]\n }\n} as const\n\nexport type BrandTheme = keyof typeof chartColorPalettes\nexport type ColorMode = \"light\" | \"dark\"\n\n// Create chart configs for different brands and chart variables\nexport function createBrandChartConfig(\n brand: BrandTheme = \"hanzo\",\n mode: ColorMode = \"light\",\n variables: string[] = []\n): ChartConfig {\n const palette = chartColorPalettes[brand][mode]\n const config: ChartConfig = {}\n\n // Add chart color variables (--chart-1, --chart-2, etc.)\n for (let i = 1; i <= 8; i++) {\n config[`chart-${i}`] = {\n color: palette[i - 1] || palette[0],\n }\n }\n\n // Add custom variables if provided\n variables.forEach((variable, index) => {\n config[variable] = {\n color: palette[index % palette.length],\n }\n })\n\n return config\n}\n\n// Utility function to get theme-aware colors\nexport function getChartColor(\n key: string,\n brand: BrandTheme = \"hanzo\",\n mode: ColorMode = \"light\",\n index: number = 0\n): string {\n const palette = chartColorPalettes[brand][mode]\n return palette[index % palette.length]\n}\n\n// Predefined chart configs for common use cases\nexport const hanzoChartConfig: ChartConfig = createBrandChartConfig(\"hanzo\")\nexport const luxChartConfig: ChartConfig = createBrandChartConfig(\"lux\")\nexport const zooChartConfig: ChartConfig = createBrandChartConfig(\"zoo\")\n\n// Enhanced chart config with both light and dark themes\nexport function createEnhancedChartConfig(\n brand: BrandTheme = \"hanzo\",\n variables: string[] = []\n): ChartConfig {\n const lightPalette = chartColorPalettes[brand].light\n const darkPalette = chartColorPalettes[brand].dark\n const config: ChartConfig = {}\n\n // Add chart color variables with theme support\n for (let i = 1; i <= 8; i++) {\n config[`chart-${i}`] = {\n theme: {\n light: lightPalette[i - 1] || lightPalette[0],\n dark: darkPalette[i - 1] || darkPalette[0],\n },\n }\n }\n\n // Add custom variables with theme support\n variables.forEach((variable, index) => {\n config[variable] = {\n theme: {\n light: lightPalette[index % lightPalette.length],\n dark: darkPalette[index % darkPalette.length],\n },\n }\n })\n\n return config\n}\n\nexport const enhancedHanzoChartConfig = createEnhancedChartConfig(\"hanzo\")\nexport const enhancedLuxChartConfig = createEnhancedChartConfig(\"lux\")\nexport const enhancedZooChartConfig = createEnhancedChartConfig(\"zoo\")"]}
|