acai-ui-library 0.1.11
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/README.md +83 -0
- package/dist/components/accordion.cjs +138 -0
- package/dist/components/accordion.cjs.map +1 -0
- package/dist/components/accordion.d.cts +13 -0
- package/dist/components/accordion.d.ts +13 -0
- package/dist/components/accordion.js +100 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.cjs +282 -0
- package/dist/components/alert-dialog.cjs.map +1 -0
- package/dist/components/alert-dialog.d.cts +31 -0
- package/dist/components/alert-dialog.d.ts +31 -0
- package/dist/components/alert-dialog.js +236 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.cjs +117 -0
- package/dist/components/alert.cjs.map +1 -0
- package/dist/components/alert.d.cts +15 -0
- package/dist/components/alert.d.ts +15 -0
- package/dist/components/alert.js +78 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/app-header.cjs +137 -0
- package/dist/components/app-header.cjs.map +1 -0
- package/dist/components/app-header.d.cts +19 -0
- package/dist/components/app-header.d.ts +19 -0
- package/dist/components/app-header.js +103 -0
- package/dist/components/app-header.js.map +1 -0
- package/dist/components/avatar.cjs +176 -0
- package/dist/components/avatar.cjs.map +1 -0
- package/dist/components/avatar.d.cts +23 -0
- package/dist/components/avatar.d.ts +23 -0
- package/dist/components/avatar.js +138 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.cjs +121 -0
- package/dist/components/badge.cjs.map +1 -0
- package/dist/components/badge.d.cts +15 -0
- package/dist/components/badge.d.ts +15 -0
- package/dist/components/badge.js +96 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/banner.cjs +87 -0
- package/dist/components/banner.cjs.map +1 -0
- package/dist/components/banner.d.cts +12 -0
- package/dist/components/banner.d.ts +12 -0
- package/dist/components/banner.js +52 -0
- package/dist/components/banner.js.map +1 -0
- package/dist/components/breadcrumb.cjs +137 -0
- package/dist/components/breadcrumb.cjs.map +1 -0
- package/dist/components/breadcrumb.d.cts +22 -0
- package/dist/components/breadcrumb.d.ts +22 -0
- package/dist/components/breadcrumb.js +96 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button.cjs +125 -0
- package/dist/components/button.cjs.map +1 -0
- package/dist/components/button.d.cts +18 -0
- package/dist/components/button.d.ts +18 -0
- package/dist/components/button.js +89 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.cjs +92 -0
- package/dist/components/calendar.cjs.map +1 -0
- package/dist/components/calendar.d.cts +11 -0
- package/dist/components/calendar.d.ts +11 -0
- package/dist/components/calendar.js +67 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.cjs +142 -0
- package/dist/components/card.cjs.map +1 -0
- package/dist/components/card.d.cts +34 -0
- package/dist/components/card.d.ts +34 -0
- package/dist/components/card.js +101 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.cjs +218 -0
- package/dist/components/carousel.cjs.map +1 -0
- package/dist/components/carousel.d.cts +23 -0
- package/dist/components/carousel.d.ts +23 -0
- package/dist/components/carousel.js +179 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.cjs +181 -0
- package/dist/components/chart.cjs.map +1 -0
- package/dist/components/chart.d.cts +69 -0
- package/dist/components/chart.d.ts +69 -0
- package/dist/components/chart.js +141 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.cjs +106 -0
- package/dist/components/checkbox.cjs.map +1 -0
- package/dist/components/checkbox.d.cts +15 -0
- package/dist/components/checkbox.d.ts +15 -0
- package/dist/components/checkbox.js +70 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.cjs +48 -0
- package/dist/components/collapsible.cjs.map +1 -0
- package/dist/components/collapsible.d.cts +8 -0
- package/dist/components/collapsible.d.ts +8 -0
- package/dist/components/collapsible.js +11 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/command.cjs +245 -0
- package/dist/components/command.cjs.map +1 -0
- package/dist/components/command.d.cts +85 -0
- package/dist/components/command.d.ts +85 -0
- package/dist/components/command.js +202 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/context-menu.cjs +194 -0
- package/dist/components/context-menu.cjs.map +1 -0
- package/dist/components/context-menu.d.cts +30 -0
- package/dist/components/context-menu.d.ts +30 -0
- package/dist/components/context-menu.js +145 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dashboard-header.cjs +118 -0
- package/dist/components/dashboard-header.cjs.map +1 -0
- package/dist/components/dashboard-header.d.cts +16 -0
- package/dist/components/dashboard-header.d.ts +16 -0
- package/dist/components/dashboard-header.js +84 -0
- package/dist/components/dashboard-header.js.map +1 -0
- package/dist/components/data-table.cjs +426 -0
- package/dist/components/data-table.cjs.map +1 -0
- package/dist/components/data-table.d.cts +16 -0
- package/dist/components/data-table.d.ts +16 -0
- package/dist/components/data-table.js +398 -0
- package/dist/components/data-table.js.map +1 -0
- package/dist/components/date-picker.cjs +278 -0
- package/dist/components/date-picker.cjs.map +1 -0
- package/dist/components/date-picker.d.cts +34 -0
- package/dist/components/date-picker.d.ts +34 -0
- package/dist/components/date-picker.js +243 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/dialog.cjs +174 -0
- package/dist/components/dialog.cjs.map +1 -0
- package/dist/components/dialog.d.cts +35 -0
- package/dist/components/dialog.d.ts +35 -0
- package/dist/components/dialog.js +130 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.cjs +184 -0
- package/dist/components/drawer.cjs.map +1 -0
- package/dist/components/drawer.d.cts +33 -0
- package/dist/components/drawer.d.ts +33 -0
- package/dist/components/drawer.js +139 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.cjs +195 -0
- package/dist/components/dropdown-menu.cjs.map +1 -0
- package/dist/components/dropdown-menu.d.cts +30 -0
- package/dist/components/dropdown-menu.d.ts +30 -0
- package/dist/components/dropdown-menu.js +146 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/empty-state.cjs +94 -0
- package/dist/components/empty-state.cjs.map +1 -0
- package/dist/components/empty-state.d.cts +19 -0
- package/dist/components/empty-state.d.ts +19 -0
- package/dist/components/empty-state.js +57 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/file-input.cjs +135 -0
- package/dist/components/file-input.cjs.map +1 -0
- package/dist/components/file-input.d.cts +13 -0
- package/dist/components/file-input.d.ts +13 -0
- package/dist/components/file-input.js +101 -0
- package/dist/components/file-input.js.map +1 -0
- package/dist/components/form.cjs +256 -0
- package/dist/components/form.cjs.map +1 -0
- package/dist/components/form.d.cts +34 -0
- package/dist/components/form.d.ts +34 -0
- package/dist/components/form.js +218 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/hover-card.cjs +72 -0
- package/dist/components/hover-card.cjs.map +1 -0
- package/dist/components/hover-card.d.cts +8 -0
- package/dist/components/hover-card.d.ts +8 -0
- package/dist/components/hover-card.js +35 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/icon/bell-icon.cjs +72 -0
- package/dist/components/icon/bell-icon.cjs.map +1 -0
- package/dist/components/icon/bell-icon.d.cts +9 -0
- package/dist/components/icon/bell-icon.d.ts +9 -0
- package/dist/components/icon/bell-icon.js +47 -0
- package/dist/components/icon/bell-icon.js.map +1 -0
- package/dist/components/icon/boxicons-dashboard-icon.cjs +37 -0
- package/dist/components/icon/boxicons-dashboard-icon.cjs.map +1 -0
- package/dist/components/icon/boxicons-dashboard-icon.d.cts +7 -0
- package/dist/components/icon/boxicons-dashboard-icon.d.ts +7 -0
- package/dist/components/icon/boxicons-dashboard-icon.js +12 -0
- package/dist/components/icon/boxicons-dashboard-icon.js.map +1 -0
- package/dist/components/icon/bx-user-x-icon.cjs +37 -0
- package/dist/components/icon/bx-user-x-icon.cjs.map +1 -0
- package/dist/components/icon/bx-user-x-icon.d.cts +7 -0
- package/dist/components/icon/bx-user-x-icon.d.ts +7 -0
- package/dist/components/icon/bx-user-x-icon.js +12 -0
- package/dist/components/icon/bx-user-x-icon.js.map +1 -0
- package/dist/components/icon/bytesize-upload-icon.cjs +64 -0
- package/dist/components/icon/bytesize-upload-icon.cjs.map +1 -0
- package/dist/components/icon/bytesize-upload-icon.d.cts +7 -0
- package/dist/components/icon/bytesize-upload-icon.d.ts +7 -0
- package/dist/components/icon/bytesize-upload-icon.js +39 -0
- package/dist/components/icon/bytesize-upload-icon.js.map +1 -0
- package/dist/components/icon/clarity-notification-line-icon.cjs +37 -0
- package/dist/components/icon/clarity-notification-line-icon.cjs.map +1 -0
- package/dist/components/icon/clarity-notification-line-icon.d.cts +7 -0
- package/dist/components/icon/clarity-notification-line-icon.d.ts +7 -0
- package/dist/components/icon/clarity-notification-line-icon.js +12 -0
- package/dist/components/icon/clarity-notification-line-icon.js.map +1 -0
- package/dist/components/icon/ep-setting-icon.cjs +37 -0
- package/dist/components/icon/ep-setting-icon.cjs.map +1 -0
- package/dist/components/icon/ep-setting-icon.d.cts +7 -0
- package/dist/components/icon/ep-setting-icon.d.ts +7 -0
- package/dist/components/icon/ep-setting-icon.js +12 -0
- package/dist/components/icon/ep-setting-icon.js.map +1 -0
- package/dist/components/icon/eva-attach-fill-icon.cjs +62 -0
- package/dist/components/icon/eva-attach-fill-icon.cjs.map +1 -0
- package/dist/components/icon/eva-attach-fill-icon.d.cts +7 -0
- package/dist/components/icon/eva-attach-fill-icon.d.ts +7 -0
- package/dist/components/icon/eva-attach-fill-icon.js +37 -0
- package/dist/components/icon/eva-attach-fill-icon.js.map +1 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.cjs +37 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.cjs.map +1 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.d.cts +7 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.d.ts +7 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.js +12 -0
- package/dist/components/icon/grommet-icons-upgrade-icon.js.map +1 -0
- package/dist/components/icon/ic-round-work-outline-icon.cjs +37 -0
- package/dist/components/icon/ic-round-work-outline-icon.cjs.map +1 -0
- package/dist/components/icon/ic-round-work-outline-icon.d.cts +7 -0
- package/dist/components/icon/ic-round-work-outline-icon.d.ts +7 -0
- package/dist/components/icon/ic-round-work-outline-icon.js +12 -0
- package/dist/components/icon/ic-round-work-outline-icon.js.map +1 -0
- package/dist/components/icon/icon-ai-line-icon.cjs +37 -0
- package/dist/components/icon/icon-ai-line-icon.cjs.map +1 -0
- package/dist/components/icon/icon-ai-line-icon.d.cts +7 -0
- package/dist/components/icon/icon-ai-line-icon.d.ts +7 -0
- package/dist/components/icon/icon-ai-line-icon.js +12 -0
- package/dist/components/icon/icon-ai-line-icon.js.map +1 -0
- package/dist/components/icon/icon-calender-icon.cjs +37 -0
- package/dist/components/icon/icon-calender-icon.cjs.map +1 -0
- package/dist/components/icon/icon-calender-icon.d.cts +7 -0
- package/dist/components/icon/icon-calender-icon.d.ts +7 -0
- package/dist/components/icon/icon-calender-icon.js +12 -0
- package/dist/components/icon/icon-calender-icon.js.map +1 -0
- package/dist/components/icon/icon-close-icon.cjs +37 -0
- package/dist/components/icon/icon-close-icon.cjs.map +1 -0
- package/dist/components/icon/icon-close-icon.d.cts +7 -0
- package/dist/components/icon/icon-close-icon.d.ts +7 -0
- package/dist/components/icon/icon-close-icon.js +12 -0
- package/dist/components/icon/icon-close-icon.js.map +1 -0
- package/dist/components/icon/icon-delete-icon.cjs +37 -0
- package/dist/components/icon/icon-delete-icon.cjs.map +1 -0
- package/dist/components/icon/icon-delete-icon.d.cts +7 -0
- package/dist/components/icon/icon-delete-icon.d.ts +7 -0
- package/dist/components/icon/icon-delete-icon.js +12 -0
- package/dist/components/icon/icon-delete-icon.js.map +1 -0
- package/dist/components/icon/icon-download-filled-icon.cjs +37 -0
- package/dist/components/icon/icon-download-filled-icon.cjs.map +1 -0
- package/dist/components/icon/icon-download-filled-icon.d.cts +7 -0
- package/dist/components/icon/icon-download-filled-icon.d.ts +7 -0
- package/dist/components/icon/icon-download-filled-icon.js +12 -0
- package/dist/components/icon/icon-download-filled-icon.js.map +1 -0
- package/dist/components/icon/icon-edit-icon.cjs +38 -0
- package/dist/components/icon/icon-edit-icon.cjs.map +1 -0
- package/dist/components/icon/icon-edit-icon.d.cts +7 -0
- package/dist/components/icon/icon-edit-icon.d.ts +7 -0
- package/dist/components/icon/icon-edit-icon.js +13 -0
- package/dist/components/icon/icon-edit-icon.js.map +1 -0
- package/dist/components/icon/icon-help-icon.cjs +37 -0
- package/dist/components/icon/icon-help-icon.cjs.map +1 -0
- package/dist/components/icon/icon-help-icon.d.cts +7 -0
- package/dist/components/icon/icon-help-icon.d.ts +7 -0
- package/dist/components/icon/icon-help-icon.js +12 -0
- package/dist/components/icon/icon-help-icon.js.map +1 -0
- package/dist/components/icon/icon-info-line-icon.cjs +37 -0
- package/dist/components/icon/icon-info-line-icon.cjs.map +1 -0
- package/dist/components/icon/icon-info-line-icon.d.cts +7 -0
- package/dist/components/icon/icon-info-line-icon.d.ts +7 -0
- package/dist/components/icon/icon-info-line-icon.js +12 -0
- package/dist/components/icon/icon-info-line-icon.js.map +1 -0
- package/dist/components/icon/icon-search-icon.cjs +37 -0
- package/dist/components/icon/icon-search-icon.cjs.map +1 -0
- package/dist/components/icon/icon-search-icon.d.cts +7 -0
- package/dist/components/icon/icon-search-icon.d.ts +7 -0
- package/dist/components/icon/icon-search-icon.js +12 -0
- package/dist/components/icon/icon-search-icon.js.map +1 -0
- package/dist/components/icon/icon-security-icon.cjs +37 -0
- package/dist/components/icon/icon-security-icon.cjs.map +1 -0
- package/dist/components/icon/icon-security-icon.d.cts +7 -0
- package/dist/components/icon/icon-security-icon.d.ts +7 -0
- package/dist/components/icon/icon-security-icon.js +12 -0
- package/dist/components/icon/icon-security-icon.js.map +1 -0
- package/dist/components/icon/icon-upload-icon.cjs +37 -0
- package/dist/components/icon/icon-upload-icon.cjs.map +1 -0
- package/dist/components/icon/icon-upload-icon.d.cts +7 -0
- package/dist/components/icon/icon-upload-icon.d.ts +7 -0
- package/dist/components/icon/icon-upload-icon.js +12 -0
- package/dist/components/icon/icon-upload-icon.js.map +1 -0
- package/dist/components/icon/icon-user-icon.cjs +38 -0
- package/dist/components/icon/icon-user-icon.cjs.map +1 -0
- package/dist/components/icon/icon-user-icon.d.cts +7 -0
- package/dist/components/icon/icon-user-icon.d.ts +7 -0
- package/dist/components/icon/icon-user-icon.js +13 -0
- package/dist/components/icon/icon-user-icon.js.map +1 -0
- package/dist/components/icon/icon-view-outline-icon.cjs +38 -0
- package/dist/components/icon/icon-view-outline-icon.cjs.map +1 -0
- package/dist/components/icon/icon-view-outline-icon.d.cts +7 -0
- package/dist/components/icon/icon-view-outline-icon.d.ts +7 -0
- package/dist/components/icon/icon-view-outline-icon.js +13 -0
- package/dist/components/icon/icon-view-outline-icon.js.map +1 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.cjs +37 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.cjs.map +1 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.d.cts +7 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.d.ts +7 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.js +12 -0
- package/dist/components/icon/iconamoon-arrow-down2-icon.js.map +1 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.cjs +37 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.cjs.map +1 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.d.cts +7 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.d.ts +7 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.js +12 -0
- package/dist/components/icon/iconamoon-arrow-left1-icon.js.map +1 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.cjs +37 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.cjs.map +1 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.d.cts +7 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.d.ts +7 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.js +12 -0
- package/dist/components/icon/iconamoon-arrow-left2-duotone-icon.js.map +1 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.cjs +37 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.cjs.map +1 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.d.cts +7 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.d.ts +7 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.js +12 -0
- package/dist/components/icon/iconamoon-arrow-right2-icon.js.map +1 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.cjs +37 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.cjs.map +1 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.d.cts +7 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.d.ts +7 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.js +12 -0
- package/dist/components/icon/iconamoon-arrow-up2-duotone-icon.js.map +1 -0
- package/dist/components/icon/iconoir-bell-notification-icon.cjs +64 -0
- package/dist/components/icon/iconoir-bell-notification-icon.cjs.map +1 -0
- package/dist/components/icon/iconoir-bell-notification-icon.d.cts +7 -0
- package/dist/components/icon/iconoir-bell-notification-icon.d.ts +7 -0
- package/dist/components/icon/iconoir-bell-notification-icon.js +39 -0
- package/dist/components/icon/iconoir-bell-notification-icon.js.map +1 -0
- package/dist/components/icon/icons-menu-dots16-icon.cjs +37 -0
- package/dist/components/icon/icons-menu-dots16-icon.cjs.map +1 -0
- package/dist/components/icon/icons-menu-dots16-icon.d.cts +7 -0
- package/dist/components/icon/icons-menu-dots16-icon.d.ts +7 -0
- package/dist/components/icon/icons-menu-dots16-icon.js +12 -0
- package/dist/components/icon/icons-menu-dots16-icon.js.map +1 -0
- package/dist/components/icon/icons8-minus-icon.cjs +37 -0
- package/dist/components/icon/icons8-minus-icon.cjs.map +1 -0
- package/dist/components/icon/icons8-minus-icon.d.cts +7 -0
- package/dist/components/icon/icons8-minus-icon.d.ts +7 -0
- package/dist/components/icon/icons8-minus-icon.js +12 -0
- package/dist/components/icon/icons8-minus-icon.js.map +1 -0
- package/dist/components/icon/index.cjs +991 -0
- package/dist/components/icon/index.cjs.map +1 -0
- package/dist/components/icon/index.d.cts +114 -0
- package/dist/components/icon/index.d.ts +114 -0
- package/dist/components/icon/index.js +911 -0
- package/dist/components/icon/index.js.map +1 -0
- package/dist/components/icon/ion-finger-print-icon.cjs +83 -0
- package/dist/components/icon/ion-finger-print-icon.cjs.map +1 -0
- package/dist/components/icon/ion-finger-print-icon.d.cts +7 -0
- package/dist/components/icon/ion-finger-print-icon.d.ts +7 -0
- package/dist/components/icon/ion-finger-print-icon.js +58 -0
- package/dist/components/icon/ion-finger-print-icon.js.map +1 -0
- package/dist/components/icon/ion-warning-outline-icon.cjs +39 -0
- package/dist/components/icon/ion-warning-outline-icon.cjs.map +1 -0
- package/dist/components/icon/ion-warning-outline-icon.d.cts +7 -0
- package/dist/components/icon/ion-warning-outline-icon.d.ts +7 -0
- package/dist/components/icon/ion-warning-outline-icon.js +14 -0
- package/dist/components/icon/ion-warning-outline-icon.js.map +1 -0
- package/dist/components/icon/library-icon-props.cjs +19 -0
- package/dist/components/icon/library-icon-props.cjs.map +1 -0
- package/dist/components/icon/library-icon-props.d.cts +8 -0
- package/dist/components/icon/library-icon-props.d.ts +8 -0
- package/dist/components/icon/library-icon-props.js +1 -0
- package/dist/components/icon/library-icon-props.js.map +1 -0
- package/dist/components/icon/lucide-file-edit-icon.cjs +38 -0
- package/dist/components/icon/lucide-file-edit-icon.cjs.map +1 -0
- package/dist/components/icon/lucide-file-edit-icon.d.cts +7 -0
- package/dist/components/icon/lucide-file-edit-icon.d.ts +7 -0
- package/dist/components/icon/lucide-file-edit-icon.js +13 -0
- package/dist/components/icon/lucide-file-edit-icon.js.map +1 -0
- package/dist/components/icon/lucide-user-check-icon.cjs +38 -0
- package/dist/components/icon/lucide-user-check-icon.cjs.map +1 -0
- package/dist/components/icon/lucide-user-check-icon.d.cts +7 -0
- package/dist/components/icon/lucide-user-check-icon.d.ts +7 -0
- package/dist/components/icon/lucide-user-check-icon.js +13 -0
- package/dist/components/icon/lucide-user-check-icon.js.map +1 -0
- package/dist/components/icon/lucide-users-round-icon.cjs +39 -0
- package/dist/components/icon/lucide-users-round-icon.cjs.map +1 -0
- package/dist/components/icon/lucide-users-round-icon.d.cts +7 -0
- package/dist/components/icon/lucide-users-round-icon.d.ts +7 -0
- package/dist/components/icon/lucide-users-round-icon.js +14 -0
- package/dist/components/icon/lucide-users-round-icon.js.map +1 -0
- package/dist/components/icon/mage-dashboard-cross-icon.cjs +38 -0
- package/dist/components/icon/mage-dashboard-cross-icon.cjs.map +1 -0
- package/dist/components/icon/mage-dashboard-cross-icon.d.cts +7 -0
- package/dist/components/icon/mage-dashboard-cross-icon.d.ts +7 -0
- package/dist/components/icon/mage-dashboard-cross-icon.js +13 -0
- package/dist/components/icon/mage-dashboard-cross-icon.js.map +1 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.cjs +62 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.cjs.map +1 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.d.cts +7 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.d.ts +7 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.js +37 -0
- package/dist/components/icon/material-symbols-help-outline-rounded-icon.js.map +1 -0
- package/dist/components/icon/material-symbols-light-travel-icon.cjs +62 -0
- package/dist/components/icon/material-symbols-light-travel-icon.cjs.map +1 -0
- package/dist/components/icon/material-symbols-light-travel-icon.d.cts +7 -0
- package/dist/components/icon/material-symbols-light-travel-icon.d.ts +7 -0
- package/dist/components/icon/material-symbols-light-travel-icon.js +37 -0
- package/dist/components/icon/material-symbols-light-travel-icon.js.map +1 -0
- package/dist/components/icon/material-symbols-task-outline-icon.cjs +37 -0
- package/dist/components/icon/material-symbols-task-outline-icon.cjs.map +1 -0
- package/dist/components/icon/material-symbols-task-outline-icon.d.cts +7 -0
- package/dist/components/icon/material-symbols-task-outline-icon.d.ts +7 -0
- package/dist/components/icon/material-symbols-task-outline-icon.js +12 -0
- package/dist/components/icon/material-symbols-task-outline-icon.js.map +1 -0
- package/dist/components/icon/mingcute-announcement-line-icon.cjs +64 -0
- package/dist/components/icon/mingcute-announcement-line-icon.cjs.map +1 -0
- package/dist/components/icon/mingcute-announcement-line-icon.d.cts +7 -0
- package/dist/components/icon/mingcute-announcement-line-icon.d.ts +7 -0
- package/dist/components/icon/mingcute-announcement-line-icon.js +39 -0
- package/dist/components/icon/mingcute-announcement-line-icon.js.map +1 -0
- package/dist/components/icon/mynaui-lock-icon.cjs +37 -0
- package/dist/components/icon/mynaui-lock-icon.cjs.map +1 -0
- package/dist/components/icon/mynaui-lock-icon.d.cts +7 -0
- package/dist/components/icon/mynaui-lock-icon.d.ts +7 -0
- package/dist/components/icon/mynaui-lock-icon.js +12 -0
- package/dist/components/icon/mynaui-lock-icon.js.map +1 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.cjs +71 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.cjs.map +1 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.d.cts +7 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.d.ts +7 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.js +46 -0
- package/dist/components/icon/qlementine-icons-success-12-icon.js.map +1 -0
- package/dist/components/icon/solar-calendar-linear-icon.cjs +39 -0
- package/dist/components/icon/solar-calendar-linear-icon.cjs.map +1 -0
- package/dist/components/icon/solar-calendar-linear-icon.d.cts +7 -0
- package/dist/components/icon/solar-calendar-linear-icon.d.ts +7 -0
- package/dist/components/icon/solar-calendar-linear-icon.js +14 -0
- package/dist/components/icon/solar-calendar-linear-icon.js.map +1 -0
- package/dist/components/icon/stash-integrations-icon.cjs +37 -0
- package/dist/components/icon/stash-integrations-icon.cjs.map +1 -0
- package/dist/components/icon/stash-integrations-icon.d.cts +7 -0
- package/dist/components/icon/stash-integrations-icon.d.ts +7 -0
- package/dist/components/icon/stash-integrations-icon.js +12 -0
- package/dist/components/icon/stash-integrations-icon.js.map +1 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.cjs +37 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.cjs.map +1 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.d.cts +7 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.d.ts +7 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.js +12 -0
- package/dist/components/icon/streamline-ultimate-performance-increase-icon.js.map +1 -0
- package/dist/components/icon/success-icon.cjs +38 -0
- package/dist/components/icon/success-icon.cjs.map +1 -0
- package/dist/components/icon/success-icon.d.cts +7 -0
- package/dist/components/icon/success-icon.d.ts +7 -0
- package/dist/components/icon/success-icon.js +13 -0
- package/dist/components/icon/success-icon.js.map +1 -0
- package/dist/components/icon/tabler-arrow-down-icon.cjs +37 -0
- package/dist/components/icon/tabler-arrow-down-icon.cjs.map +1 -0
- package/dist/components/icon/tabler-arrow-down-icon.d.cts +7 -0
- package/dist/components/icon/tabler-arrow-down-icon.d.ts +7 -0
- package/dist/components/icon/tabler-arrow-down-icon.js +12 -0
- package/dist/components/icon/tabler-arrow-down-icon.js.map +1 -0
- package/dist/components/icon/tabler-arrow-right-icon.cjs +37 -0
- package/dist/components/icon/tabler-arrow-right-icon.cjs.map +1 -0
- package/dist/components/icon/tabler-arrow-right-icon.d.cts +7 -0
- package/dist/components/icon/tabler-arrow-right-icon.d.ts +7 -0
- package/dist/components/icon/tabler-arrow-right-icon.js +12 -0
- package/dist/components/icon/tabler-arrow-right-icon.js.map +1 -0
- package/dist/components/icon/tabler-arrow-up-icon.cjs +37 -0
- package/dist/components/icon/tabler-arrow-up-icon.cjs.map +1 -0
- package/dist/components/icon/tabler-arrow-up-icon.d.cts +7 -0
- package/dist/components/icon/tabler-arrow-up-icon.d.ts +7 -0
- package/dist/components/icon/tabler-arrow-up-icon.js +12 -0
- package/dist/components/icon/tabler-arrow-up-icon.js.map +1 -0
- package/dist/components/icon/tabler-clock-icon.cjs +75 -0
- package/dist/components/icon/tabler-clock-icon.cjs.map +1 -0
- package/dist/components/icon/tabler-clock-icon.d.cts +7 -0
- package/dist/components/icon/tabler-clock-icon.d.ts +7 -0
- package/dist/components/icon/tabler-clock-icon.js +50 -0
- package/dist/components/icon/tabler-clock-icon.js.map +1 -0
- package/dist/components/icon/uil-arrow-growth-icon.cjs +37 -0
- package/dist/components/icon/uil-arrow-growth-icon.cjs.map +1 -0
- package/dist/components/icon/uil-arrow-growth-icon.d.cts +7 -0
- package/dist/components/icon/uil-arrow-growth-icon.d.ts +7 -0
- package/dist/components/icon/uil-arrow-growth-icon.js +12 -0
- package/dist/components/icon/uil-arrow-growth-icon.js.map +1 -0
- package/dist/components/icon/uil-credit-card-icon.cjs +37 -0
- package/dist/components/icon/uil-credit-card-icon.cjs.map +1 -0
- package/dist/components/icon/uil-credit-card-icon.d.cts +7 -0
- package/dist/components/icon/uil-credit-card-icon.d.ts +7 -0
- package/dist/components/icon/uil-credit-card-icon.js +12 -0
- package/dist/components/icon/uil-credit-card-icon.js.map +1 -0
- package/dist/components/icon/uil-graph-bar-icon.cjs +37 -0
- package/dist/components/icon/uil-graph-bar-icon.cjs.map +1 -0
- package/dist/components/icon/uil-graph-bar-icon.d.cts +7 -0
- package/dist/components/icon/uil-graph-bar-icon.d.ts +7 -0
- package/dist/components/icon/uil-graph-bar-icon.js +12 -0
- package/dist/components/icon/uil-graph-bar-icon.js.map +1 -0
- package/dist/components/input-group.cjs +107 -0
- package/dist/components/input-group.cjs.map +1 -0
- package/dist/components/input-group.d.cts +17 -0
- package/dist/components/input-group.d.ts +17 -0
- package/dist/components/input-group.js +71 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.cjs +127 -0
- package/dist/components/input-otp.cjs.map +1 -0
- package/dist/components/input-otp.d.cts +40 -0
- package/dist/components/input-otp.d.ts +40 -0
- package/dist/components/input-otp.js +89 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.cjs +231 -0
- package/dist/components/input.cjs.map +1 -0
- package/dist/components/input.d.cts +19 -0
- package/dist/components/input.d.ts +19 -0
- package/dist/components/input.js +195 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/item.cjs +150 -0
- package/dist/components/item.cjs.map +1 -0
- package/dist/components/item.d.cts +17 -0
- package/dist/components/item.d.ts +17 -0
- package/dist/components/item.js +109 -0
- package/dist/components/item.js.map +1 -0
- package/dist/components/label.cjs +124 -0
- package/dist/components/label.cjs.map +1 -0
- package/dist/components/label.d.cts +14 -0
- package/dist/components/label.d.ts +14 -0
- package/dist/components/label.js +89 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/menubar.cjs +219 -0
- package/dist/components/menubar.cjs.map +1 -0
- package/dist/components/menubar.d.cts +31 -0
- package/dist/components/menubar.d.ts +31 -0
- package/dist/components/menubar.js +169 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/navigation-menu.cjs +154 -0
- package/dist/components/navigation-menu.cjs.map +1 -0
- package/dist/components/navigation-menu.d.cts +15 -0
- package/dist/components/navigation-menu.d.ts +15 -0
- package/dist/components/navigation-menu.js +111 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/pagination.cjs +253 -0
- package/dist/components/pagination.cjs.map +1 -0
- package/dist/components/pagination.d.cts +43 -0
- package/dist/components/pagination.d.ts +43 -0
- package/dist/components/pagination.js +211 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.cjs +72 -0
- package/dist/components/popover.cjs.map +1 -0
- package/dist/components/popover.d.cts +8 -0
- package/dist/components/popover.d.ts +8 -0
- package/dist/components/popover.js +35 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.cjs +151 -0
- package/dist/components/progress.cjs.map +1 -0
- package/dist/components/progress.d.cts +17 -0
- package/dist/components/progress.d.ts +17 -0
- package/dist/components/progress.js +116 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.cjs +81 -0
- package/dist/components/radio-group.cjs.map +1 -0
- package/dist/components/radio-group.d.cts +7 -0
- package/dist/components/radio-group.d.ts +7 -0
- package/dist/components/radio-group.js +45 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/resizable.cjs +85 -0
- package/dist/components/resizable.cjs.map +1 -0
- package/dist/components/resizable.d.cts +34 -0
- package/dist/components/resizable.d.ts +34 -0
- package/dist/components/resizable.js +48 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/scroll-area.cjs +85 -0
- package/dist/components/scroll-area.cjs.map +1 -0
- package/dist/components/scroll-area.d.cts +11 -0
- package/dist/components/scroll-area.d.ts +11 -0
- package/dist/components/scroll-area.js +49 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.cjs +172 -0
- package/dist/components/select.cjs.map +1 -0
- package/dist/components/select.d.cts +15 -0
- package/dist/components/select.d.ts +15 -0
- package/dist/components/select.js +128 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.cjs +85 -0
- package/dist/components/separator.cjs.map +1 -0
- package/dist/components/separator.d.cts +9 -0
- package/dist/components/separator.d.ts +9 -0
- package/dist/components/separator.js +50 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.cjs +162 -0
- package/dist/components/sheet.cjs.map +1 -0
- package/dist/components/sheet.d.cts +30 -0
- package/dist/components/sheet.d.ts +30 -0
- package/dist/components/sheet.js +118 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.cjs +523 -0
- package/dist/components/sidebar.cjs.map +1 -0
- package/dist/components/sidebar.d.cts +45 -0
- package/dist/components/sidebar.d.ts +45 -0
- package/dist/components/sidebar.js +475 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.cjs +55 -0
- package/dist/components/skeleton.cjs.map +1 -0
- package/dist/components/skeleton.d.cts +9 -0
- package/dist/components/skeleton.d.ts +9 -0
- package/dist/components/skeleton.js +28 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.cjs +77 -0
- package/dist/components/slider.cjs.map +1 -0
- package/dist/components/slider.d.cts +6 -0
- package/dist/components/slider.d.ts +6 -0
- package/dist/components/slider.js +42 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.cjs +56 -0
- package/dist/components/sonner.cjs.map +1 -0
- package/dist/components/sonner.d.cts +8 -0
- package/dist/components/sonner.d.ts +8 -0
- package/dist/components/sonner.js +30 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/spinner.cjs +87 -0
- package/dist/components/spinner.cjs.map +1 -0
- package/dist/components/spinner.d.cts +12 -0
- package/dist/components/spinner.d.ts +12 -0
- package/dist/components/spinner.js +51 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stepper.cjs +201 -0
- package/dist/components/stepper.cjs.map +1 -0
- package/dist/components/stepper.d.cts +20 -0
- package/dist/components/stepper.d.ts +20 -0
- package/dist/components/stepper.js +165 -0
- package/dist/components/stepper.js.map +1 -0
- package/dist/components/switch.cjs +99 -0
- package/dist/components/switch.cjs.map +1 -0
- package/dist/components/switch.d.cts +14 -0
- package/dist/components/switch.d.ts +14 -0
- package/dist/components/switch.js +63 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.cjs +97 -0
- package/dist/components/table.cjs.map +1 -0
- package/dist/components/table.d.cts +12 -0
- package/dist/components/table.d.ts +12 -0
- package/dist/components/table.js +55 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.cjs +95 -0
- package/dist/components/tabs.cjs.map +1 -0
- package/dist/components/tabs.d.cts +9 -0
- package/dist/components/tabs.d.ts +9 -0
- package/dist/components/tabs.js +57 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.cjs +84 -0
- package/dist/components/textarea.cjs.map +1 -0
- package/dist/components/textarea.d.cts +9 -0
- package/dist/components/textarea.d.ts +9 -0
- package/dist/components/textarea.js +49 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/theme-provider.cjs +39 -0
- package/dist/components/theme-provider.cjs.map +1 -0
- package/dist/components/theme-provider.d.cts +7 -0
- package/dist/components/theme-provider.d.ts +7 -0
- package/dist/components/theme-provider.js +14 -0
- package/dist/components/theme-provider.js.map +1 -0
- package/dist/components/toggle-group.cjs +122 -0
- package/dist/components/toggle-group.cjs.map +1 -0
- package/dist/components/toggle-group.d.cts +15 -0
- package/dist/components/toggle-group.d.ts +15 -0
- package/dist/components/toggle-group.js +86 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.cjs +84 -0
- package/dist/components/toggle.cjs.map +1 -0
- package/dist/components/toggle.d.cts +14 -0
- package/dist/components/toggle.d.ts +14 -0
- package/dist/components/toggle.js +48 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.cjs +74 -0
- package/dist/components/tooltip.cjs.map +1 -0
- package/dist/components/tooltip.d.cts +9 -0
- package/dist/components/tooltip.d.ts +9 -0
- package/dist/components/tooltip.js +36 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/typography.cjs +140 -0
- package/dist/components/typography.cjs.map +1 -0
- package/dist/components/typography.d.cts +24 -0
- package/dist/components/typography.d.ts +24 -0
- package/dist/components/typography.js +96 -0
- package/dist/components/typography.js.map +1 -0
- package/dist/index.cjs +5041 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +112 -0
- package/dist/index.d.ts +112 -0
- package/dist/index.js +4734 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.cjs +35 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.d.cts +5 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +336 -0
- package/package.json +128 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/components/chart.tsx
|
|
31
|
+
var chart_exports = {};
|
|
32
|
+
__export(chart_exports, {
|
|
33
|
+
ChartContainer: () => ChartContainer,
|
|
34
|
+
ChartLegend: () => ChartLegend,
|
|
35
|
+
ChartLegendContent: () => ChartLegendContent,
|
|
36
|
+
ChartStyle: () => ChartStyle,
|
|
37
|
+
ChartTooltip: () => ChartTooltip,
|
|
38
|
+
ChartTooltipContent: () => ChartTooltipContent
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(chart_exports);
|
|
41
|
+
var React = __toESM(require("react"), 1);
|
|
42
|
+
var RechartsPrimitive = __toESM(require("recharts"), 1);
|
|
43
|
+
|
|
44
|
+
// src/lib/utils.ts
|
|
45
|
+
var import_clsx = require("clsx");
|
|
46
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
47
|
+
function cn(...inputs) {
|
|
48
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// src/components/chart.tsx
|
|
52
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
53
|
+
var THEMES = { light: "", dark: ".dark" };
|
|
54
|
+
var ChartContext = React.createContext(null);
|
|
55
|
+
function useChart() {
|
|
56
|
+
const context = React.useContext(ChartContext);
|
|
57
|
+
if (!context) throw new Error("useChart must be used within a <ChartContainer />");
|
|
58
|
+
return context;
|
|
59
|
+
}
|
|
60
|
+
var ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
|
|
61
|
+
const uniqueId = React.useId();
|
|
62
|
+
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
63
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
"data-chart": chartId,
|
|
67
|
+
ref,
|
|
68
|
+
className: cn(
|
|
69
|
+
"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",
|
|
70
|
+
className
|
|
71
|
+
),
|
|
72
|
+
...props,
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartStyle, { id: chartId, config }),
|
|
75
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
) });
|
|
79
|
+
});
|
|
80
|
+
ChartContainer.displayName = "ChartContainer";
|
|
81
|
+
var ChartStyle = ({ id, config }) => {
|
|
82
|
+
const colorConfig = Object.entries(config).filter(([_, cfg]) => cfg.theme || cfg.color);
|
|
83
|
+
if (!colorConfig.length) return null;
|
|
84
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
85
|
+
"style",
|
|
86
|
+
{
|
|
87
|
+
dangerouslySetInnerHTML: {
|
|
88
|
+
__html: Object.entries(THEMES).map(
|
|
89
|
+
([theme, prefix]) => `
|
|
90
|
+
${prefix} [data-chart=${id}] {
|
|
91
|
+
${colorConfig.map(([key, itemConfig]) => {
|
|
92
|
+
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
93
|
+
return color ? ` --color-${key}: ${color};` : null;
|
|
94
|
+
}).join("\n")}
|
|
95
|
+
}`
|
|
96
|
+
).join("\n")
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
var ChartTooltip = RechartsPrimitive.Tooltip;
|
|
102
|
+
var ChartTooltipContent = React.forwardRef(
|
|
103
|
+
({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }, ref) => {
|
|
104
|
+
const { config } = useChart();
|
|
105
|
+
const tooltipLabel = React.useMemo(() => {
|
|
106
|
+
if (hideLabel || !payload?.length) return null;
|
|
107
|
+
const item = payload[0];
|
|
108
|
+
const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
|
|
109
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
110
|
+
const value = !labelKey && typeof label === "string" ? itemConfig?.label || label : label;
|
|
111
|
+
if (labelFormatter) {
|
|
112
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
113
|
+
}
|
|
114
|
+
if (!value) return null;
|
|
115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
|
|
116
|
+
}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
|
|
117
|
+
if (!active || !payload?.length) return null;
|
|
118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ref, className: cn("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", className), children: [
|
|
119
|
+
tooltipLabel,
|
|
120
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
121
|
+
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
122
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
123
|
+
const indicatorColor = color || item.payload?.fill || item.color;
|
|
124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground", indicator === "dot" && "items-center"), children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
125
|
+
!hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
|
|
129
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
130
|
+
"w-1": indicator === "line",
|
|
131
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
132
|
+
"my-0.5": indicator === "dashed" || indicator === "line"
|
|
133
|
+
}),
|
|
134
|
+
style: { "--color-bg": indicatorColor, "--color-border": indicatorColor }
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: cn("flex flex-1 justify-between leading-none", hideIndicator ? "gap-2" : "gap-2"), children: [
|
|
138
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid gap-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name }) }),
|
|
139
|
+
item.value !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
140
|
+
] })
|
|
141
|
+
] }) }, item.dataKey);
|
|
142
|
+
}) })
|
|
143
|
+
] });
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
ChartTooltipContent.displayName = "ChartTooltipContent";
|
|
147
|
+
var ChartLegend = RechartsPrimitive.Legend;
|
|
148
|
+
var ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
149
|
+
const { config } = useChart();
|
|
150
|
+
if (!payload?.length) return null;
|
|
151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload.map((item) => {
|
|
152
|
+
const key = `${nameKey || item.dataKey || "value"}`;
|
|
153
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"), children: [
|
|
155
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: { backgroundColor: item.color } }),
|
|
156
|
+
itemConfig?.label
|
|
157
|
+
] }, item.value);
|
|
158
|
+
}) });
|
|
159
|
+
});
|
|
160
|
+
ChartLegendContent.displayName = "ChartLegendContent";
|
|
161
|
+
function getPayloadConfigFromPayload(config, payload, key) {
|
|
162
|
+
if (typeof payload !== "object" || payload === null) return void 0;
|
|
163
|
+
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
|
164
|
+
let configLabelKey = key;
|
|
165
|
+
if (key in config) {
|
|
166
|
+
configLabelKey = key;
|
|
167
|
+
} else if (payloadPayload && key in payloadPayload) {
|
|
168
|
+
configLabelKey = payloadPayload[key];
|
|
169
|
+
}
|
|
170
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
171
|
+
}
|
|
172
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
173
|
+
0 && (module.exports = {
|
|
174
|
+
ChartContainer,
|
|
175
|
+
ChartLegend,
|
|
176
|
+
ChartLegendContent,
|
|
177
|
+
ChartStyle,
|
|
178
|
+
ChartTooltip,
|
|
179
|
+
ChartTooltipContent
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=chart.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/chart.tsx","../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\nimport { cn } from \"../lib/utils\"\n\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}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n if (!context) throw new Error(\"useChart must be used within a <ChartContainer />\")\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\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 = \"ChartContainer\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([_, cfg]) => cfg.theme || cfg.color)\n if (!colorConfig.length) return null\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 = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\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 { active, payload, className, indicator = \"dot\", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey },\n ref\n ) => {\n const { config } = useChart()\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) return null\n const item = payload[0]\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value = !labelKey && typeof label === \"string\" ? (itemConfig?.label || label) : label\n if (labelFormatter) {\n return <div className={cn(\"font-medium\", labelClassName)}>{labelFormatter(value, payload)}</div>\n }\n if (!value) return null\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey])\n\n if (!active || !payload?.length) return null\n\n return (\n <div ref={ref} className={cn(\"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\", className)}>\n {tooltipLabel}\n <div className=\"grid gap-1.5\">\n {payload.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 as Record<string, string>)?.fill || item.color\n\n return (\n <div key={item.dataKey} className={cn(\"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\", indicator === \"dot\" && \"items-center\")}>\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Record<string, unknown>[])\n ) : (\n <>\n {!hideIndicator && (\n <div\n className={cn(\"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\", {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\n \"my-0.5\": indicator === \"dashed\" || indicator === \"line\",\n })}\n style={{ \"--color-bg\": indicatorColor, \"--color-border\": indicatorColor } as React.CSSProperties}\n />\n )}\n <div className={cn(\"flex flex-1 justify-between leading-none\", hideIndicator ? \"gap-2\" : \"gap-2\")}>\n <div className=\"grid gap-1.5\">\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value !== undefined && (\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 = \"ChartTooltipContent\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & { hideIcon?: boolean; nameKey?: string }\n>(({ className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey }, ref) => {\n const { config } = useChart()\n if (!payload?.length) return null\n\n return (\n <div ref={ref} className={cn(\"flex items-center justify-center gap-4\", verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\", className)}>\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n return (\n <div key={item.value} className={cn(\"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\")}>\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div className=\"h-2 w-2 shrink-0 rounded-[2px]\" style={{ backgroundColor: item.color }} />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n})\nChartLegendContent.displayName = \"ChartLegendContent\"\n\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== \"object\" || payload === null) return undefined\n const payloadPayload = \"payload\" in payload && typeof payload.payload === \"object\" && payload.payload !== null ? payload.payload : undefined\n let configLabelKey: string = key\n if (key in config) {\n configLabelKey = key\n } else if (payloadPayload && key in (payloadPayload as Record<string, unknown>)) {\n configLabelKey = (payloadPayload as Record<string, string>)[key]\n }\n return configLabelKey in config ? config[configLabelKey] : config[key]\n}\n\nexport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as recharts_types_util_payload_getUniqPayload from 'recharts/types/util/payload/getUniqPayload';
|
|
2
|
+
import * as recharts_types_component_Tooltip from 'recharts/types/component/Tooltip';
|
|
3
|
+
import * as recharts_types_util_types from 'recharts/types/util/types';
|
|
4
|
+
import * as recharts_types_component_DefaultTooltipContent from 'recharts/types/component/DefaultTooltipContent';
|
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import * as RechartsPrimitive from 'recharts';
|
|
8
|
+
|
|
9
|
+
declare const THEMES: {
|
|
10
|
+
readonly light: "";
|
|
11
|
+
readonly dark: ".dark";
|
|
12
|
+
};
|
|
13
|
+
type ChartConfig = {
|
|
14
|
+
[k in string]: {
|
|
15
|
+
label?: React.ReactNode;
|
|
16
|
+
icon?: React.ComponentType;
|
|
17
|
+
} & ({
|
|
18
|
+
color?: string;
|
|
19
|
+
theme?: never;
|
|
20
|
+
} | {
|
|
21
|
+
color?: never;
|
|
22
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
declare const ChartContainer: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
26
|
+
config: ChartConfig;
|
|
27
|
+
children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
|
|
28
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
+
declare const ChartStyle: ({ id, config }: {
|
|
30
|
+
id: string;
|
|
31
|
+
config: ChartConfig;
|
|
32
|
+
}) => react_jsx_runtime.JSX.Element | null;
|
|
33
|
+
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
|
|
34
|
+
declare const ChartTooltipContent: React.ForwardRefExoticComponent<Omit<RechartsPrimitive.DefaultTooltipContentProps<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType> & {
|
|
35
|
+
accessibilityLayer?: boolean;
|
|
36
|
+
active?: boolean | undefined;
|
|
37
|
+
includeHidden?: boolean | undefined;
|
|
38
|
+
allowEscapeViewBox?: recharts_types_util_types.AllowInDimension;
|
|
39
|
+
animationDuration?: recharts_types_util_types.AnimationDuration;
|
|
40
|
+
animationEasing?: recharts_types_util_types.AnimationTiming;
|
|
41
|
+
content?: recharts_types_component_Tooltip.ContentType<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType> | undefined;
|
|
42
|
+
coordinate?: Partial<recharts_types_util_types.Coordinate>;
|
|
43
|
+
cursor?: boolean | React.ReactElement | React.SVGProps<SVGElement>;
|
|
44
|
+
filterNull?: boolean;
|
|
45
|
+
defaultIndex?: number;
|
|
46
|
+
isAnimationActive?: boolean;
|
|
47
|
+
offset?: number;
|
|
48
|
+
payloadUniqBy?: recharts_types_util_payload_getUniqPayload.UniqueOption<recharts_types_component_DefaultTooltipContent.Payload<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType>> | undefined;
|
|
49
|
+
position?: Partial<recharts_types_util_types.Coordinate>;
|
|
50
|
+
reverseDirection?: recharts_types_util_types.AllowInDimension;
|
|
51
|
+
shared?: boolean;
|
|
52
|
+
trigger?: "hover" | "click";
|
|
53
|
+
useTranslate3d?: boolean;
|
|
54
|
+
viewBox?: recharts_types_util_types.CartesianViewBox;
|
|
55
|
+
wrapperStyle?: React.CSSProperties;
|
|
56
|
+
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
57
|
+
hideLabel?: boolean;
|
|
58
|
+
hideIndicator?: boolean;
|
|
59
|
+
indicator?: "line" | "dot" | "dashed";
|
|
60
|
+
nameKey?: string;
|
|
61
|
+
labelKey?: string;
|
|
62
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
63
|
+
declare const ChartLegend: typeof RechartsPrimitive.Legend;
|
|
64
|
+
declare const ChartLegendContent: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
|
|
65
|
+
hideIcon?: boolean;
|
|
66
|
+
nameKey?: string;
|
|
67
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
|
|
69
|
+
export { type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as recharts_types_util_payload_getUniqPayload from 'recharts/types/util/payload/getUniqPayload';
|
|
2
|
+
import * as recharts_types_component_Tooltip from 'recharts/types/component/Tooltip';
|
|
3
|
+
import * as recharts_types_util_types from 'recharts/types/util/types';
|
|
4
|
+
import * as recharts_types_component_DefaultTooltipContent from 'recharts/types/component/DefaultTooltipContent';
|
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import * as RechartsPrimitive from 'recharts';
|
|
8
|
+
|
|
9
|
+
declare const THEMES: {
|
|
10
|
+
readonly light: "";
|
|
11
|
+
readonly dark: ".dark";
|
|
12
|
+
};
|
|
13
|
+
type ChartConfig = {
|
|
14
|
+
[k in string]: {
|
|
15
|
+
label?: React.ReactNode;
|
|
16
|
+
icon?: React.ComponentType;
|
|
17
|
+
} & ({
|
|
18
|
+
color?: string;
|
|
19
|
+
theme?: never;
|
|
20
|
+
} | {
|
|
21
|
+
color?: never;
|
|
22
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
declare const ChartContainer: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
26
|
+
config: ChartConfig;
|
|
27
|
+
children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
|
|
28
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
+
declare const ChartStyle: ({ id, config }: {
|
|
30
|
+
id: string;
|
|
31
|
+
config: ChartConfig;
|
|
32
|
+
}) => react_jsx_runtime.JSX.Element | null;
|
|
33
|
+
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
|
|
34
|
+
declare const ChartTooltipContent: React.ForwardRefExoticComponent<Omit<RechartsPrimitive.DefaultTooltipContentProps<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType> & {
|
|
35
|
+
accessibilityLayer?: boolean;
|
|
36
|
+
active?: boolean | undefined;
|
|
37
|
+
includeHidden?: boolean | undefined;
|
|
38
|
+
allowEscapeViewBox?: recharts_types_util_types.AllowInDimension;
|
|
39
|
+
animationDuration?: recharts_types_util_types.AnimationDuration;
|
|
40
|
+
animationEasing?: recharts_types_util_types.AnimationTiming;
|
|
41
|
+
content?: recharts_types_component_Tooltip.ContentType<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType> | undefined;
|
|
42
|
+
coordinate?: Partial<recharts_types_util_types.Coordinate>;
|
|
43
|
+
cursor?: boolean | React.ReactElement | React.SVGProps<SVGElement>;
|
|
44
|
+
filterNull?: boolean;
|
|
45
|
+
defaultIndex?: number;
|
|
46
|
+
isAnimationActive?: boolean;
|
|
47
|
+
offset?: number;
|
|
48
|
+
payloadUniqBy?: recharts_types_util_payload_getUniqPayload.UniqueOption<recharts_types_component_DefaultTooltipContent.Payload<recharts_types_component_DefaultTooltipContent.ValueType, recharts_types_component_DefaultTooltipContent.NameType>> | undefined;
|
|
49
|
+
position?: Partial<recharts_types_util_types.Coordinate>;
|
|
50
|
+
reverseDirection?: recharts_types_util_types.AllowInDimension;
|
|
51
|
+
shared?: boolean;
|
|
52
|
+
trigger?: "hover" | "click";
|
|
53
|
+
useTranslate3d?: boolean;
|
|
54
|
+
viewBox?: recharts_types_util_types.CartesianViewBox;
|
|
55
|
+
wrapperStyle?: React.CSSProperties;
|
|
56
|
+
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
57
|
+
hideLabel?: boolean;
|
|
58
|
+
hideIndicator?: boolean;
|
|
59
|
+
indicator?: "line" | "dot" | "dashed";
|
|
60
|
+
nameKey?: string;
|
|
61
|
+
labelKey?: string;
|
|
62
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
63
|
+
declare const ChartLegend: typeof RechartsPrimitive.Legend;
|
|
64
|
+
declare const ChartLegendContent: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
|
|
65
|
+
hideIcon?: boolean;
|
|
66
|
+
nameKey?: string;
|
|
67
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
|
|
69
|
+
export { type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// src/components/chart.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as RechartsPrimitive from "recharts";
|
|
4
|
+
|
|
5
|
+
// src/lib/utils.ts
|
|
6
|
+
import { clsx } from "clsx";
|
|
7
|
+
import { twMerge } from "tailwind-merge";
|
|
8
|
+
function cn(...inputs) {
|
|
9
|
+
return twMerge(clsx(inputs));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// src/components/chart.tsx
|
|
13
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
var THEMES = { light: "", dark: ".dark" };
|
|
15
|
+
var ChartContext = React.createContext(null);
|
|
16
|
+
function useChart() {
|
|
17
|
+
const context = React.useContext(ChartContext);
|
|
18
|
+
if (!context) throw new Error("useChart must be used within a <ChartContainer />");
|
|
19
|
+
return context;
|
|
20
|
+
}
|
|
21
|
+
var ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
|
|
22
|
+
const uniqueId = React.useId();
|
|
23
|
+
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
24
|
+
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
"data-chart": chartId,
|
|
28
|
+
ref,
|
|
29
|
+
className: cn(
|
|
30
|
+
"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",
|
|
31
|
+
className
|
|
32
|
+
),
|
|
33
|
+
...props,
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ jsx(ChartStyle, { id: chartId, config }),
|
|
36
|
+
/* @__PURE__ */ jsx(RechartsPrimitive.ResponsiveContainer, { children })
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
) });
|
|
40
|
+
});
|
|
41
|
+
ChartContainer.displayName = "ChartContainer";
|
|
42
|
+
var ChartStyle = ({ id, config }) => {
|
|
43
|
+
const colorConfig = Object.entries(config).filter(([_, cfg]) => cfg.theme || cfg.color);
|
|
44
|
+
if (!colorConfig.length) return null;
|
|
45
|
+
return /* @__PURE__ */ jsx(
|
|
46
|
+
"style",
|
|
47
|
+
{
|
|
48
|
+
dangerouslySetInnerHTML: {
|
|
49
|
+
__html: Object.entries(THEMES).map(
|
|
50
|
+
([theme, prefix]) => `
|
|
51
|
+
${prefix} [data-chart=${id}] {
|
|
52
|
+
${colorConfig.map(([key, itemConfig]) => {
|
|
53
|
+
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
54
|
+
return color ? ` --color-${key}: ${color};` : null;
|
|
55
|
+
}).join("\n")}
|
|
56
|
+
}`
|
|
57
|
+
).join("\n")
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
var ChartTooltip = RechartsPrimitive.Tooltip;
|
|
63
|
+
var ChartTooltipContent = React.forwardRef(
|
|
64
|
+
({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }, ref) => {
|
|
65
|
+
const { config } = useChart();
|
|
66
|
+
const tooltipLabel = React.useMemo(() => {
|
|
67
|
+
if (hideLabel || !payload?.length) return null;
|
|
68
|
+
const item = payload[0];
|
|
69
|
+
const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
|
|
70
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
71
|
+
const value = !labelKey && typeof label === "string" ? itemConfig?.label || label : label;
|
|
72
|
+
if (labelFormatter) {
|
|
73
|
+
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
74
|
+
}
|
|
75
|
+
if (!value) return null;
|
|
76
|
+
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: value });
|
|
77
|
+
}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
|
|
78
|
+
if (!active || !payload?.length) return null;
|
|
79
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("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", className), children: [
|
|
80
|
+
tooltipLabel,
|
|
81
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
82
|
+
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
83
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
84
|
+
const indicatorColor = color || item.payload?.fill || item.color;
|
|
85
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground", indicator === "dot" && "items-center"), children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
86
|
+
!hideIndicator && /* @__PURE__ */ jsx(
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
|
|
90
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
91
|
+
"w-1": indicator === "line",
|
|
92
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
93
|
+
"my-0.5": indicator === "dashed" || indicator === "line"
|
|
94
|
+
}),
|
|
95
|
+
style: { "--color-bg": indicatorColor, "--color-border": indicatorColor }
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-1 justify-between leading-none", hideIndicator ? "gap-2" : "gap-2"), children: [
|
|
99
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name }) }),
|
|
100
|
+
item.value !== void 0 && /* @__PURE__ */ jsx("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
101
|
+
] })
|
|
102
|
+
] }) }, item.dataKey);
|
|
103
|
+
}) })
|
|
104
|
+
] });
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
ChartTooltipContent.displayName = "ChartTooltipContent";
|
|
108
|
+
var ChartLegend = RechartsPrimitive.Legend;
|
|
109
|
+
var ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
110
|
+
const { config } = useChart();
|
|
111
|
+
if (!payload?.length) return null;
|
|
112
|
+
return /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload.map((item) => {
|
|
113
|
+
const key = `${nameKey || item.dataKey || "value"}`;
|
|
114
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
115
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"), children: [
|
|
116
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsx("div", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: { backgroundColor: item.color } }),
|
|
117
|
+
itemConfig?.label
|
|
118
|
+
] }, item.value);
|
|
119
|
+
}) });
|
|
120
|
+
});
|
|
121
|
+
ChartLegendContent.displayName = "ChartLegendContent";
|
|
122
|
+
function getPayloadConfigFromPayload(config, payload, key) {
|
|
123
|
+
if (typeof payload !== "object" || payload === null) return void 0;
|
|
124
|
+
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
|
125
|
+
let configLabelKey = key;
|
|
126
|
+
if (key in config) {
|
|
127
|
+
configLabelKey = key;
|
|
128
|
+
} else if (payloadPayload && key in payloadPayload) {
|
|
129
|
+
configLabelKey = payloadPayload[key];
|
|
130
|
+
}
|
|
131
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
132
|
+
}
|
|
133
|
+
export {
|
|
134
|
+
ChartContainer,
|
|
135
|
+
ChartLegend,
|
|
136
|
+
ChartLegendContent,
|
|
137
|
+
ChartStyle,
|
|
138
|
+
ChartTooltip,
|
|
139
|
+
ChartTooltipContent
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/chart.tsx","../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\nimport { cn } from \"../lib/utils\"\n\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}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n if (!context) throw new Error(\"useChart must be used within a <ChartContainer />\")\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\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 = \"ChartContainer\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([_, cfg]) => cfg.theme || cfg.color)\n if (!colorConfig.length) return null\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 = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\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 { active, payload, className, indicator = \"dot\", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey },\n ref\n ) => {\n const { config } = useChart()\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) return null\n const item = payload[0]\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value = !labelKey && typeof label === \"string\" ? (itemConfig?.label || label) : label\n if (labelFormatter) {\n return <div className={cn(\"font-medium\", labelClassName)}>{labelFormatter(value, payload)}</div>\n }\n if (!value) return null\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey])\n\n if (!active || !payload?.length) return null\n\n return (\n <div ref={ref} className={cn(\"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\", className)}>\n {tooltipLabel}\n <div className=\"grid gap-1.5\">\n {payload.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 as Record<string, string>)?.fill || item.color\n\n return (\n <div key={item.dataKey} className={cn(\"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\", indicator === \"dot\" && \"items-center\")}>\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Record<string, unknown>[])\n ) : (\n <>\n {!hideIndicator && (\n <div\n className={cn(\"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\", {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\n \"my-0.5\": indicator === \"dashed\" || indicator === \"line\",\n })}\n style={{ \"--color-bg\": indicatorColor, \"--color-border\": indicatorColor } as React.CSSProperties}\n />\n )}\n <div className={cn(\"flex flex-1 justify-between leading-none\", hideIndicator ? \"gap-2\" : \"gap-2\")}>\n <div className=\"grid gap-1.5\">\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value !== undefined && (\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 = \"ChartTooltipContent\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & { hideIcon?: boolean; nameKey?: string }\n>(({ className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey }, ref) => {\n const { config } = useChart()\n if (!payload?.length) return null\n\n return (\n <div ref={ref} className={cn(\"flex items-center justify-center gap-4\", verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\", className)}>\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n return (\n <div key={item.value} className={cn(\"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\")}>\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div className=\"h-2 w-2 shrink-0 rounded-[2px]\" style={{ backgroundColor: item.color }} />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n})\nChartLegendContent.displayName = \"ChartLegendContent\"\n\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== \"object\" || payload === null) return undefined\n const payloadPayload = \"payload\" in payload && typeof payload.payload === \"object\" && payload.payload !== null ? payload.payload : undefined\n let configLabelKey: string = key\n if (key in config) {\n configLabelKey = key\n } else if (payloadPayload && key in (payloadPayload as Record<string, unknown>)) {\n configLabelKey = (payloadPayload as Record<string, string>)[key]\n }\n return configLabelKey in config ? config[configLabelKey] : config[key]\n}\n\nexport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/components/checkbox.tsx
|
|
31
|
+
var checkbox_exports = {};
|
|
32
|
+
__export(checkbox_exports, {
|
|
33
|
+
Checkbox: () => Checkbox,
|
|
34
|
+
checkboxVariants: () => checkboxVariants
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(checkbox_exports);
|
|
37
|
+
var React = __toESM(require("react"), 1);
|
|
38
|
+
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
|
|
39
|
+
var import_lucide_react = require("lucide-react");
|
|
40
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
41
|
+
|
|
42
|
+
// src/lib/utils.ts
|
|
43
|
+
var import_clsx = require("clsx");
|
|
44
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
45
|
+
function cn(...inputs) {
|
|
46
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// src/components/checkbox.tsx
|
|
50
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
51
|
+
var checkboxVariants = (0, import_class_variance_authority.cva)(
|
|
52
|
+
"peer shrink-0 border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-0 data-[state=indeterminate]:border-0",
|
|
53
|
+
{
|
|
54
|
+
variants: {
|
|
55
|
+
variant: {
|
|
56
|
+
default: "border-input hover:border-muted-foreground data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",
|
|
57
|
+
destructive: "border-input hover:border-muted-foreground data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:text-destructive-foreground",
|
|
58
|
+
success: "border-input hover:border-muted-foreground data-[state=checked]:bg-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:text-success-foreground"
|
|
59
|
+
},
|
|
60
|
+
size: {
|
|
61
|
+
sm: "size-3.5 rounded-sm",
|
|
62
|
+
default: "size-4 rounded-sm",
|
|
63
|
+
lg: "size-5 rounded"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
defaultVariants: {
|
|
67
|
+
variant: "default",
|
|
68
|
+
size: "default"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
var checkboxIconSize = {
|
|
73
|
+
sm: "size-2.5",
|
|
74
|
+
default: "size-3",
|
|
75
|
+
lg: "size-4"
|
|
76
|
+
};
|
|
77
|
+
var Checkbox = React.forwardRef(({ className, label, id, variant, size = "default", ...props }, ref) => {
|
|
78
|
+
const checkboxId = id || React.useId();
|
|
79
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "inline-flex items-center gap-2", children: [
|
|
80
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
|
+
CheckboxPrimitive.Root,
|
|
82
|
+
{
|
|
83
|
+
ref,
|
|
84
|
+
id: checkboxId,
|
|
85
|
+
className: cn(checkboxVariants({ variant, size, className })),
|
|
86
|
+
...props,
|
|
87
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: checkboxIconSize[size ?? "default"] }) })
|
|
88
|
+
}
|
|
89
|
+
),
|
|
90
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
91
|
+
"label",
|
|
92
|
+
{
|
|
93
|
+
htmlFor: checkboxId,
|
|
94
|
+
className: "text-sm leading-none text-foreground select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
95
|
+
children: label
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
] });
|
|
99
|
+
});
|
|
100
|
+
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
101
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
+
0 && (module.exports = {
|
|
103
|
+
Checkbox,
|
|
104
|
+
checkboxVariants
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=checkbox.cjs.map
|