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,201 @@
|
|
|
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/stepper.tsx
|
|
31
|
+
var stepper_exports = {};
|
|
32
|
+
__export(stepper_exports, {
|
|
33
|
+
Stepper: () => Stepper,
|
|
34
|
+
StepperItem: () => StepperItem
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(stepper_exports);
|
|
37
|
+
var React = __toESM(require("react"), 1);
|
|
38
|
+
var import_lucide_react = require("lucide-react");
|
|
39
|
+
|
|
40
|
+
// src/lib/utils.ts
|
|
41
|
+
var import_clsx = require("clsx");
|
|
42
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
43
|
+
function cn(...inputs) {
|
|
44
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/components/stepper.tsx
|
|
48
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
49
|
+
var StepperContext = React.createContext({
|
|
50
|
+
activeStep: 0,
|
|
51
|
+
totalSteps: 0,
|
|
52
|
+
clickable: false,
|
|
53
|
+
registerButton: () => {
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
var Stepper = React.forwardRef(
|
|
57
|
+
({
|
|
58
|
+
activeStep,
|
|
59
|
+
clickable = false,
|
|
60
|
+
onStepChange,
|
|
61
|
+
className,
|
|
62
|
+
children,
|
|
63
|
+
onKeyDown,
|
|
64
|
+
...props
|
|
65
|
+
}, ref) => {
|
|
66
|
+
const steps = React.Children.toArray(children);
|
|
67
|
+
const buttonRefs = React.useRef([]);
|
|
68
|
+
const registerButton = React.useCallback(
|
|
69
|
+
(index, el) => {
|
|
70
|
+
buttonRefs.current[index] = el;
|
|
71
|
+
},
|
|
72
|
+
[]
|
|
73
|
+
);
|
|
74
|
+
const focusButton = (index) => {
|
|
75
|
+
const btn = buttonRefs.current[index];
|
|
76
|
+
if (btn && !btn.disabled) btn.focus();
|
|
77
|
+
};
|
|
78
|
+
const handleKeyDown = (e) => {
|
|
79
|
+
onKeyDown?.(e);
|
|
80
|
+
if (!clickable) return;
|
|
81
|
+
if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
|
|
82
|
+
const current = buttonRefs.current.findIndex(
|
|
83
|
+
(b) => b === document.activeElement
|
|
84
|
+
);
|
|
85
|
+
if (current === -1) return;
|
|
86
|
+
const dir = e.key === "ArrowRight" ? 1 : -1;
|
|
87
|
+
const last = steps.length - 1;
|
|
88
|
+
let next = current + dir;
|
|
89
|
+
while (next >= 0 && next <= last) {
|
|
90
|
+
const btn = buttonRefs.current[next];
|
|
91
|
+
if (btn && !btn.disabled) {
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
focusButton(next);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
next += dir;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
100
|
+
StepperContext.Provider,
|
|
101
|
+
{
|
|
102
|
+
value: {
|
|
103
|
+
activeStep,
|
|
104
|
+
totalSteps: steps.length,
|
|
105
|
+
clickable,
|
|
106
|
+
onStepChange,
|
|
107
|
+
registerButton
|
|
108
|
+
},
|
|
109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
ref,
|
|
113
|
+
className: cn("flex w-full items-start", className),
|
|
114
|
+
onKeyDown: handleKeyDown,
|
|
115
|
+
...props,
|
|
116
|
+
children: steps.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(React.Fragment, { children: [
|
|
117
|
+
React.isValidElement(child) ? React.cloneElement(child, { _index: index }) : child,
|
|
118
|
+
index < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-1 items-center pt-[16px] px-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
className: cn(
|
|
122
|
+
"h-[2px] w-full transition-colors duration-300 ease-out",
|
|
123
|
+
index < activeStep ? "bg-[var(--hc-primary-600)]" : "bg-[var(--hc-grey-200)]"
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
) })
|
|
127
|
+
] }, index))
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
Stepper.displayName = "Stepper";
|
|
135
|
+
var StepperItem = React.forwardRef(({ label, className, _index = 0, ...props }, ref) => {
|
|
136
|
+
const { activeStep, clickable, onStepChange, registerButton } = React.useContext(StepperContext);
|
|
137
|
+
const status = _index < activeStep ? "completed" : _index === activeStep ? "active" : "upcoming";
|
|
138
|
+
const circle = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
139
|
+
"div",
|
|
140
|
+
{
|
|
141
|
+
className: cn(
|
|
142
|
+
"flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full text-[14px] transition-colors duration-300 ease-out",
|
|
143
|
+
status === "upcoming" && "border-[2px] border-[var(--hc-grey-200)] bg-white text-[var(--hc-grey-400)]",
|
|
144
|
+
status === "active" && "bg-[var(--hc-primary-600)] font-semibold text-white",
|
|
145
|
+
status === "completed" && "bg-[var(--hc-primary-600)] text-white"
|
|
146
|
+
),
|
|
147
|
+
children: status === "completed" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: "h-[14px] w-[14px]" }) : _index + 1
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
const labelEl = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "mt-[8px] text-center text-[12px] text-foreground", children: label });
|
|
151
|
+
if (clickable) {
|
|
152
|
+
const disabled = _index > activeStep;
|
|
153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
154
|
+
"div",
|
|
155
|
+
{
|
|
156
|
+
ref,
|
|
157
|
+
className: cn("flex flex-col items-center", className),
|
|
158
|
+
...props,
|
|
159
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
160
|
+
"button",
|
|
161
|
+
{
|
|
162
|
+
type: "button",
|
|
163
|
+
ref: (el) => registerButton(_index, el),
|
|
164
|
+
disabled,
|
|
165
|
+
tabIndex: status === "active" ? 0 : -1,
|
|
166
|
+
onClick: () => !disabled && onStepChange?.(_index),
|
|
167
|
+
className: cn(
|
|
168
|
+
"flex flex-col items-center rounded-[4px] outline-none",
|
|
169
|
+
"focus-visible:ring-2 focus-visible:ring-[var(--hc-primary-600)] focus-visible:ring-offset-2",
|
|
170
|
+
disabled ? "cursor-default" : "cursor-pointer"
|
|
171
|
+
),
|
|
172
|
+
"aria-current": status === "active" ? "step" : void 0,
|
|
173
|
+
children: [
|
|
174
|
+
circle,
|
|
175
|
+
labelEl
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
183
|
+
"div",
|
|
184
|
+
{
|
|
185
|
+
ref,
|
|
186
|
+
className: cn("flex flex-col items-center", className),
|
|
187
|
+
...props,
|
|
188
|
+
children: [
|
|
189
|
+
circle,
|
|
190
|
+
labelEl
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
);
|
|
194
|
+
});
|
|
195
|
+
StepperItem.displayName = "StepperItem";
|
|
196
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
197
|
+
0 && (module.exports = {
|
|
198
|
+
Stepper,
|
|
199
|
+
StepperItem
|
|
200
|
+
});
|
|
201
|
+
//# sourceMappingURL=stepper.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/stepper.tsx","../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport { Check } from \"lucide-react\"\nimport { cn } from \"../lib/utils\"\n\n/* ---------------------------------- Types --------------------------------- */\n\nexport interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Zero-indexed active step */\n activeStep: number\n /** When true, each step's circle+label is rendered inside a button. */\n clickable?: boolean\n /** Called when a clickable step is activated (click or Enter/Space). */\n onStepChange?: (index: number) => void\n}\n\nexport interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Label displayed below the step circle */\n label: string\n}\n\n/* ----------------------------- Internal context ---------------------------- */\n\ninterface StepperContextValue {\n activeStep: number\n totalSteps: number\n clickable: boolean\n onStepChange?: (index: number) => void\n registerButton: (index: number, el: HTMLButtonElement | null) => void\n}\n\nconst StepperContext = React.createContext<StepperContextValue>({\n activeStep: 0,\n totalSteps: 0,\n clickable: false,\n registerButton: () => {},\n})\n\n/* --------------------------------- Stepper -------------------------------- */\n\nconst Stepper = React.forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n activeStep,\n clickable = false,\n onStepChange,\n className,\n children,\n onKeyDown,\n ...props\n },\n ref\n ) => {\n const steps = React.Children.toArray(children)\n const buttonRefs = React.useRef<Array<HTMLButtonElement | null>>([])\n\n const registerButton = React.useCallback(\n (index: number, el: HTMLButtonElement | null) => {\n buttonRefs.current[index] = el\n },\n []\n )\n\n const focusButton = (index: number) => {\n const btn = buttonRefs.current[index]\n if (btn && !btn.disabled) btn.focus()\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n if (!clickable) return\n if (e.key !== \"ArrowLeft\" && e.key !== \"ArrowRight\") return\n\n const current = buttonRefs.current.findIndex(\n (b) => b === document.activeElement\n )\n if (current === -1) return\n\n const dir = e.key === \"ArrowRight\" ? 1 : -1\n const last = steps.length - 1\n let next = current + dir\n // Skip disabled (upcoming) buttons.\n while (next >= 0 && next <= last) {\n const btn = buttonRefs.current[next]\n if (btn && !btn.disabled) {\n e.preventDefault()\n focusButton(next)\n return\n }\n next += dir\n }\n }\n\n return (\n <StepperContext.Provider\n value={{\n activeStep,\n totalSteps: steps.length,\n clickable,\n onStepChange,\n registerButton,\n }}\n >\n <div\n ref={ref}\n className={cn(\"flex w-full items-start\", className)}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {steps.map((child, index) => (\n <React.Fragment key={index}>\n {/* Render the StepperItem with injected index */}\n {React.isValidElement<StepperItemProps & { _index?: number }>(child)\n ? React.cloneElement(child, { _index: index } as any)\n : child}\n\n {/* Connecting line between steps */}\n {index < steps.length - 1 && (\n <div className=\"flex flex-1 items-center pt-[16px] px-2\">\n <div\n className={cn(\n \"h-[2px] w-full transition-colors duration-300 ease-out\",\n index < activeStep\n ? \"bg-[var(--hc-primary-600)]\"\n : \"bg-[var(--hc-grey-200)]\"\n )}\n />\n </div>\n )}\n </React.Fragment>\n ))}\n </div>\n </StepperContext.Provider>\n )\n }\n)\nStepper.displayName = \"Stepper\"\n\n/* ------------------------------- StepperItem ------------------------------ */\n\nconst StepperItem = React.forwardRef<\n HTMLDivElement,\n StepperItemProps & { _index?: number }\n>(({ label, className, _index = 0, ...props }, ref) => {\n const { activeStep, clickable, onStepChange, registerButton } =\n React.useContext(StepperContext)\n\n const status: \"completed\" | \"active\" | \"upcoming\" =\n _index < activeStep\n ? \"completed\"\n : _index === activeStep\n ? \"active\"\n : \"upcoming\"\n\n const circle = (\n <div\n className={cn(\n \"flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full text-[14px] transition-colors duration-300 ease-out\",\n status === \"upcoming\" &&\n \"border-[2px] border-[var(--hc-grey-200)] bg-white text-[var(--hc-grey-400)]\",\n status === \"active\" &&\n \"bg-[var(--hc-primary-600)] font-semibold text-white\",\n status === \"completed\" && \"bg-[var(--hc-primary-600)] text-white\"\n )}\n >\n {status === \"completed\" ? (\n <Check className=\"h-[14px] w-[14px]\" />\n ) : (\n _index + 1\n )}\n </div>\n )\n\n const labelEl = (\n <span className=\"mt-[8px] text-center text-[12px] text-foreground\">\n {label}\n </span>\n )\n\n if (clickable) {\n const disabled = _index > activeStep\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col items-center\", className)}\n {...props}\n >\n <button\n type=\"button\"\n ref={(el) => registerButton(_index, el)}\n disabled={disabled}\n tabIndex={status === \"active\" ? 0 : -1}\n onClick={() => !disabled && onStepChange?.(_index)}\n className={cn(\n \"flex flex-col items-center rounded-[4px] outline-none\",\n \"focus-visible:ring-2 focus-visible:ring-[var(--hc-primary-600)] focus-visible:ring-offset-2\",\n disabled ? \"cursor-default\" : \"cursor-pointer\"\n )}\n aria-current={status === \"active\" ? \"step\" : undefined}\n >\n {circle}\n {labelEl}\n </button>\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col items-center\", className)}\n {...props}\n >\n {circle}\n {labelEl}\n </div>\n )\n})\nStepperItem.displayName = \"StepperItem\"\n\nexport { Stepper, StepperItem }\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,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/** Zero-indexed active step */
|
|
5
|
+
activeStep: number;
|
|
6
|
+
/** When true, each step's circle+label is rendered inside a button. */
|
|
7
|
+
clickable?: boolean;
|
|
8
|
+
/** Called when a clickable step is activated (click or Enter/Space). */
|
|
9
|
+
onStepChange?: (index: number) => void;
|
|
10
|
+
}
|
|
11
|
+
interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
12
|
+
/** Label displayed below the step circle */
|
|
13
|
+
label: string;
|
|
14
|
+
}
|
|
15
|
+
declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
declare const StepperItem: React.ForwardRefExoticComponent<StepperItemProps & {
|
|
17
|
+
_index?: number;
|
|
18
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
|
|
20
|
+
export { Stepper, StepperItem, type StepperItemProps, type StepperProps };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/** Zero-indexed active step */
|
|
5
|
+
activeStep: number;
|
|
6
|
+
/** When true, each step's circle+label is rendered inside a button. */
|
|
7
|
+
clickable?: boolean;
|
|
8
|
+
/** Called when a clickable step is activated (click or Enter/Space). */
|
|
9
|
+
onStepChange?: (index: number) => void;
|
|
10
|
+
}
|
|
11
|
+
interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
12
|
+
/** Label displayed below the step circle */
|
|
13
|
+
label: string;
|
|
14
|
+
}
|
|
15
|
+
declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
declare const StepperItem: React.ForwardRefExoticComponent<StepperItemProps & {
|
|
17
|
+
_index?: number;
|
|
18
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
|
|
20
|
+
export { Stepper, StepperItem, type StepperItemProps, type StepperProps };
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
// src/components/stepper.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Check } from "lucide-react";
|
|
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/stepper.tsx
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
var StepperContext = React.createContext({
|
|
15
|
+
activeStep: 0,
|
|
16
|
+
totalSteps: 0,
|
|
17
|
+
clickable: false,
|
|
18
|
+
registerButton: () => {
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
var Stepper = React.forwardRef(
|
|
22
|
+
({
|
|
23
|
+
activeStep,
|
|
24
|
+
clickable = false,
|
|
25
|
+
onStepChange,
|
|
26
|
+
className,
|
|
27
|
+
children,
|
|
28
|
+
onKeyDown,
|
|
29
|
+
...props
|
|
30
|
+
}, ref) => {
|
|
31
|
+
const steps = React.Children.toArray(children);
|
|
32
|
+
const buttonRefs = React.useRef([]);
|
|
33
|
+
const registerButton = React.useCallback(
|
|
34
|
+
(index, el) => {
|
|
35
|
+
buttonRefs.current[index] = el;
|
|
36
|
+
},
|
|
37
|
+
[]
|
|
38
|
+
);
|
|
39
|
+
const focusButton = (index) => {
|
|
40
|
+
const btn = buttonRefs.current[index];
|
|
41
|
+
if (btn && !btn.disabled) btn.focus();
|
|
42
|
+
};
|
|
43
|
+
const handleKeyDown = (e) => {
|
|
44
|
+
onKeyDown?.(e);
|
|
45
|
+
if (!clickable) return;
|
|
46
|
+
if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
|
|
47
|
+
const current = buttonRefs.current.findIndex(
|
|
48
|
+
(b) => b === document.activeElement
|
|
49
|
+
);
|
|
50
|
+
if (current === -1) return;
|
|
51
|
+
const dir = e.key === "ArrowRight" ? 1 : -1;
|
|
52
|
+
const last = steps.length - 1;
|
|
53
|
+
let next = current + dir;
|
|
54
|
+
while (next >= 0 && next <= last) {
|
|
55
|
+
const btn = buttonRefs.current[next];
|
|
56
|
+
if (btn && !btn.disabled) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
focusButton(next);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
next += dir;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return /* @__PURE__ */ jsx(
|
|
65
|
+
StepperContext.Provider,
|
|
66
|
+
{
|
|
67
|
+
value: {
|
|
68
|
+
activeStep,
|
|
69
|
+
totalSteps: steps.length,
|
|
70
|
+
clickable,
|
|
71
|
+
onStepChange,
|
|
72
|
+
registerButton
|
|
73
|
+
},
|
|
74
|
+
children: /* @__PURE__ */ jsx(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
ref,
|
|
78
|
+
className: cn("flex w-full items-start", className),
|
|
79
|
+
onKeyDown: handleKeyDown,
|
|
80
|
+
...props,
|
|
81
|
+
children: steps.map((child, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
82
|
+
React.isValidElement(child) ? React.cloneElement(child, { _index: index }) : child,
|
|
83
|
+
index < steps.length - 1 && /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center pt-[16px] px-2", children: /* @__PURE__ */ jsx(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: cn(
|
|
87
|
+
"h-[2px] w-full transition-colors duration-300 ease-out",
|
|
88
|
+
index < activeStep ? "bg-[var(--hc-primary-600)]" : "bg-[var(--hc-grey-200)]"
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
) })
|
|
92
|
+
] }, index))
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
Stepper.displayName = "Stepper";
|
|
100
|
+
var StepperItem = React.forwardRef(({ label, className, _index = 0, ...props }, ref) => {
|
|
101
|
+
const { activeStep, clickable, onStepChange, registerButton } = React.useContext(StepperContext);
|
|
102
|
+
const status = _index < activeStep ? "completed" : _index === activeStep ? "active" : "upcoming";
|
|
103
|
+
const circle = /* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: cn(
|
|
107
|
+
"flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full text-[14px] transition-colors duration-300 ease-out",
|
|
108
|
+
status === "upcoming" && "border-[2px] border-[var(--hc-grey-200)] bg-white text-[var(--hc-grey-400)]",
|
|
109
|
+
status === "active" && "bg-[var(--hc-primary-600)] font-semibold text-white",
|
|
110
|
+
status === "completed" && "bg-[var(--hc-primary-600)] text-white"
|
|
111
|
+
),
|
|
112
|
+
children: status === "completed" ? /* @__PURE__ */ jsx(Check, { className: "h-[14px] w-[14px]" }) : _index + 1
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
const labelEl = /* @__PURE__ */ jsx("span", { className: "mt-[8px] text-center text-[12px] text-foreground", children: label });
|
|
116
|
+
if (clickable) {
|
|
117
|
+
const disabled = _index > activeStep;
|
|
118
|
+
return /* @__PURE__ */ jsx(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
ref,
|
|
122
|
+
className: cn("flex flex-col items-center", className),
|
|
123
|
+
...props,
|
|
124
|
+
children: /* @__PURE__ */ jsxs(
|
|
125
|
+
"button",
|
|
126
|
+
{
|
|
127
|
+
type: "button",
|
|
128
|
+
ref: (el) => registerButton(_index, el),
|
|
129
|
+
disabled,
|
|
130
|
+
tabIndex: status === "active" ? 0 : -1,
|
|
131
|
+
onClick: () => !disabled && onStepChange?.(_index),
|
|
132
|
+
className: cn(
|
|
133
|
+
"flex flex-col items-center rounded-[4px] outline-none",
|
|
134
|
+
"focus-visible:ring-2 focus-visible:ring-[var(--hc-primary-600)] focus-visible:ring-offset-2",
|
|
135
|
+
disabled ? "cursor-default" : "cursor-pointer"
|
|
136
|
+
),
|
|
137
|
+
"aria-current": status === "active" ? "step" : void 0,
|
|
138
|
+
children: [
|
|
139
|
+
circle,
|
|
140
|
+
labelEl
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
)
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
return /* @__PURE__ */ jsxs(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
ref,
|
|
151
|
+
className: cn("flex flex-col items-center", className),
|
|
152
|
+
...props,
|
|
153
|
+
children: [
|
|
154
|
+
circle,
|
|
155
|
+
labelEl
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
});
|
|
160
|
+
StepperItem.displayName = "StepperItem";
|
|
161
|
+
export {
|
|
162
|
+
Stepper,
|
|
163
|
+
StepperItem
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/stepper.tsx","../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport { Check } from \"lucide-react\"\nimport { cn } from \"../lib/utils\"\n\n/* ---------------------------------- Types --------------------------------- */\n\nexport interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Zero-indexed active step */\n activeStep: number\n /** When true, each step's circle+label is rendered inside a button. */\n clickable?: boolean\n /** Called when a clickable step is activated (click or Enter/Space). */\n onStepChange?: (index: number) => void\n}\n\nexport interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Label displayed below the step circle */\n label: string\n}\n\n/* ----------------------------- Internal context ---------------------------- */\n\ninterface StepperContextValue {\n activeStep: number\n totalSteps: number\n clickable: boolean\n onStepChange?: (index: number) => void\n registerButton: (index: number, el: HTMLButtonElement | null) => void\n}\n\nconst StepperContext = React.createContext<StepperContextValue>({\n activeStep: 0,\n totalSteps: 0,\n clickable: false,\n registerButton: () => {},\n})\n\n/* --------------------------------- Stepper -------------------------------- */\n\nconst Stepper = React.forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n activeStep,\n clickable = false,\n onStepChange,\n className,\n children,\n onKeyDown,\n ...props\n },\n ref\n ) => {\n const steps = React.Children.toArray(children)\n const buttonRefs = React.useRef<Array<HTMLButtonElement | null>>([])\n\n const registerButton = React.useCallback(\n (index: number, el: HTMLButtonElement | null) => {\n buttonRefs.current[index] = el\n },\n []\n )\n\n const focusButton = (index: number) => {\n const btn = buttonRefs.current[index]\n if (btn && !btn.disabled) btn.focus()\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n if (!clickable) return\n if (e.key !== \"ArrowLeft\" && e.key !== \"ArrowRight\") return\n\n const current = buttonRefs.current.findIndex(\n (b) => b === document.activeElement\n )\n if (current === -1) return\n\n const dir = e.key === \"ArrowRight\" ? 1 : -1\n const last = steps.length - 1\n let next = current + dir\n // Skip disabled (upcoming) buttons.\n while (next >= 0 && next <= last) {\n const btn = buttonRefs.current[next]\n if (btn && !btn.disabled) {\n e.preventDefault()\n focusButton(next)\n return\n }\n next += dir\n }\n }\n\n return (\n <StepperContext.Provider\n value={{\n activeStep,\n totalSteps: steps.length,\n clickable,\n onStepChange,\n registerButton,\n }}\n >\n <div\n ref={ref}\n className={cn(\"flex w-full items-start\", className)}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {steps.map((child, index) => (\n <React.Fragment key={index}>\n {/* Render the StepperItem with injected index */}\n {React.isValidElement<StepperItemProps & { _index?: number }>(child)\n ? React.cloneElement(child, { _index: index } as any)\n : child}\n\n {/* Connecting line between steps */}\n {index < steps.length - 1 && (\n <div className=\"flex flex-1 items-center pt-[16px] px-2\">\n <div\n className={cn(\n \"h-[2px] w-full transition-colors duration-300 ease-out\",\n index < activeStep\n ? \"bg-[var(--hc-primary-600)]\"\n : \"bg-[var(--hc-grey-200)]\"\n )}\n />\n </div>\n )}\n </React.Fragment>\n ))}\n </div>\n </StepperContext.Provider>\n )\n }\n)\nStepper.displayName = \"Stepper\"\n\n/* ------------------------------- StepperItem ------------------------------ */\n\nconst StepperItem = React.forwardRef<\n HTMLDivElement,\n StepperItemProps & { _index?: number }\n>(({ label, className, _index = 0, ...props }, ref) => {\n const { activeStep, clickable, onStepChange, registerButton } =\n React.useContext(StepperContext)\n\n const status: \"completed\" | \"active\" | \"upcoming\" =\n _index < activeStep\n ? \"completed\"\n : _index === activeStep\n ? \"active\"\n : \"upcoming\"\n\n const circle = (\n <div\n className={cn(\n \"flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full text-[14px] transition-colors duration-300 ease-out\",\n status === \"upcoming\" &&\n \"border-[2px] border-[var(--hc-grey-200)] bg-white text-[var(--hc-grey-400)]\",\n status === \"active\" &&\n \"bg-[var(--hc-primary-600)] font-semibold text-white\",\n status === \"completed\" && \"bg-[var(--hc-primary-600)] text-white\"\n )}\n >\n {status === \"completed\" ? (\n <Check className=\"h-[14px] w-[14px]\" />\n ) : (\n _index + 1\n )}\n </div>\n )\n\n const labelEl = (\n <span className=\"mt-[8px] text-center text-[12px] text-foreground\">\n {label}\n </span>\n )\n\n if (clickable) {\n const disabled = _index > activeStep\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col items-center\", className)}\n {...props}\n >\n <button\n type=\"button\"\n ref={(el) => registerButton(_index, el)}\n disabled={disabled}\n tabIndex={status === \"active\" ? 0 : -1}\n onClick={() => !disabled && onStepChange?.(_index)}\n className={cn(\n \"flex flex-col items-center rounded-[4px] outline-none\",\n \"focus-visible:ring-2 focus-visible:ring-[var(--hc-primary-600)] focus-visible:ring-offset-2\",\n disabled ? \"cursor-default\" : \"cursor-pointer\"\n )}\n aria-current={status === \"active\" ? \"step\" : undefined}\n >\n {circle}\n {labelEl}\n </button>\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col items-center\", className)}\n {...props}\n >\n {circle}\n {labelEl}\n </div>\n )\n})\nStepperItem.displayName = \"StepperItem\"\n\nexport { Stepper, StepperItem }\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,99 @@
|
|
|
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/switch.tsx
|
|
31
|
+
var switch_exports = {};
|
|
32
|
+
__export(switch_exports, {
|
|
33
|
+
Switch: () => Switch,
|
|
34
|
+
switchVariants: () => switchVariants
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(switch_exports);
|
|
37
|
+
var React = __toESM(require("react"), 1);
|
|
38
|
+
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
39
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
40
|
+
|
|
41
|
+
// src/lib/utils.ts
|
|
42
|
+
var import_clsx = require("clsx");
|
|
43
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
44
|
+
function cn(...inputs) {
|
|
45
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/components/switch.tsx
|
|
49
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
50
|
+
var switchVariants = (0, import_class_variance_authority.cva)(
|
|
51
|
+
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-[var(--hc-grey-200)] aria-[invalid=true]:ring-2 aria-[invalid=true]:ring-destructive aria-[invalid=true]:ring-offset-2",
|
|
52
|
+
{
|
|
53
|
+
variants: {
|
|
54
|
+
variant: {
|
|
55
|
+
default: "data-[state=checked]:bg-[var(--hc-primary-600)]",
|
|
56
|
+
destructive: "data-[state=checked]:bg-destructive",
|
|
57
|
+
success: "data-[state=checked]:bg-success"
|
|
58
|
+
},
|
|
59
|
+
size: {
|
|
60
|
+
sm: "h-5 w-9",
|
|
61
|
+
default: "h-[28px] w-[52px]",
|
|
62
|
+
lg: "h-[36px] w-[64px]"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
defaultVariants: {
|
|
66
|
+
variant: "default",
|
|
67
|
+
size: "default"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
var thumbStyles = {
|
|
72
|
+
sm: "h-3.5 w-3.5 data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[15px]",
|
|
73
|
+
default: "h-[22px] w-[22px] data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[23px]",
|
|
74
|
+
lg: "h-[26px] w-[26px] data-[state=unchecked]:translate-x-[4px] data-[state=checked]:translate-x-[30px]"
|
|
75
|
+
};
|
|
76
|
+
var Switch = React.forwardRef(({ className, variant, size = "default", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
|
+
SwitchPrimitives.Root,
|
|
78
|
+
{
|
|
79
|
+
className: cn(switchVariants({ variant, size }), className),
|
|
80
|
+
...props,
|
|
81
|
+
ref,
|
|
82
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
+
SwitchPrimitives.Thumb,
|
|
84
|
+
{
|
|
85
|
+
className: cn(
|
|
86
|
+
"pointer-events-none block rounded-full bg-white shadow-lg ring-0 transition-transform duration-200 [[disabled]_&]:bg-[var(--hc-grey-300)]",
|
|
87
|
+
thumbStyles[size ?? "default"]
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
));
|
|
93
|
+
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
Switch,
|
|
97
|
+
switchVariants
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=switch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/switch.tsx","../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../lib/utils\"\n\ntype SwitchSize = \"sm\" | \"default\" | \"lg\"\n\nconst switchVariants = cva(\n \"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-[var(--hc-grey-200)] aria-[invalid=true]:ring-2 aria-[invalid=true]:ring-destructive aria-[invalid=true]:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"data-[state=checked]:bg-[var(--hc-primary-600)]\",\n destructive: \"data-[state=checked]:bg-destructive\",\n success: \"data-[state=checked]:bg-success\",\n },\n size: {\n sm: \"h-5 w-9\",\n default: \"h-[28px] w-[52px]\",\n lg: \"h-[36px] w-[64px]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst thumbStyles: Record<SwitchSize, string> = {\n sm: \"h-3.5 w-3.5 data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[15px]\",\n default:\n \"h-[22px] w-[22px] data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[23px]\",\n lg: \"h-[26px] w-[26px] data-[state=unchecked]:translate-x-[4px] data-[state=checked]:translate-x-[30px]\",\n}\n\nexport interface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n VariantProps<typeof switchVariants> {}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(({ className, variant, size = \"default\", ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(switchVariants({ variant, size }), className)}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block rounded-full bg-white shadow-lg ring-0 transition-transform duration-200 [[disabled]_&]:bg-[var(--hc-grey-300)]\",\n thumbStyles[(size ?? \"default\") as SwitchSize]\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch, switchVariants }\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,uBAAkC;AAClC,sCAAuC;;;ACFvC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD4CI;AA1CJ,IAAM,qBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAM,cAA0C;AAAA,EAC9C,IAAI;AAAA,EACJ,SACE;AAAA,EACF,IAAI;AACN;AAMA,IAAM,SAAe,iBAGnB,CAAC,EAAE,WAAW,SAAS,OAAO,WAAW,GAAG,MAAM,GAAG,QACrD;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC,WAAW,GAAG,eAAe,EAAE,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,IACzD,GAAG;AAAA,IACJ;AAAA,IAEA;AAAA,MAAkB;AAAA,MAAjB;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,YAAa,QAAQ,SAAwB;AAAA,QAC/C;AAAA;AAAA,IACF;AAAA;AACF,CACD;AACD,OAAO,cAA+B,sBAAK;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const switchVariants: (props?: ({
|
|
7
|
+
variant?: "default" | "destructive" | "success" | null | undefined;
|
|
8
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
interface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>, VariantProps<typeof switchVariants> {
|
|
11
|
+
}
|
|
12
|
+
declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
|
|
13
|
+
|
|
14
|
+
export { Switch, type SwitchProps, switchVariants };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const switchVariants: (props?: ({
|
|
7
|
+
variant?: "default" | "destructive" | "success" | null | undefined;
|
|
8
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
interface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>, VariantProps<typeof switchVariants> {
|
|
11
|
+
}
|
|
12
|
+
declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
|
|
13
|
+
|
|
14
|
+
export { Switch, type SwitchProps, switchVariants };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// src/components/switch.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
// src/lib/utils.ts
|
|
7
|
+
import { clsx } from "clsx";
|
|
8
|
+
import { twMerge } from "tailwind-merge";
|
|
9
|
+
function cn(...inputs) {
|
|
10
|
+
return twMerge(clsx(inputs));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// src/components/switch.tsx
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
var switchVariants = cva(
|
|
16
|
+
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-[var(--hc-grey-200)] aria-[invalid=true]:ring-2 aria-[invalid=true]:ring-destructive aria-[invalid=true]:ring-offset-2",
|
|
17
|
+
{
|
|
18
|
+
variants: {
|
|
19
|
+
variant: {
|
|
20
|
+
default: "data-[state=checked]:bg-[var(--hc-primary-600)]",
|
|
21
|
+
destructive: "data-[state=checked]:bg-destructive",
|
|
22
|
+
success: "data-[state=checked]:bg-success"
|
|
23
|
+
},
|
|
24
|
+
size: {
|
|
25
|
+
sm: "h-5 w-9",
|
|
26
|
+
default: "h-[28px] w-[52px]",
|
|
27
|
+
lg: "h-[36px] w-[64px]"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "default",
|
|
32
|
+
size: "default"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
var thumbStyles = {
|
|
37
|
+
sm: "h-3.5 w-3.5 data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[15px]",
|
|
38
|
+
default: "h-[22px] w-[22px] data-[state=unchecked]:translate-x-[3px] data-[state=checked]:translate-x-[23px]",
|
|
39
|
+
lg: "h-[26px] w-[26px] data-[state=unchecked]:translate-x-[4px] data-[state=checked]:translate-x-[30px]"
|
|
40
|
+
};
|
|
41
|
+
var Switch = React.forwardRef(({ className, variant, size = "default", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
42
|
+
SwitchPrimitives.Root,
|
|
43
|
+
{
|
|
44
|
+
className: cn(switchVariants({ variant, size }), className),
|
|
45
|
+
...props,
|
|
46
|
+
ref,
|
|
47
|
+
children: /* @__PURE__ */ jsx(
|
|
48
|
+
SwitchPrimitives.Thumb,
|
|
49
|
+
{
|
|
50
|
+
className: cn(
|
|
51
|
+
"pointer-events-none block rounded-full bg-white shadow-lg ring-0 transition-transform duration-200 [[disabled]_&]:bg-[var(--hc-grey-300)]",
|
|
52
|
+
thumbStyles[size ?? "default"]
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
));
|
|
58
|
+
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
59
|
+
export {
|
|
60
|
+
Switch,
|
|
61
|
+
switchVariants
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=switch.js.map
|