@m5kdev/web-ui 0.1.2 → 0.1.4
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/src/animations/card.motion.d.ts +3 -0
- package/dist/src/animations/card.motion.d.ts.map +1 -0
- package/dist/src/animations/card.motion.js +7 -0
- package/dist/src/components/AvatarUpload.d.ts +8 -0
- package/dist/src/components/AvatarUpload.d.ts.map +1 -0
- package/dist/src/components/AvatarUpload.js +67 -0
- package/dist/src/components/Button.d.ts +6 -0
- package/dist/src/components/Button.d.ts.map +1 -0
- package/dist/src/components/Button.js +5 -0
- package/dist/src/components/Calendar.d.ts +36 -0
- package/dist/src/components/Calendar.d.ts.map +1 -0
- package/dist/src/components/Calendar.js +10 -0
- package/dist/src/components/CardsSelect.d.ts +24 -0
- package/dist/src/components/CardsSelect.d.ts.map +1 -0
- package/dist/src/components/CardsSelect.js +46 -0
- package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +10 -0
- package/dist/src/components/CollapsibleSidebarMenuItem.d.ts.map +1 -0
- package/dist/src/components/CollapsibleSidebarMenuItem.js +11 -0
- package/dist/src/components/ColorPicker.d.ts +5 -0
- package/dist/src/components/ColorPicker.d.ts.map +1 -0
- package/dist/src/components/ColorPicker.js +21 -0
- package/dist/src/components/CopyButton.d.ts +7 -0
- package/dist/src/components/CopyButton.d.ts.map +1 -0
- package/dist/src/components/CopyButton.js +24 -0
- package/dist/src/components/CropDialog.d.ts +11 -0
- package/dist/src/components/CropDialog.d.ts.map +1 -0
- package/dist/src/components/CropDialog.js +67 -0
- package/dist/src/components/DialogProvider.d.ts +16 -0
- package/dist/src/components/DialogProvider.d.ts.map +1 -0
- package/dist/src/components/DialogProvider.js +50 -0
- package/dist/src/components/ErrorFallback.d.ts +5 -0
- package/dist/src/components/ErrorFallback.d.ts.map +1 -0
- package/dist/src/components/ErrorFallback.js +5 -0
- package/dist/src/components/FileDropzone.d.ts +7 -0
- package/dist/src/components/FileDropzone.d.ts.map +1 -0
- package/dist/src/components/FileDropzone.js +63 -0
- package/dist/src/components/MultiSelectDropdown.d.ts +27 -0
- package/dist/src/components/MultiSelectDropdown.d.ts.map +1 -0
- package/dist/src/components/MultiSelectDropdown.js +53 -0
- package/dist/src/components/Orb.d.ts +7 -0
- package/dist/src/components/Orb.d.ts.map +1 -0
- package/dist/src/components/Orb.js +259 -0
- package/dist/src/components/PageAlert.d.ts +19 -0
- package/dist/src/components/PageAlert.d.ts.map +1 -0
- package/dist/src/components/PageAlert.js +48 -0
- package/dist/src/components/SelectChips.d.ts +11 -0
- package/dist/src/components/SelectChips.d.ts.map +1 -0
- package/dist/src/components/SelectChips.js +11 -0
- package/dist/src/components/SidebarItem.d.ts +8 -0
- package/dist/src/components/SidebarItem.d.ts.map +1 -0
- package/dist/src/components/SidebarItem.js +6 -0
- package/dist/src/components/Steps.d.ts +20 -0
- package/dist/src/components/Steps.d.ts.map +1 -0
- package/dist/src/components/Steps.js +34 -0
- package/dist/src/components/TablerIconPicker.d.ts +3 -0
- package/dist/src/components/TablerIconPicker.d.ts.map +1 -0
- package/dist/src/components/TablerIconPicker.js +4238 -0
- package/dist/src/components/app-header.d.ts +7 -0
- package/dist/src/components/app-header.d.ts.map +1 -0
- package/dist/src/components/app-header.js +8 -0
- package/dist/src/components/blur-card.d.ts +14 -0
- package/dist/src/components/blur-card.d.ts.map +1 -0
- package/dist/src/components/blur-card.js +34 -0
- package/dist/src/components/features-section-demo-1.d.ts +7 -0
- package/dist/src/components/features-section-demo-1.d.ts.map +1 -0
- package/dist/src/components/features-section-demo-1.js +53 -0
- package/dist/src/components/features-section-demo-2.d.ts +2 -0
- package/dist/src/components/features-section-demo-2.d.ts.map +1 -0
- package/dist/src/components/features-section-demo-2.js +51 -0
- package/dist/src/components/features-section-demo-3.d.ts +9 -0
- package/dist/src/components/features-section-demo-3.d.ts.map +1 -0
- package/dist/src/components/features-section-demo-3.js +116 -0
- package/dist/src/components/mode-toggle.d.ts +2 -0
- package/dist/src/components/mode-toggle.d.ts.map +1 -0
- package/dist/src/components/mode-toggle.js +9 -0
- package/dist/src/components/nav-main.d.ts +14 -0
- package/dist/src/components/nav-main.d.ts.map +1 -0
- package/dist/src/components/nav-main.js +9 -0
- package/dist/src/components/pricing-cards.d.ts +2 -0
- package/dist/src/components/pricing-cards.d.ts.map +1 -0
- package/dist/src/components/pricing-cards.js +27 -0
- package/dist/src/components/shared/ButtonCopy.d.ts +7 -0
- package/dist/src/components/shared/ButtonCopy.d.ts.map +1 -0
- package/dist/src/components/shared/ButtonCopy.js +24 -0
- package/dist/src/components/team-switcher.d.ts +9 -0
- package/dist/src/components/team-switcher.d.ts.map +1 -0
- package/dist/src/components/team-switcher.js +10 -0
- package/dist/src/components/theme-provider.d.ts +14 -0
- package/dist/src/components/theme-provider.d.ts.map +1 -0
- package/dist/src/components/theme-provider.js +41 -0
- package/dist/src/components/typewriter.d.ts +19 -0
- package/dist/src/components/typewriter.d.ts.map +1 -0
- package/dist/src/components/typewriter.js +38 -0
- package/dist/src/components/ui/alert-dialog.d.ts +15 -0
- package/dist/src/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/src/components/ui/alert-dialog.js +38 -0
- package/dist/src/components/ui/alert.d.ts +10 -0
- package/dist/src/components/ui/alert.d.ts.map +1 -0
- package/dist/src/components/ui/alert.js +24 -0
- package/dist/src/components/ui/avatar.d.ts +7 -0
- package/dist/src/components/ui/avatar.d.ts.map +1 -0
- package/dist/src/components/ui/avatar.js +12 -0
- package/dist/src/components/ui/badge.d.ts +10 -0
- package/dist/src/components/ui/badge.d.ts.map +1 -0
- package/dist/src/components/ui/badge.js +20 -0
- package/dist/src/components/ui/bento-grid.d.ts +12 -0
- package/dist/src/components/ui/bento-grid.d.ts.map +1 -0
- package/dist/src/components/ui/bento-grid.js +8 -0
- package/dist/src/components/ui/bento-grid2.d.ts +16 -0
- package/dist/src/components/ui/bento-grid2.d.ts.map +1 -0
- package/dist/src/components/ui/bento-grid2.js +13 -0
- package/dist/src/components/ui/breadcrumb.d.ts +20 -0
- package/dist/src/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/src/components/ui/breadcrumb.js +23 -0
- package/dist/src/components/ui/button.d.ts +12 -0
- package/dist/src/components/ui/button.d.ts.map +1 -0
- package/dist/src/components/ui/button.js +33 -0
- package/dist/src/components/ui/card.d.ts +9 -0
- package/dist/src/components/ui/card.d.ts.map +1 -0
- package/dist/src/components/ui/card.js +16 -0
- package/dist/src/components/ui/checkbox.d.ts +5 -0
- package/dist/src/components/ui/checkbox.d.ts.map +1 -0
- package/dist/src/components/ui/checkbox.js +8 -0
- package/dist/src/components/ui/collapsible.d.ts +6 -0
- package/dist/src/components/ui/collapsible.d.ts.map +1 -0
- package/dist/src/components/ui/collapsible.js +5 -0
- package/dist/src/components/ui/dialog.d.ts +14 -0
- package/dist/src/components/ui/dialog.d.ts.map +1 -0
- package/dist/src/components/ui/dialog.js +35 -0
- package/dist/src/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/src/components/ui/dropdown-menu.js +32 -0
- package/dist/src/components/ui/floating-navbar.d.ts +10 -0
- package/dist/src/components/ui/floating-navbar.d.ts.map +1 -0
- package/dist/src/components/ui/floating-navbar.js +38 -0
- package/dist/src/components/ui/form.d.ts +24 -0
- package/dist/src/components/ui/form.d.ts.map +1 -0
- package/dist/src/components/ui/form.js +60 -0
- package/dist/src/components/ui/image.d.ts +7 -0
- package/dist/src/components/ui/image.d.ts.map +1 -0
- package/dist/src/components/ui/image.js +15 -0
- package/dist/src/components/ui/input.d.ts +4 -0
- package/dist/src/components/ui/input.d.ts.map +1 -0
- package/dist/src/components/ui/input.js +8 -0
- package/dist/src/components/ui/label.d.ts +6 -0
- package/dist/src/components/ui/label.d.ts.map +1 -0
- package/dist/src/components/ui/label.js +9 -0
- package/dist/src/components/ui/pagination.d.ts +14 -0
- package/dist/src/components/ui/pagination.d.ts.map +1 -0
- package/dist/src/components/ui/pagination.js +29 -0
- package/dist/src/components/ui/progress.d.ts +5 -0
- package/dist/src/components/ui/progress.d.ts.map +1 -0
- package/dist/src/components/ui/progress.js +7 -0
- package/dist/src/components/ui/resizable-navbar.d.ts +57 -0
- package/dist/src/components/ui/resizable-navbar.d.ts.map +1 -0
- package/dist/src/components/ui/resizable-navbar.js +86 -0
- package/dist/src/components/ui/segment-control.d.ts +10 -0
- package/dist/src/components/ui/segment-control.d.ts.map +1 -0
- package/dist/src/components/ui/segment-control.js +42 -0
- package/dist/src/components/ui/select.d.ts +14 -0
- package/dist/src/components/ui/select.d.ts.map +1 -0
- package/dist/src/components/ui/select.js +26 -0
- package/dist/src/components/ui/separator.d.ts +5 -0
- package/dist/src/components/ui/separator.d.ts.map +1 -0
- package/dist/src/components/ui/separator.js +7 -0
- package/dist/src/components/ui/sheet.d.ts +26 -0
- package/dist/src/components/ui/sheet.d.ts.map +1 -0
- package/dist/src/components/ui/sheet.js +37 -0
- package/dist/src/components/ui/sidebar.d.ts +67 -0
- package/dist/src/components/ui/sidebar.d.ts.map +1 -0
- package/dist/src/components/ui/sidebar.js +222 -0
- package/dist/src/components/ui/skeleton.d.ts +3 -0
- package/dist/src/components/ui/skeleton.d.ts.map +1 -0
- package/dist/src/components/ui/skeleton.js +6 -0
- package/dist/src/components/ui/slider.d.ts +5 -0
- package/dist/src/components/ui/slider.d.ts.map +1 -0
- package/dist/src/components/ui/slider.js +7 -0
- package/dist/src/components/ui/sonner.d.ts +5 -0
- package/dist/src/components/ui/sonner.d.ts.map +1 -0
- package/dist/src/components/ui/sonner.js +15 -0
- package/dist/src/components/ui/spinner.d.ts +15 -0
- package/dist/src/components/ui/spinner.d.ts.map +1 -0
- package/dist/src/components/ui/spinner.js +30 -0
- package/dist/src/components/ui/switch.d.ts +5 -0
- package/dist/src/components/ui/switch.d.ts.map +1 -0
- package/dist/src/components/ui/switch.js +7 -0
- package/dist/src/components/ui/table.d.ts +11 -0
- package/dist/src/components/ui/table.d.ts.map +1 -0
- package/dist/src/components/ui/table.js +27 -0
- package/dist/src/components/ui/tabs.d.ts +8 -0
- package/dist/src/components/ui/tabs.d.ts.map +1 -0
- package/dist/src/components/ui/tabs.js +16 -0
- package/dist/src/components/ui/textarea.d.ts +4 -0
- package/dist/src/components/ui/textarea.d.ts.map +1 -0
- package/dist/src/components/ui/textarea.js +6 -0
- package/dist/src/components/ui/timeline.d.ts +12 -0
- package/dist/src/components/ui/timeline.d.ts.map +1 -0
- package/dist/src/components/ui/timeline.js +27 -0
- package/dist/src/components/ui/toast.d.ts +16 -0
- package/dist/src/components/ui/toast.d.ts.map +1 -0
- package/dist/src/components/ui/toast.js +33 -0
- package/dist/src/components/ui/tooltip.d.ts +8 -0
- package/dist/src/components/ui/tooltip.d.ts.map +1 -0
- package/dist/src/components/ui/tooltip.js +16 -0
- package/dist/src/components/ui/typewriter-effect.d.ts +17 -0
- package/dist/src/components/ui/typewriter-effect.d.ts.map +1 -0
- package/dist/src/components/ui/typewriter-effect.js +76 -0
- package/dist/src/hooks/use-mobile.d.ts +2 -0
- package/dist/src/hooks/use-mobile.d.ts.map +1 -0
- package/dist/src/hooks/use-mobile.js +15 -0
- package/dist/src/hooks/useDialog.d.ts +5 -0
- package/dist/src/hooks/useDialog.d.ts.map +1 -0
- package/dist/src/hooks/useDialog.js +22 -0
- package/dist/src/icons/GoogleIcon.d.ts +6 -0
- package/dist/src/icons/GoogleIcon.d.ts.map +1 -0
- package/dist/src/icons/GoogleIcon.js +4 -0
- package/dist/src/icons/LinkedInIcon.d.ts +6 -0
- package/dist/src/icons/LinkedInIcon.d.ts.map +1 -0
- package/dist/src/icons/LinkedInIcon.js +4 -0
- package/dist/src/icons/MicrosoftIcon.d.ts +6 -0
- package/dist/src/icons/MicrosoftIcon.d.ts.map +1 -0
- package/dist/src/icons/MicrosoftIcon.js +4 -0
- package/dist/src/lib/chatwoot.d.ts +12 -0
- package/dist/src/lib/chatwoot.d.ts.map +1 -0
- package/dist/src/lib/chatwoot.js +28 -0
- package/dist/src/lib/utils.d.ts +3 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +5 -0
- package/dist/src/modules/app/components/AppLoader.d.ts +3 -0
- package/dist/src/modules/app/components/AppLoader.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppLoader.js +5 -0
- package/dist/src/modules/app/components/AppShell.d.ts +8 -0
- package/dist/src/modules/app/components/AppShell.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppShell.js +7 -0
- package/dist/src/modules/app/components/AppSidebar.d.ts +8 -0
- package/dist/src/modules/app/components/AppSidebar.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppSidebar.js +5 -0
- package/dist/src/modules/app/components/AppSidebarContent.d.ts +17 -0
- package/dist/src/modules/app/components/AppSidebarContent.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppSidebarContent.js +7 -0
- package/dist/src/modules/app/components/AppSidebarHeader.d.ts +9 -0
- package/dist/src/modules/app/components/AppSidebarHeader.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppSidebarHeader.js +10 -0
- package/dist/src/modules/app/components/AppSidebarInvites.d.ts +4 -0
- package/dist/src/modules/app/components/AppSidebarInvites.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppSidebarInvites.js +12 -0
- package/dist/src/modules/app/components/AppSidebarUser.d.ts +12 -0
- package/dist/src/modules/app/components/AppSidebarUser.d.ts.map +1 -0
- package/dist/src/modules/app/components/AppSidebarUser.js +16 -0
- package/dist/src/modules/auth/components/AdminUserManagement.d.ts +7 -0
- package/dist/src/modules/auth/components/AdminUserManagement.d.ts.map +1 -0
- package/dist/src/modules/auth/components/AdminUserManagement.js +422 -0
- package/dist/src/modules/auth/components/AdminWaitlist.d.ts +7 -0
- package/dist/src/modules/auth/components/AdminWaitlist.d.ts.map +1 -0
- package/dist/src/modules/auth/components/AdminWaitlist.js +118 -0
- package/dist/src/modules/auth/components/AuthLayout.d.ts +5 -0
- package/dist/src/modules/auth/components/AuthLayout.d.ts.map +1 -0
- package/dist/src/modules/auth/components/AuthLayout.js +5 -0
- package/dist/src/modules/auth/components/AuthProviders.d.ts +7 -0
- package/dist/src/modules/auth/components/AuthProviders.d.ts.map +1 -0
- package/dist/src/modules/auth/components/AuthProviders.js +45 -0
- package/dist/src/modules/auth/components/AuthRouter.d.ts +10 -0
- package/dist/src/modules/auth/components/AuthRouter.d.ts.map +1 -0
- package/dist/src/modules/auth/components/AuthRouter.js +12 -0
- package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +5 -0
- package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ClaimAccountRoute.js +143 -0
- package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +2 -0
- package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ErrorAuthRoute.js +93 -0
- package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +2 -0
- package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ForgotPasswordForm.js +27 -0
- package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +2 -0
- package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ForgotPasswordRoute.js +9 -0
- package/dist/src/modules/auth/components/InviteFriends.d.ts +6 -0
- package/dist/src/modules/auth/components/InviteFriends.d.ts.map +1 -0
- package/dist/src/modules/auth/components/InviteFriends.js +74 -0
- package/dist/src/modules/auth/components/LastUsedBadge.d.ts +6 -0
- package/dist/src/modules/auth/components/LastUsedBadge.d.ts.map +1 -0
- package/dist/src/modules/auth/components/LastUsedBadge.js +9 -0
- package/dist/src/modules/auth/components/LoginForm.d.ts +4 -0
- package/dist/src/modules/auth/components/LoginForm.d.ts.map +1 -0
- package/dist/src/modules/auth/components/LoginForm.js +44 -0
- package/dist/src/modules/auth/components/LoginRoute.d.ts +4 -0
- package/dist/src/modules/auth/components/LoginRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/LoginRoute.js +11 -0
- package/dist/src/modules/auth/components/LogoutRoute.d.ts +2 -0
- package/dist/src/modules/auth/components/LogoutRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/LogoutRoute.js +15 -0
- package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +10 -0
- package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.js +102 -0
- package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +52 -0
- package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/OrganizationMembersRoute.js +359 -0
- package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +21 -0
- package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/OrganizationSettingsRoute.js +153 -0
- package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +8 -0
- package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts.map +1 -0
- package/dist/src/modules/auth/components/OrganizationSwitcher.js +74 -0
- package/dist/src/modules/auth/components/ProfileRoute.d.ts +2 -0
- package/dist/src/modules/auth/components/ProfileRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ProfileRoute.js +42 -0
- package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +32 -0
- package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts.map +1 -0
- package/dist/src/modules/auth/components/RangeNuqsDatePicker.js +236 -0
- package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +2 -0
- package/dist/src/modules/auth/components/ResetPasswordForm.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ResetPasswordForm.js +39 -0
- package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +2 -0
- package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/ResetPasswordRoute.js +9 -0
- package/dist/src/modules/auth/components/SignupFormRoute.d.ts +6 -0
- package/dist/src/modules/auth/components/SignupFormRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/SignupFormRoute.js +106 -0
- package/dist/src/modules/auth/components/SignupRoute.d.ts +8 -0
- package/dist/src/modules/auth/components/SignupRoute.d.ts.map +1 -0
- package/dist/src/modules/auth/components/SignupRoute.js +16 -0
- package/dist/src/modules/auth/components/UserPreferences.d.ts +31 -0
- package/dist/src/modules/auth/components/UserPreferences.d.ts.map +1 -0
- package/dist/src/modules/auth/components/UserPreferences.js +60 -0
- package/dist/src/modules/auth/components/WaitlistCard.d.ts +7 -0
- package/dist/src/modules/auth/components/WaitlistCard.d.ts.map +1 -0
- package/dist/src/modules/auth/components/WaitlistCard.js +32 -0
- package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +8 -0
- package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts.map +1 -0
- package/dist/src/modules/auth/components/WaitlistCodeValidation.js +43 -0
- package/dist/src/modules/billing/components/BillingBetaPage.d.ts +9 -0
- package/dist/src/modules/billing/components/BillingBetaPage.d.ts.map +1 -0
- package/dist/src/modules/billing/components/BillingBetaPage.js +11 -0
- package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +8 -0
- package/dist/src/modules/billing/components/BillingInvoicePage.d.ts.map +1 -0
- package/dist/src/modules/billing/components/BillingInvoicePage.js +32 -0
- package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +7 -0
- package/dist/src/modules/billing/components/BillingPlanSelect.d.ts.map +1 -0
- package/dist/src/modules/billing/components/BillingPlanSelect.js +8 -0
- package/dist/src/modules/billing/components/BillingRouter.d.ts +10 -0
- package/dist/src/modules/billing/components/BillingRouter.d.ts.map +1 -0
- package/dist/src/modules/billing/components/BillingRouter.js +8 -0
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +9 -0
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts.map +1 -0
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.js +46 -0
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +11 -0
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts.map +1 -0
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.js +42 -0
- package/dist/src/modules/table/components/NuqsTable.d.ts +24 -0
- package/dist/src/modules/table/components/NuqsTable.d.ts.map +1 -0
- package/dist/src/modules/table/components/NuqsTable.js +198 -0
- package/dist/src/modules/table/components/TableFiltering.d.ts +24 -0
- package/dist/src/modules/table/components/TableFiltering.d.ts.map +1 -0
- package/dist/src/modules/table/components/TableFiltering.js +236 -0
- package/dist/src/modules/table/components/TablePagination.d.ts +10 -0
- package/dist/src/modules/table/components/TablePagination.d.ts.map +1 -0
- package/dist/src/modules/table/components/TablePagination.js +21 -0
- package/dist/src/modules/table/components/table.types.d.ts +13 -0
- package/dist/src/modules/table/components/table.types.d.ts.map +1 -0
- package/dist/src/modules/table/components/table.types.js +1 -0
- package/dist/src/modules/table/filterTransformers.d.ts +54 -0
- package/dist/src/modules/table/filterTransformers.d.ts.map +1 -0
- package/dist/src/modules/table/filterTransformers.js +276 -0
- package/dist/src/types.d.ts +4 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/tsconfig.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/components/app-header.tsx"],"names":[],"mappings":"AAYA,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,2CA2B7F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment } from "react";
|
|
3
|
+
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "#components/ui/breadcrumb";
|
|
4
|
+
import { Separator } from "#components/ui/separator";
|
|
5
|
+
import { SidebarTrigger } from "#components/ui/sidebar";
|
|
6
|
+
export function AppHeader({ breadcrumbs }) {
|
|
7
|
+
return (_jsx("header", { className: "flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12", children: _jsxs("div", { className: "flex items-center gap-2 px-4", children: [_jsx(SidebarTrigger, { className: "-ml-1" }), _jsx(Separator, { orientation: "vertical", className: "mr-2 h-4" }), _jsx(Breadcrumb, { children: _jsx(BreadcrumbList, { children: breadcrumbs.map(({ href, label }, index) => (_jsxs(Fragment, { children: [_jsx(BreadcrumbItem, { children: href ? (_jsx(BreadcrumbLink, { href: href, children: label })) : (_jsx(BreadcrumbPage, { children: label })) }), index < breadcrumbs.length - 1 && (_jsx(BreadcrumbSeparator, { className: "hidden md:block" }))] }, `${label}-${index}`))) }) })] }) }));
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
interface BlurCardProps {
|
|
3
|
+
image: string;
|
|
4
|
+
title: string;
|
|
5
|
+
subtitle: string;
|
|
6
|
+
type: string;
|
|
7
|
+
date: string;
|
|
8
|
+
description: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
link?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export declare function BlurCard({ image, title, subtitle, type, date, description, className, link, }: BlurCardProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=blur-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur-card.d.ts","sourceRoot":"","sources":["../../../src/components/blur-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA2CvC,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE,aAAa,2CAmEf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { motion } from "motion/react";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Card } from "#components/ui/card";
|
|
5
|
+
import { cn } from "#utils";
|
|
6
|
+
function BlurCardHeader({ title, subtitle, type, date, }) {
|
|
7
|
+
return (_jsxs("div", { className: "w-full px-4 py-4", children: [_jsxs("div", { className: "hidden lg:block", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-lg font-semibold text-white drop-shadow-md", children: title }), _jsx("span", { className: "inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md", children: type })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-neutral-300 drop-shadow-md", children: subtitle }), _jsx("span", { className: "text-xs text-neutral-300 drop-shadow-md italic", children: date })] })] }), _jsxs("div", { className: "block lg:hidden", children: [_jsx("div", { className: "inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md", children: type }), _jsx("div", { className: "text-lg font-semibold text-white drop-shadow-md", children: title }), _jsx("div", { className: "text-sm text-neutral-300 drop-shadow-md", children: subtitle }), _jsx("div", { className: "text-xs text-neutral-300 drop-shadow-md italic", children: date })] })] }));
|
|
8
|
+
}
|
|
9
|
+
export function BlurCard({ image, title, subtitle, type, date, description, className, link, }) {
|
|
10
|
+
// Detect touch device
|
|
11
|
+
const isTouchDevice = typeof window !== "undefined" && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
|
|
12
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
13
|
+
// Handler for tap on mobile
|
|
14
|
+
const handleCardClick = () => {
|
|
15
|
+
if (isTouchDevice)
|
|
16
|
+
setIsOpen((open) => !open);
|
|
17
|
+
};
|
|
18
|
+
return (_jsx(Card, { className: cn("relative overflow-hidden p-0 h-80 w-full flex flex-col justify-start", className), onClick: isTouchDevice ? handleCardClick : undefined, style: { touchAction: "manipulation" }, children: _jsxs(motion.div, { whileHover: isTouchDevice ? undefined : "hover", initial: "rest", animate: isTouchDevice && isOpen ? "hover" : "rest", className: "relative w-full h-full flex flex-col justify-end", style: {
|
|
19
|
+
backgroundImage: `url(${image})`,
|
|
20
|
+
backgroundSize: "cover",
|
|
21
|
+
backgroundPosition: "center",
|
|
22
|
+
height: "100%",
|
|
23
|
+
}, children: [_jsx(motion.div, { variants: {
|
|
24
|
+
rest: { opacity: 0, backdropFilter: "blur(0px)" },
|
|
25
|
+
hover: { opacity: 1, backdropFilter: "blur(8px)" },
|
|
26
|
+
}, transition: { duration: 0.3, ease: "easeInOut" }, className: "absolute inset-0 z-10 bg-black/70 pointer-events-none rounded-xl", style: { WebkitBackdropFilter: "blur(8px)" } }), _jsxs(motion.div, { variants: {
|
|
27
|
+
rest: { height: "5rem" },
|
|
28
|
+
hover: { height: "100%" },
|
|
29
|
+
}, transition: { duration: 0.3, ease: "easeInOut" }, className: "w-full flex flex-col justify-start bg-black/70 pointer-events-none rounded-xl z-20", style: {
|
|
30
|
+
overflow: "hidden",
|
|
31
|
+
WebkitBackdropFilter: "blur(8px)",
|
|
32
|
+
backdropFilter: "blur(8px)",
|
|
33
|
+
}, children: [_jsx(BlurCardHeader, { title: title, subtitle: subtitle, type: type, date: date }), _jsxs("div", { className: "w-full h-full px-4 pb-4 flex flex-col justify-between", children: [_jsx("p", { className: "text-neutral-100", children: description }), _jsx("div", { className: "flex items-center justify-end pointer-events-auto", children: link })] })] }), _jsx("img", { src: image, alt: title, className: "invisible w-0 h-0" })] }) }));
|
|
34
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export default function FeaturesSectionDemo(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const Grid: ({ pattern, size }: {
|
|
3
|
+
pattern?: number[][];
|
|
4
|
+
size?: number;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function GridPattern({ width, height, x, y, squares, ...props }: any): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=features-section-demo-1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features-section-demo-1.d.ts","sourceRoot":"","sources":["../../../src/components/features-section-demo-1.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAqB1C;AA6CD,eAAO,MAAM,IAAI,GAAI,mBAAmB;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,4CAsB9E,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,2CAkC1E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
export default function FeaturesSectionDemo() {
|
|
4
|
+
return (_jsx("div", { className: "py-20 lg:py-40", children: _jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-10 md:gap-2 max-w-7xl mx-auto", children: grid.map((feature) => (_jsxs("div", { className: "relative bg-gradient-to-b dark:from-neutral-900 from-neutral-100 dark:to-neutral-950 to-white p-6 rounded-3xl overflow-hidden", children: [_jsx(Grid, { size: 20 }), _jsx("p", { className: "text-base font-bold text-neutral-800 dark:text-white relative z-20", children: feature.title }), _jsx("p", { className: "text-neutral-600 dark:text-neutral-400 mt-4 text-base font-normal relative z-20", children: feature.description })] }, feature.title))) }) }));
|
|
5
|
+
}
|
|
6
|
+
const grid = [
|
|
7
|
+
{
|
|
8
|
+
title: "HIPAA and SOC2 Compliant",
|
|
9
|
+
description: "Our applications are HIPAA and SOC2 compliant, your data is safe with us, always.",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
title: "Automated Social Media Posting",
|
|
13
|
+
description: "Schedule and automate your social media posts across multiple platforms to save time and maintain a consistent online presence.",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: "Advanced Analytics",
|
|
17
|
+
description: "Gain insights into your social media performance with detailed analytics and reporting tools to measure engagement and ROI.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
title: "Content Calendar",
|
|
21
|
+
description: "Plan and organize your social media content with an intuitive calendar view, ensuring you never miss a post.",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
title: "Audience Targeting",
|
|
25
|
+
description: "Reach the right audience with advanced targeting options, including demographics, interests, and behaviors.",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
title: "Social Listening",
|
|
29
|
+
description: "Monitor social media conversations and trends to stay informed about what your audience is saying and respond in real-time.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
title: "Customizable Templates",
|
|
33
|
+
description: "Create stunning social media posts with our customizable templates, designed to fit your brand's unique style and voice.",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: "Collaboration Tools",
|
|
37
|
+
description: "Work seamlessly with your team using our collaboration tools, allowing you to assign tasks, share drafts, and provide feedback in real-time.",
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
export const Grid = ({ pattern, size }) => {
|
|
41
|
+
const p = pattern ?? [
|
|
42
|
+
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
43
|
+
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
44
|
+
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
45
|
+
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
46
|
+
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
47
|
+
];
|
|
48
|
+
return (_jsx("div", { className: "pointer-events-none absolute left-1/2 top-0 -ml-20 -mt-2 h-full w-full [mask-image:linear-gradient(white,transparent)]", children: _jsx("div", { className: "absolute inset-0 bg-gradient-to-r [mask-image:radial-gradient(farthest-side_at_top,white,transparent)] dark:from-zinc-900/30 from-zinc-100/30 to-zinc-300/30 dark:to-zinc-900/30 opacity-100", children: _jsx(GridPattern, { width: size ?? 20, height: size ?? 20, x: "-12", y: "4", squares: p, className: "absolute inset-0 h-full w-full mix-blend-overlay dark:fill-white/10 dark:stroke-white/10 stroke-black/10 fill-black/10" }) }) }));
|
|
49
|
+
};
|
|
50
|
+
export function GridPattern({ width, height, x, y, squares, ...props }) {
|
|
51
|
+
const patternId = useId();
|
|
52
|
+
return (_jsxs("svg", { "aria-hidden": "true", ...props, children: [_jsx("defs", { children: _jsx("pattern", { id: patternId, width: width, height: height, patternUnits: "userSpaceOnUse", x: x, y: y, children: _jsx("path", { d: `M.5 ${height}V.5H${width}`, fill: "none" }) }) }), _jsx("rect", { width: "100%", height: "100%", strokeWidth: 0, fill: `url(#${patternId})` }), squares && (_jsx("svg", { x: x, y: y, className: "overflow-visible", children: squares.map(([x, y]) => (_jsx("rect", { strokeWidth: "0", width: width + 1, height: height + 1, x: x * width, y: y * height }, `${x}-${y}`))) }))] }));
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features-section-demo-2.d.ts","sourceRoot":"","sources":["../../../src/components/features-section-demo-2.tsx"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAkD1C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconBlocks, IconBooks, IconCode, IconMicroscope, IconRocket, IconSchool, IconUser, IconWriting, } from "@tabler/icons-react";
|
|
3
|
+
import { cn } from "#utils";
|
|
4
|
+
export default function FeaturesSectionDemo() {
|
|
5
|
+
const features = [
|
|
6
|
+
{
|
|
7
|
+
title: "Founder",
|
|
8
|
+
description: "I turn zero into one. Sometimes into ten.",
|
|
9
|
+
icon: _jsx(IconBlocks, {}),
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
title: "Entrepreneur",
|
|
13
|
+
description: "I chase opportunities, not job titles.",
|
|
14
|
+
icon: _jsx(IconRocket, {}),
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: "Developer",
|
|
18
|
+
description: "I speak fluent JavaScript and problem-solving.",
|
|
19
|
+
icon: _jsx(IconCode, {}),
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
title: "Mentor",
|
|
23
|
+
description: "Helping others skip the dumb mistakes I made.",
|
|
24
|
+
icon: _jsx(IconSchool, {}),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
title: "Researcher",
|
|
28
|
+
description: "Curious by default. I dig deep before I build.",
|
|
29
|
+
icon: _jsx(IconMicroscope, {}),
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
title: "Thinker",
|
|
33
|
+
description: "Not everything I do ships — but it shapes what does.",
|
|
34
|
+
icon: _jsx(IconBooks, {}),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
title: "Writer",
|
|
38
|
+
description: "Sometimes code, sometimes essays, sometimes late-night rambles.",
|
|
39
|
+
icon: _jsx(IconWriting, {}),
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: "Human",
|
|
43
|
+
description: "Imperfect. Learning. Figuring it out like the rest of us.",
|
|
44
|
+
icon: _jsx(IconUser, {}),
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 relative z-10 py-20 max-w-7xl mx-auto", children: features.map((feature, index) => (_jsx(Feature, { ...feature, index: index }, feature.title))) }));
|
|
48
|
+
}
|
|
49
|
+
const Feature = ({ title, description, icon, index, }) => {
|
|
50
|
+
return (_jsxs("div", { className: cn("flex flex-col lg:border-r py-10 relative group/feature dark:border-neutral-800", (index === 0 || index === 4) && "lg:border-l dark:border-neutral-800", index < 4 && "lg:border-b dark:border-neutral-800"), children: [index < 4 && (_jsx("div", { className: "opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-t from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" })), index >= 4 && (_jsx("div", { className: "opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-b from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" })), _jsx("div", { className: "mb-4 relative z-10 px-10 text-neutral-600 dark:text-neutral-400", children: icon }), _jsxs("div", { className: "text-lg font-bold mb-2 relative z-10 px-10", children: [_jsx("div", { className: "absolute left-0 inset-y-0 h-6 group-hover/feature:h-8 w-1 rounded-tr-full rounded-br-full bg-neutral-300 dark:bg-neutral-700 group-hover/feature:bg-blue-500 transition-all duration-200 origin-center" }), _jsx("span", { className: "group-hover/feature:translate-x-2 transition duration-200 inline-block text-neutral-800 dark:text-neutral-100", children: title })] }), _jsx("p", { className: "text-sm text-neutral-600 dark:text-neutral-300 max-w-xs relative z-10 px-10", children: description })] }));
|
|
51
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export default function FeaturesSectionDemo(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const SkeletonOne: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const SkeletonThree: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const SkeletonTwo: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const SkeletonFour: () => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const Globe: ({ className }: {
|
|
7
|
+
className?: string;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=features-section-demo-3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features-section-demo-3.d.ts","sourceRoot":"","sources":["../../../src/components/features-section-demo-3.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAuD1C;AAkCD,eAAO,MAAM,WAAW,+CAoBvB,CAAC;AAEF,eAAO,MAAM,aAAa,+CAsBzB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAyEvB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAMxB,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,eAAe;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,4CA8C1D,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconBrandYoutubeFilled } from "@tabler/icons-react";
|
|
3
|
+
import createGlobe from "cobe";
|
|
4
|
+
import { motion } from "motion/react";
|
|
5
|
+
import { useEffect, useRef } from "react";
|
|
6
|
+
import { cn } from "#utils";
|
|
7
|
+
export default function FeaturesSectionDemo() {
|
|
8
|
+
const features = [
|
|
9
|
+
{
|
|
10
|
+
title: "Open Source Projects",
|
|
11
|
+
description: "Track and manage your project issues with ease using our intuitive interface.",
|
|
12
|
+
skeleton: _jsx(SkeletonOne, {}),
|
|
13
|
+
className: "col-span-1 lg:col-span-4 border-b lg:border-r dark:border-neutral-800",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: "Research Papers",
|
|
17
|
+
description: "Capture stunning photos effortlessly using our advanced AI technology.",
|
|
18
|
+
skeleton: _jsx(SkeletonTwo, {}),
|
|
19
|
+
className: "border-b col-span-1 lg:col-span-2 dark:border-neutral-800",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
title: "Side Projects",
|
|
23
|
+
description: "Whether its you or Tyler Durden, you can get to know about our product on YouTube",
|
|
24
|
+
skeleton: _jsx(SkeletonThree, {}),
|
|
25
|
+
className: "col-span-1 lg:col-span-3 lg:border-r dark:border-neutral-800",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
title: "Music",
|
|
29
|
+
description: "With our blazing fast, state of the art, cutting edge, we are so back cloud servies (read AWS) - you can deploy your model in seconds.",
|
|
30
|
+
skeleton: _jsx(SkeletonFour, {}),
|
|
31
|
+
className: "col-span-1 lg:col-span-3 border-b lg:border-none",
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
return (_jsxs("div", { className: "relative z-20 py-10 lg:py-40 max-w-7xl mx-auto", children: [_jsxs("div", { className: "px-8", children: [_jsx("h4", { className: "text-3xl lg:text-5xl lg:leading-tight max-w-5xl mx-auto text-center tracking-tight font-medium text-black dark:text-white", children: "Packed with thousands of features" }), _jsx("p", { className: "text-sm lg:text-base max-w-2xl my-4 mx-auto text-neutral-500 text-center font-normal dark:text-neutral-300", children: "From Image generation to video generation, Everything AI has APIs for literally everything. It can even create this website copy for you." })] }), _jsx("div", { className: "relative ", children: _jsx("div", { className: "grid grid-cols-1 lg:grid-cols-6 mt-12 xl:border rounded-md dark:border-neutral-800", children: features.map((feature) => (_jsxs(FeatureCard, { className: feature.className, children: [_jsx(FeatureTitle, { children: feature.title }), _jsx(FeatureDescription, { children: feature.description }), _jsx("div", { className: " h-full w-full", children: feature.skeleton })] }, feature.title))) }) })] }));
|
|
35
|
+
}
|
|
36
|
+
const FeatureCard = ({ children, className, }) => {
|
|
37
|
+
return _jsx("div", { className: cn("p-4 sm:p-8 relative overflow-hidden", className), children: children });
|
|
38
|
+
};
|
|
39
|
+
const FeatureTitle = ({ children }) => {
|
|
40
|
+
return (_jsx("p", { className: " max-w-5xl mx-auto text-left tracking-tight text-black dark:text-white text-xl md:text-2xl md:leading-snug", children: children }));
|
|
41
|
+
};
|
|
42
|
+
const FeatureDescription = ({ children }) => {
|
|
43
|
+
return (_jsx("p", { className: cn("text-sm md:text-base max-w-4xl text-left mx-auto", "text-neutral-500 text-center font-normal dark:text-neutral-300", "text-left max-w-sm mx-0 md:text-sm my-2"), children: children }));
|
|
44
|
+
};
|
|
45
|
+
export const SkeletonOne = () => {
|
|
46
|
+
return (_jsxs("div", { className: "relative flex py-8 px-2 gap-10 h-full", children: [_jsx("div", { className: "w-full p-5 mx-auto bg-white dark:bg-neutral-900 shadow-2xl group h-full", children: _jsx("div", { className: "flex flex-1 w-full h-full flex-col space-y-2 ", children: _jsx("img", { src: "/linear.webp", alt: "header", width: 800, height: 800, className: "h-full w-full aspect-square object-cover object-left-top rounded-sm" }) }) }), _jsx("div", { className: "absolute bottom-0 z-40 inset-x-0 h-60 bg-gradient-to-t from-white dark:from-black via-white dark:via-black to-transparent w-full pointer-events-none" }), _jsx("div", { className: "absolute top-0 z-40 inset-x-0 h-60 bg-gradient-to-b from-white dark:from-black via-transparent to-transparent w-full pointer-events-none" })] }));
|
|
47
|
+
};
|
|
48
|
+
export const SkeletonThree = () => {
|
|
49
|
+
return (_jsx("a", { href: "https://www.youtube.com/watch?v=RPa3_AD1_Vs", target: "__blank", className: "relative flex gap-10 h-full group/image", children: _jsx("div", { className: "w-full mx-auto bg-transparent dark:bg-transparent group h-full", children: _jsxs("div", { className: "flex flex-1 w-full h-full flex-col space-y-2 relative", children: [_jsx(IconBrandYoutubeFilled, { className: "h-20 w-20 absolute z-10 inset-0 text-red-500 m-auto " }), _jsx("img", { src: "https://assets.aceternity.com/fireship.jpg", alt: "header", width: 800, height: 800, className: "h-full w-full aspect-square object-cover object-center rounded-sm blur-none group-hover/image:blur-md transition-all duration-200" })] }) }) }));
|
|
50
|
+
};
|
|
51
|
+
export const SkeletonTwo = () => {
|
|
52
|
+
const images = [
|
|
53
|
+
"https://images.unsplash.com/photo-1517322048670-4fba75cbbb62?q=80&w=3000&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
54
|
+
"https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=3425&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
55
|
+
"https://images.unsplash.com/photo-1555400038-63f5ba517a47?q=80&w=3540&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
56
|
+
"https://images.unsplash.com/photo-1554931670-4ebfabf6e7a9?q=80&w=3387&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
57
|
+
"https://images.unsplash.com/photo-1546484475-7f7bd55792da?q=80&w=2581&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
58
|
+
];
|
|
59
|
+
const imageVariants = {
|
|
60
|
+
whileHover: {
|
|
61
|
+
scale: 1.1,
|
|
62
|
+
rotate: 0,
|
|
63
|
+
zIndex: 100,
|
|
64
|
+
},
|
|
65
|
+
whileTap: {
|
|
66
|
+
scale: 1.1,
|
|
67
|
+
rotate: 0,
|
|
68
|
+
zIndex: 100,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
return (_jsxs("div", { className: "relative flex flex-col items-start p-8 gap-10 h-full overflow-hidden", children: [_jsx("div", { className: "flex flex-row -ml-20", children: images.map((image, idx) => (_jsx(motion.div, { variants: imageVariants, style: {
|
|
72
|
+
rotate: Math.random() * 20 - 10,
|
|
73
|
+
}, whileHover: "whileHover", whileTap: "whileTap", className: "rounded-xl -mr-4 mt-4 p-1 bg-white dark:bg-neutral-800 dark:border-neutral-700 border border-neutral-100 shrink-0 overflow-hidden", children: _jsx("img", { src: image, alt: "bali images", width: "500", height: "500", className: "rounded-lg h-20 w-20 md:h-40 md:w-40 object-cover shrink-0" }) }, "images-first" + idx))) }), _jsx("div", { className: "flex flex-row", children: images.map((image, idx) => (_jsx(motion.div, { style: {
|
|
74
|
+
rotate: Math.random() * 20 - 10,
|
|
75
|
+
}, variants: imageVariants, whileHover: "whileHover", whileTap: "whileTap", className: "rounded-xl -mr-4 mt-4 p-1 bg-white dark:bg-neutral-800 dark:border-neutral-700 border border-neutral-100 shrink-0 overflow-hidden", children: _jsx("img", { src: image, alt: "bali images", width: "500", height: "500", className: "rounded-lg h-20 w-20 md:h-40 md:w-40 object-cover shrink-0" }) }, "images-second" + idx))) }), _jsx("div", { className: "absolute left-0 z-[100] inset-y-0 w-20 bg-gradient-to-r from-white dark:from-black to-transparent h-full pointer-events-none" }), _jsx("div", { className: "absolute right-0 z-[100] inset-y-0 w-20 bg-gradient-to-l from-white dark:from-black to-transparent h-full pointer-events-none" })] }));
|
|
76
|
+
};
|
|
77
|
+
export const SkeletonFour = () => {
|
|
78
|
+
return (_jsx("div", { className: "h-60 md:h-60 flex flex-col items-center relative bg-transparent dark:bg-transparent mt-10", children: _jsx(Globe, { className: "absolute -right-10 md:-right-10 -bottom-80 md:-bottom-72" }) }));
|
|
79
|
+
};
|
|
80
|
+
export const Globe = ({ className }) => {
|
|
81
|
+
const canvasRef = useRef(null);
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
let phi = 0;
|
|
84
|
+
if (!canvasRef.current)
|
|
85
|
+
return;
|
|
86
|
+
const globe = createGlobe(canvasRef.current, {
|
|
87
|
+
devicePixelRatio: 2,
|
|
88
|
+
width: 600 * 2,
|
|
89
|
+
height: 600 * 2,
|
|
90
|
+
phi: 0,
|
|
91
|
+
theta: 0,
|
|
92
|
+
dark: 1,
|
|
93
|
+
diffuse: 1.2,
|
|
94
|
+
mapSamples: 16000,
|
|
95
|
+
mapBrightness: 6,
|
|
96
|
+
baseColor: [0.3, 0.3, 0.3],
|
|
97
|
+
markerColor: [0.1, 0.8, 1],
|
|
98
|
+
glowColor: [1, 1, 1],
|
|
99
|
+
markers: [
|
|
100
|
+
// longitude latitude
|
|
101
|
+
{ location: [37.7595, -122.4367], size: 0.03 },
|
|
102
|
+
{ location: [40.7128, -74.006], size: 0.1 },
|
|
103
|
+
],
|
|
104
|
+
onRender: (state) => {
|
|
105
|
+
// Called on every animation frame.
|
|
106
|
+
// `state` will be an empty object, return updated params.
|
|
107
|
+
state.phi = phi;
|
|
108
|
+
phi += 0.01;
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
return () => {
|
|
112
|
+
globe.destroy();
|
|
113
|
+
};
|
|
114
|
+
}, []);
|
|
115
|
+
return (_jsx("canvas", { ref: canvasRef, style: { width: 600, height: 600, maxWidth: "100%", aspectRatio: 1 }, className: className }));
|
|
116
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/mode-toggle.tsx"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,4CAmBzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Moon, Sun } from "lucide-react";
|
|
3
|
+
import { useTheme } from "#components/theme-provider";
|
|
4
|
+
import { Button } from "#components/ui/button";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "#components/ui/dropdown-menu";
|
|
6
|
+
export function ModeToggle() {
|
|
7
|
+
const { setTheme } = useTheme();
|
|
8
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "icon", children: [_jsx(Sun, { className: "h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }), _jsx(Moon, { className: "absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }), _jsx("span", { className: "sr-only", children: "Toggle theme" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuItem, { onClick: () => setTheme("light"), children: "Light" }), _jsx(DropdownMenuItem, { onClick: () => setTheme("dark"), children: "Dark" }), _jsx(DropdownMenuItem, { onClick: () => setTheme("system"), children: "System" })] })] }));
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type LucideIcon } from "lucide-react";
|
|
2
|
+
export declare function NavMain({ items, }: {
|
|
3
|
+
items: {
|
|
4
|
+
title: string;
|
|
5
|
+
url: string;
|
|
6
|
+
icon?: LucideIcon;
|
|
7
|
+
isActive?: boolean;
|
|
8
|
+
items?: {
|
|
9
|
+
title: string;
|
|
10
|
+
url: string;
|
|
11
|
+
}[];
|
|
12
|
+
}[];
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=nav-main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-main.d.ts","sourceRoot":"","sources":["../../../src/components/nav-main.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAc7D,wBAAgB,OAAO,CAAC,EACtB,KAAK,GACN,EAAE;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE;YACN,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,EAAE,CAAC;KACL,EAAE,CAAC;CACL,2CAuCA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronRight } from "lucide-react";
|
|
4
|
+
import { Link } from "react-router";
|
|
5
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "#components/ui/collapsible";
|
|
6
|
+
import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "#components/ui/sidebar";
|
|
7
|
+
export function NavMain({ items, }) {
|
|
8
|
+
return (_jsxs(SidebarGroup, { children: [_jsx(SidebarGroupLabel, { children: "Platform" }), _jsx(SidebarMenu, { children: items.map((item) => (_jsx(Collapsible, { asChild: true, defaultOpen: item.isActive, className: "group/collapsible", children: _jsxs(SidebarMenuItem, { children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { tooltip: item.title, children: [item.icon && _jsx(item.icon, {}), _jsx("span", { children: item.title }), _jsx(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })] }) }), _jsx(CollapsibleContent, { children: _jsx(SidebarMenuSub, { children: item.items?.map((subItem) => (_jsx(SidebarMenuSubItem, { children: _jsx(SidebarMenuSubButton, { asChild: true, children: _jsx(Link, { to: subItem.url, children: _jsx("span", { children: subItem.title }) }) }) }, subItem.title))) }) })] }) }, item.title))) })] }));
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-cards.d.ts","sourceRoot":"","sources":["../../../src/components/pricing-cards.tsx"],"names":[],"mappings":"AAkEA,wBAAgB,YAAY,4CAkE3B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Check, MoveRight, PhoneCall } from "lucide-react";
|
|
3
|
+
import { Badge } from "#components/ui/badge";
|
|
4
|
+
import { Button } from "#components/ui/button";
|
|
5
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "#components/ui/card";
|
|
6
|
+
function PricingCard({ title, description, price, features, highlighted = false, ctaText, ctaIcon: CtaIcon, variant = "outline", }) {
|
|
7
|
+
const Icon = CtaIcon;
|
|
8
|
+
return (_jsxs(Card, { className: `w-full rounded-md ${highlighted ? "shadow-2xl" : ""}`, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: _jsx("span", { className: "flex flex-row gap-4 items-center font-normal", children: title }) }), _jsx(CardDescription, { children: description })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col gap-8 justify-start", children: [_jsxs("p", { className: "flex flex-row items-center gap-2 text-xl", children: [_jsxs("span", { className: "text-4xl", children: ["$", price] }), _jsx("span", { className: "text-sm text-muted-foreground", children: " / month" })] }), _jsx("div", { className: "flex flex-col gap-4 justify-start", children: features.map((feature, index) => (_jsxs("div", { className: "flex flex-row gap-4", children: [_jsx(Check, { className: "w-4 h-4 mt-2 text-primary" }), _jsxs("div", { className: "flex flex-col", children: [_jsx("p", { children: feature.title }), _jsx("p", { className: "text-muted-foreground text-sm", children: feature.description })] })] }, index))) }), _jsxs(Button, { variant: variant, className: "gap-4", children: [ctaText, " ", _jsx(Icon, { className: "w-4 h-4" })] })] }) })] }));
|
|
9
|
+
}
|
|
10
|
+
export function PricingCards() {
|
|
11
|
+
const commonDescription = "Our goal is to streamline SMB trade, making it easier and faster than ever for everyone and everywhere.";
|
|
12
|
+
const commonFeatures = [
|
|
13
|
+
{
|
|
14
|
+
title: "Fast and reliable",
|
|
15
|
+
description: "We've made it fast and reliable.",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
title: "Fast and reliable",
|
|
19
|
+
description: "We've made it fast and reliable.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
title: "Fast and reliable",
|
|
23
|
+
description: "We've made it fast and reliable.",
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
return (_jsx("div", { className: "w-full py-20 lg:py-40", children: _jsx("div", { className: "container mx-auto", children: _jsxs("div", { className: "flex text-center justify-center items-center gap-4 flex-col", children: [_jsx(Badge, { children: "Pricing" }), _jsxs("div", { className: "flex gap-2 flex-col", children: [_jsx("h2", { className: "text-3xl md:text-5xl tracking-tighter max-w-xl text-center font-regular", children: "Prices that make sense!" }), _jsx("p", { className: "text-lg leading-relaxed tracking-tight text-muted-foreground max-w-xl text-center", children: "Managing a small business today is already tough." })] }), _jsxs("div", { className: "grid pt-20 text-left grid-cols-1 lg:grid-cols-3 w-full gap-8", children: [_jsx(PricingCard, { title: "Startup", description: commonDescription, price: 40, features: commonFeatures, ctaText: "Sign up today", ctaIcon: MoveRight, variant: "outline" }), _jsx(PricingCard, { title: "Growth", description: commonDescription, price: 40, features: commonFeatures, highlighted: true, ctaText: "Sign up today", ctaIcon: MoveRight, variant: "default" }), _jsx(PricingCard, { title: "Enterprise", description: commonDescription, price: 40, features: commonFeatures, ctaText: "Book a meeting", ctaIcon: PhoneCall, variant: "outline" })] })] }) }) }));
|
|
27
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ButtonProps } from "#components/ui/button";
|
|
2
|
+
export declare function ButtonCopy({ text, notificationTimeout, iconOnly, ...props }: ButtonProps & {
|
|
3
|
+
text: string;
|
|
4
|
+
notificationTimeout?: number;
|
|
5
|
+
iconOnly?: boolean;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=ButtonCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonCopy.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/ButtonCopy.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGjE,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,mBAA0B,EAC1B,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,2CAqClF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CheckCircle, Copy } from "lucide-react";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { toast } from "sonner";
|
|
6
|
+
import { Button } from "#components/ui/button";
|
|
7
|
+
import { cn } from "#utils";
|
|
8
|
+
export function ButtonCopy({ text, notificationTimeout = 1000, iconOnly = false, ...props }) {
|
|
9
|
+
const { t } = useTranslation();
|
|
10
|
+
const [isCopied, setIsCopied] = useState(false);
|
|
11
|
+
const handleCopy = async (text) => {
|
|
12
|
+
try {
|
|
13
|
+
await window.navigator.clipboard.writeText(text);
|
|
14
|
+
setIsCopied(true);
|
|
15
|
+
toast.success(t("web-ui:common.copySuccess"));
|
|
16
|
+
setTimeout(() => setIsCopied(false), notificationTimeout);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
toast.error(t("web-ui:common.copyError"));
|
|
20
|
+
console.error(error);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return (_jsx(Button, { variant: "outline", size: "sm", onClick: () => handleCopy(text), className: cn(isCopied ? "bg-green-200 hover:bg-green-300" : "", iconOnly ? "" : "gap-1"), ...props, children: isCopied ? (_jsxs(_Fragment, { children: [_jsx(CheckCircle, { className: "h-4 w-4" }), !iconOnly && t("web-ui:common.copied")] })) : (_jsxs(_Fragment, { children: [_jsx(Copy, { className: "h-4 w-4" }), !iconOnly && t("web-ui:common.copy")] })) }));
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-switcher.d.ts","sourceRoot":"","sources":["../../../src/components/team-switcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,wBAAgB,YAAY,CAAC,EAC3B,KAAK,GACN,EAAE;IACD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL,2CAuDA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronsUpDown, Plus } from "lucide-react";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "#components/ui/dropdown-menu";
|
|
5
|
+
import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "#components/ui/sidebar";
|
|
6
|
+
export function TeamSwitcher({ teams, }) {
|
|
7
|
+
const { isMobile } = useSidebar();
|
|
8
|
+
const [activeTeam, setActiveTeam] = React.useState(teams[0]);
|
|
9
|
+
return (_jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { size: "lg", className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground", children: [_jsx("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground", children: _jsx(activeTeam.logo, { className: "size-4" }) }), _jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [_jsx("span", { className: "truncate font-semibold", children: activeTeam.name }), _jsx("span", { className: "truncate text-xs", children: activeTeam.plan })] }), _jsx(ChevronsUpDown, { className: "ml-auto" })] }) }), _jsxs(DropdownMenuContent, { className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg", align: "start", side: isMobile ? "bottom" : "right", sideOffset: 4, children: [_jsx(DropdownMenuLabel, { className: "text-xs text-muted-foreground", children: "Teams" }), teams.map((team, index) => (_jsxs(DropdownMenuItem, { onClick: () => setActiveTeam(team), className: "gap-2 p-2", children: [_jsx("div", { className: "flex size-6 items-center justify-center rounded-sm border", children: _jsx(team.logo, { className: "size-4 shrink-0" }) }), team.name, _jsxs(DropdownMenuShortcut, { children: ["\u2318", index + 1] })] }, team.name))), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { className: "gap-2 p-2", children: [_jsx("div", { className: "flex size-6 items-center justify-center rounded-md border bg-background", children: _jsx(Plus, { className: "size-4" }) }), _jsx("div", { className: "font-medium text-muted-foreground", children: "Add team" })] })] })] }) }) }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type Theme = "dark" | "light" | "system";
|
|
2
|
+
type ThemeProviderProps = {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
defaultTheme?: Theme;
|
|
5
|
+
storageKey?: string;
|
|
6
|
+
};
|
|
7
|
+
type ThemeProviderState = {
|
|
8
|
+
theme: Theme;
|
|
9
|
+
setTheme: (theme: Theme) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare function ThemeProvider({ children, defaultTheme, storageKey, ...props }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const useTheme: () => ThemeProviderState;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=theme-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../../src/components/theme-provider.tsx"],"names":[],"mappings":"AAEA,KAAK,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AASF,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAuB,EACvB,UAA4B,EAC5B,GAAG,KAAK,EACT,EAAE,kBAAkB,2CAsCpB;AAED,eAAO,MAAM,QAAQ,0BAMpB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
3
|
+
const initialState = {
|
|
4
|
+
theme: "dark",
|
|
5
|
+
setTheme: () => null,
|
|
6
|
+
};
|
|
7
|
+
const ThemeProviderContext = createContext(initialState);
|
|
8
|
+
export function ThemeProvider({ children, defaultTheme = "system", storageKey = "vite-ui-theme", ...props }) {
|
|
9
|
+
const [theme, setTheme] = useState(defaultTheme);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const savedTheme = localStorage.getItem(storageKey);
|
|
12
|
+
if (savedTheme)
|
|
13
|
+
setTheme(savedTheme);
|
|
14
|
+
}, []);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const root = window.document.documentElement;
|
|
17
|
+
root.classList.remove("light", "dark");
|
|
18
|
+
if (theme === "system") {
|
|
19
|
+
const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches
|
|
20
|
+
? "dark"
|
|
21
|
+
: "light";
|
|
22
|
+
root.classList.add(systemTheme);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
root.classList.add(theme);
|
|
26
|
+
}, [theme]);
|
|
27
|
+
const value = {
|
|
28
|
+
theme,
|
|
29
|
+
setTheme: (theme) => {
|
|
30
|
+
localStorage.setItem(storageKey, theme);
|
|
31
|
+
setTheme(theme);
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return (_jsx(ThemeProviderContext.Provider, { ...props, value: value, children: children }));
|
|
35
|
+
}
|
|
36
|
+
export const useTheme = () => {
|
|
37
|
+
const context = useContext(ThemeProviderContext);
|
|
38
|
+
if (context === undefined)
|
|
39
|
+
throw new Error("useTheme must be used within a ThemeProvider");
|
|
40
|
+
return context;
|
|
41
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TypewriterEffect } from "./ui/typewriter-effect";
|
|
2
|
+
interface TypewriterProps extends Omit<React.ComponentProps<typeof TypewriterEffect>, "words"> {
|
|
3
|
+
words: string[];
|
|
4
|
+
wordClass?: string;
|
|
5
|
+
highlightClass?: string;
|
|
6
|
+
highlightIndex?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function Typewriter({ words, wordClass, highlightClass, cursorClassName, highlightIndex, ...props }: TypewriterProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
interface CyclingTypewriterProps extends Omit<React.ComponentProps<typeof TypewriterEffect>, "words"> {
|
|
10
|
+
wordSets: string[][];
|
|
11
|
+
wordClass?: string;
|
|
12
|
+
highlightClass?: string;
|
|
13
|
+
highlightIndex?: number;
|
|
14
|
+
displayDuration?: number;
|
|
15
|
+
cycleDelay?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function CyclingTypewriter({ wordSets, wordClass, highlightClass, cursorClassName, highlightIndex, displayDuration, cycleDelay, ...props }: CyclingTypewriterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=typewriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../src/components/typewriter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC5F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAmC,EACnC,cAAqD,EACrD,eAAkD,EAClD,cAAc,EACd,GAAG,KAAK,EACT,EAAE,eAAe,2CAYjB;AAED,UAAU,sBACR,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAmC,EACnC,cAAqD,EACrD,eAAkD,EAClD,cAAc,EACd,eAAsB,EACtB,UAAgB,EAChB,GAAG,KAAK,EACT,EAAE,sBAAsB,kDAuCxB"}
|