@m5kdev/web-ui 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/animations/card.motion.d.ts +0 -1
- package/dist/src/components/AvatarUpload.d.ts +0 -1
- package/dist/src/components/Button.d.ts +0 -1
- package/dist/src/components/Calendar.d.ts +0 -1
- package/dist/src/components/CardsSelect.d.ts +0 -1
- package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +0 -1
- package/dist/src/components/ColorPicker.d.ts +0 -1
- package/dist/src/components/CopyButton.d.ts +0 -1
- package/dist/src/components/CropDialog.d.ts +0 -1
- package/dist/src/components/DialogProvider.d.ts +0 -1
- package/dist/src/components/ErrorFallback.d.ts +0 -1
- package/dist/src/components/FileDropzone.d.ts +0 -1
- package/dist/src/components/MultiSelectDropdown.d.ts +0 -1
- package/dist/src/components/Orb.d.ts +0 -1
- package/dist/src/components/PageAlert.d.ts +0 -1
- package/dist/src/components/SelectChips.d.ts +0 -1
- package/dist/src/components/SidebarItem.d.ts +0 -1
- package/dist/src/components/Steps.d.ts +0 -1
- package/dist/src/components/TablerIconPicker.d.ts +0 -1
- package/dist/src/components/app-header.d.ts +0 -1
- package/dist/src/components/blur-card.d.ts +0 -1
- package/dist/src/components/features-section-demo-1.d.ts +0 -1
- package/dist/src/components/features-section-demo-2.d.ts +0 -1
- package/dist/src/components/features-section-demo-3.d.ts +0 -1
- package/dist/src/components/mode-toggle.d.ts +0 -1
- package/dist/src/components/nav-main.d.ts +0 -1
- package/dist/src/components/pricing-cards.d.ts +0 -1
- package/dist/src/components/shared/ButtonCopy.d.ts +0 -1
- package/dist/src/components/team-switcher.d.ts +0 -1
- package/dist/src/components/theme-provider.d.ts +0 -1
- package/dist/src/components/typewriter.d.ts +0 -1
- package/dist/src/components/ui/alert-dialog.d.ts +0 -1
- package/dist/src/components/ui/alert.d.ts +0 -1
- package/dist/src/components/ui/avatar.d.ts +0 -1
- package/dist/src/components/ui/badge.d.ts +0 -1
- package/dist/src/components/ui/bento-grid.d.ts +0 -1
- package/dist/src/components/ui/bento-grid2.d.ts +0 -1
- package/dist/src/components/ui/breadcrumb.d.ts +0 -1
- package/dist/src/components/ui/button.d.ts +0 -1
- package/dist/src/components/ui/card.d.ts +0 -1
- package/dist/src/components/ui/checkbox.d.ts +0 -1
- package/dist/src/components/ui/collapsible.d.ts +0 -1
- package/dist/src/components/ui/dialog.d.ts +0 -1
- package/dist/src/components/ui/dropdown-menu.d.ts +0 -1
- package/dist/src/components/ui/floating-navbar.d.ts +0 -1
- package/dist/src/components/ui/form.d.ts +0 -1
- package/dist/src/components/ui/image.d.ts +0 -1
- package/dist/src/components/ui/input.d.ts +0 -1
- package/dist/src/components/ui/label.d.ts +0 -1
- package/dist/src/components/ui/pagination.d.ts +0 -1
- package/dist/src/components/ui/progress.d.ts +0 -1
- package/dist/src/components/ui/resizable-navbar.d.ts +0 -1
- package/dist/src/components/ui/segment-control.d.ts +0 -1
- package/dist/src/components/ui/select.d.ts +0 -1
- package/dist/src/components/ui/separator.d.ts +0 -1
- package/dist/src/components/ui/sheet.d.ts +0 -1
- package/dist/src/components/ui/sidebar.d.ts +0 -1
- package/dist/src/components/ui/skeleton.d.ts +0 -1
- package/dist/src/components/ui/slider.d.ts +0 -1
- package/dist/src/components/ui/sonner.d.ts +0 -1
- package/dist/src/components/ui/spinner.d.ts +0 -1
- package/dist/src/components/ui/switch.d.ts +0 -1
- package/dist/src/components/ui/table.d.ts +0 -1
- package/dist/src/components/ui/tabs.d.ts +0 -1
- package/dist/src/components/ui/textarea.d.ts +0 -1
- package/dist/src/components/ui/timeline.d.ts +0 -1
- package/dist/src/components/ui/toast.d.ts +0 -1
- package/dist/src/components/ui/tooltip.d.ts +0 -1
- package/dist/src/components/ui/typewriter-effect.d.ts +0 -1
- package/dist/src/hooks/use-mobile.d.ts +0 -1
- package/dist/src/hooks/useDialog.d.ts +0 -1
- package/dist/src/icons/GoogleIcon.d.ts +0 -1
- package/dist/src/icons/LinkedInIcon.d.ts +0 -1
- package/dist/src/icons/MicrosoftIcon.d.ts +0 -1
- package/dist/src/lib/chatwoot.d.ts +0 -1
- package/dist/src/lib/utils.d.ts +0 -1
- package/dist/src/modules/app/components/AppLoader.d.ts +0 -1
- package/dist/src/modules/app/components/AppShell.d.ts +0 -1
- package/dist/src/modules/app/components/AppSidebar.d.ts +0 -1
- package/dist/src/modules/app/components/AppSidebarContent.d.ts +0 -1
- package/dist/src/modules/app/components/AppSidebarHeader.d.ts +0 -1
- package/dist/src/modules/app/components/AppSidebarInvites.d.ts +0 -1
- package/dist/src/modules/app/components/AppSidebarUser.d.ts +0 -1
- package/dist/src/modules/auth/components/AdminUserManagement.d.ts +0 -1
- package/dist/src/modules/auth/components/AdminWaitlist.d.ts +0 -1
- package/dist/src/modules/auth/components/AuthLayout.d.ts +0 -1
- package/dist/src/modules/auth/components/AuthProviders.d.ts +0 -1
- package/dist/src/modules/auth/components/AuthRouter.d.ts +0 -1
- package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +0 -1
- package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/InviteFriends.d.ts +0 -1
- package/dist/src/modules/auth/components/LastUsedBadge.d.ts +0 -1
- package/dist/src/modules/auth/components/LoginForm.d.ts +0 -1
- package/dist/src/modules/auth/components/LoginRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/LogoutRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +0 -1
- package/dist/src/modules/auth/components/ProfileRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +0 -1
- package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +0 -1
- package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/SignupFormRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/SignupRoute.d.ts +0 -1
- package/dist/src/modules/auth/components/UserPreferences.d.ts +0 -1
- package/dist/src/modules/auth/components/WaitlistCard.d.ts +0 -1
- package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +0 -1
- package/dist/src/modules/billing/components/BillingBetaPage.d.ts +0 -1
- package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +0 -1
- package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +0 -1
- package/dist/src/modules/billing/components/BillingRouter.d.ts +0 -1
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +0 -1
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +0 -1
- package/dist/src/modules/table/components/NuqsTable.d.ts +0 -1
- package/dist/src/modules/table/components/TableFiltering.d.ts +0 -1
- package/dist/src/modules/table/components/TablePagination.d.ts +0 -1
- package/dist/src/modules/table/components/table.types.d.ts +0 -1
- package/dist/src/modules/table/filterTransformers.d.ts +0 -1
- package/dist/src/types.d.ts +0 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +8 -5
- package/.cursor/rules/web-ui.mdc +0 -126
- package/.turbo/turbo-build.log +0 -5
- package/.turbo/turbo-check-types.log +0 -5
- package/.turbo/turbo-lint$colon$fix.log +0 -381
- package/.turbo/turbo-lint.log +0 -361
- package/CHANGELOG.md +0 -25
- package/components.json +0 -21
- package/dist/src/animations/card.motion.d.ts.map +0 -1
- package/dist/src/components/AvatarUpload.d.ts.map +0 -1
- package/dist/src/components/Button.d.ts.map +0 -1
- package/dist/src/components/Calendar.d.ts.map +0 -1
- package/dist/src/components/CardsSelect.d.ts.map +0 -1
- package/dist/src/components/CollapsibleSidebarMenuItem.d.ts.map +0 -1
- package/dist/src/components/ColorPicker.d.ts.map +0 -1
- package/dist/src/components/CopyButton.d.ts.map +0 -1
- package/dist/src/components/CropDialog.d.ts.map +0 -1
- package/dist/src/components/DialogProvider.d.ts.map +0 -1
- package/dist/src/components/ErrorFallback.d.ts.map +0 -1
- package/dist/src/components/FileDropzone.d.ts.map +0 -1
- package/dist/src/components/MultiSelectDropdown.d.ts.map +0 -1
- package/dist/src/components/Orb.d.ts.map +0 -1
- package/dist/src/components/PageAlert.d.ts.map +0 -1
- package/dist/src/components/SelectChips.d.ts.map +0 -1
- package/dist/src/components/SidebarItem.d.ts.map +0 -1
- package/dist/src/components/Steps.d.ts.map +0 -1
- package/dist/src/components/TablerIconPicker.d.ts.map +0 -1
- package/dist/src/components/app-header.d.ts.map +0 -1
- package/dist/src/components/blur-card.d.ts.map +0 -1
- package/dist/src/components/features-section-demo-1.d.ts.map +0 -1
- package/dist/src/components/features-section-demo-2.d.ts.map +0 -1
- package/dist/src/components/features-section-demo-3.d.ts.map +0 -1
- package/dist/src/components/mode-toggle.d.ts.map +0 -1
- package/dist/src/components/nav-main.d.ts.map +0 -1
- package/dist/src/components/pricing-cards.d.ts.map +0 -1
- package/dist/src/components/shared/ButtonCopy.d.ts.map +0 -1
- package/dist/src/components/team-switcher.d.ts.map +0 -1
- package/dist/src/components/theme-provider.d.ts.map +0 -1
- package/dist/src/components/typewriter.d.ts.map +0 -1
- package/dist/src/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/src/components/ui/alert.d.ts.map +0 -1
- package/dist/src/components/ui/avatar.d.ts.map +0 -1
- package/dist/src/components/ui/badge.d.ts.map +0 -1
- package/dist/src/components/ui/bento-grid.d.ts.map +0 -1
- package/dist/src/components/ui/bento-grid2.d.ts.map +0 -1
- package/dist/src/components/ui/breadcrumb.d.ts.map +0 -1
- package/dist/src/components/ui/button.d.ts.map +0 -1
- package/dist/src/components/ui/card.d.ts.map +0 -1
- package/dist/src/components/ui/checkbox.d.ts.map +0 -1
- package/dist/src/components/ui/collapsible.d.ts.map +0 -1
- package/dist/src/components/ui/dialog.d.ts.map +0 -1
- package/dist/src/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/src/components/ui/floating-navbar.d.ts.map +0 -1
- package/dist/src/components/ui/form.d.ts.map +0 -1
- package/dist/src/components/ui/image.d.ts.map +0 -1
- package/dist/src/components/ui/input.d.ts.map +0 -1
- package/dist/src/components/ui/label.d.ts.map +0 -1
- package/dist/src/components/ui/pagination.d.ts.map +0 -1
- package/dist/src/components/ui/progress.d.ts.map +0 -1
- package/dist/src/components/ui/resizable-navbar.d.ts.map +0 -1
- package/dist/src/components/ui/segment-control.d.ts.map +0 -1
- package/dist/src/components/ui/select.d.ts.map +0 -1
- package/dist/src/components/ui/separator.d.ts.map +0 -1
- package/dist/src/components/ui/sheet.d.ts.map +0 -1
- package/dist/src/components/ui/sidebar.d.ts.map +0 -1
- package/dist/src/components/ui/skeleton.d.ts.map +0 -1
- package/dist/src/components/ui/slider.d.ts.map +0 -1
- package/dist/src/components/ui/sonner.d.ts.map +0 -1
- package/dist/src/components/ui/spinner.d.ts.map +0 -1
- package/dist/src/components/ui/switch.d.ts.map +0 -1
- package/dist/src/components/ui/table.d.ts.map +0 -1
- package/dist/src/components/ui/tabs.d.ts.map +0 -1
- package/dist/src/components/ui/textarea.d.ts.map +0 -1
- package/dist/src/components/ui/timeline.d.ts.map +0 -1
- package/dist/src/components/ui/toast.d.ts.map +0 -1
- package/dist/src/components/ui/tooltip.d.ts.map +0 -1
- package/dist/src/components/ui/typewriter-effect.d.ts.map +0 -1
- package/dist/src/hooks/use-mobile.d.ts.map +0 -1
- package/dist/src/hooks/useDialog.d.ts.map +0 -1
- package/dist/src/icons/GoogleIcon.d.ts.map +0 -1
- package/dist/src/icons/LinkedInIcon.d.ts.map +0 -1
- package/dist/src/icons/MicrosoftIcon.d.ts.map +0 -1
- package/dist/src/lib/chatwoot.d.ts.map +0 -1
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppLoader.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppShell.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppSidebar.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppSidebarContent.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppSidebarHeader.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppSidebarInvites.d.ts.map +0 -1
- package/dist/src/modules/app/components/AppSidebarUser.d.ts.map +0 -1
- package/dist/src/modules/auth/components/AdminUserManagement.d.ts.map +0 -1
- package/dist/src/modules/auth/components/AdminWaitlist.d.ts.map +0 -1
- package/dist/src/modules/auth/components/AuthLayout.d.ts.map +0 -1
- package/dist/src/modules/auth/components/AuthProviders.d.ts.map +0 -1
- package/dist/src/modules/auth/components/AuthRouter.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/InviteFriends.d.ts.map +0 -1
- package/dist/src/modules/auth/components/LastUsedBadge.d.ts.map +0 -1
- package/dist/src/modules/auth/components/LoginForm.d.ts.map +0 -1
- package/dist/src/modules/auth/components/LoginRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/LogoutRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ProfileRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ResetPasswordForm.d.ts.map +0 -1
- package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/SignupFormRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/SignupRoute.d.ts.map +0 -1
- package/dist/src/modules/auth/components/UserPreferences.d.ts.map +0 -1
- package/dist/src/modules/auth/components/WaitlistCard.d.ts.map +0 -1
- package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts.map +0 -1
- package/dist/src/modules/billing/components/BillingBetaPage.d.ts.map +0 -1
- package/dist/src/modules/billing/components/BillingInvoicePage.d.ts.map +0 -1
- package/dist/src/modules/billing/components/BillingPlanSelect.d.ts.map +0 -1
- package/dist/src/modules/billing/components/BillingRouter.d.ts.map +0 -1
- package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts.map +0 -1
- package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts.map +0 -1
- package/dist/src/modules/table/components/NuqsTable.d.ts.map +0 -1
- package/dist/src/modules/table/components/TableFiltering.d.ts.map +0 -1
- package/dist/src/modules/table/components/TablePagination.d.ts.map +0 -1
- package/dist/src/modules/table/components/table.types.d.ts.map +0 -1
- package/dist/src/modules/table/filterTransformers.d.ts.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/src/animations/card.motion.ts +0 -9
- package/src/components/AvatarUpload.tsx +0 -133
- package/src/components/Button.tsx +0 -14
- package/src/components/Calendar.css +0 -684
- package/src/components/Calendar.tsx +0 -32
- package/src/components/CardsSelect.tsx +0 -155
- package/src/components/CollapsibleSidebarMenuItem.tsx +0 -57
- package/src/components/ColorPicker.tsx +0 -56
- package/src/components/CopyButton.tsx +0 -45
- package/src/components/CropDialog.tsx +0 -154
- package/src/components/DialogProvider.tsx +0 -105
- package/src/components/ErrorFallback.tsx +0 -17
- package/src/components/FileDropzone.tsx +0 -120
- package/src/components/MultiSelectDropdown.tsx +0 -233
- package/src/components/Orb.tsx +0 -288
- package/src/components/PageAlert.tsx +0 -121
- package/src/components/SelectChips.tsx +0 -40
- package/src/components/SidebarItem.tsx +0 -26
- package/src/components/Steps.tsx +0 -340
- package/src/components/TablerIconPicker.tsx +0 -4260
- package/src/components/app-header.tsx +0 -40
- package/src/components/blur-card.tsx +0 -132
- package/src/components/features-section-demo-1.tsx +0 -127
- package/src/components/features-section-demo-2.tsx +0 -102
- package/src/components/features-section-demo-3.tsx +0 -272
- package/src/components/mode-toggle.tsx +0 -31
- package/src/components/nav-main.tsx +0 -69
- package/src/components/pricing-cards.tsx +0 -133
- package/src/components/shared/ButtonCopy.tsx +0 -50
- package/src/components/team-switcher.tsx +0 -83
- package/src/components/theme-provider.tsx +0 -74
- package/src/components/typewriter.tsx +0 -90
- package/src/components/ui/alert-dialog.tsx +0 -133
- package/src/components/ui/alert.tsx +0 -60
- package/src/components/ui/avatar.tsx +0 -47
- package/src/components/ui/badge.tsx +0 -33
- package/src/components/ui/bento-grid.tsx +0 -54
- package/src/components/ui/bento-grid2.tsx +0 -66
- package/src/components/ui/breadcrumb.tsx +0 -101
- package/src/components/ui/button.tsx +0 -50
- package/src/components/ui/card.tsx +0 -55
- package/src/components/ui/checkbox.tsx +0 -26
- package/src/components/ui/collapsible.tsx +0 -9
- package/src/components/ui/dialog.tsx +0 -119
- package/src/components/ui/dropdown-menu.tsx +0 -186
- package/src/components/ui/floating-navbar.tsx +0 -78
- package/src/components/ui/form.tsx +0 -167
- package/src/components/ui/image.tsx +0 -55
- package/src/components/ui/input.tsx +0 -22
- package/src/components/ui/label.tsx +0 -19
- package/src/components/ui/pagination.tsx +0 -105
- package/src/components/ui/progress.tsx +0 -23
- package/src/components/ui/resizable-navbar.tsx +0 -260
- package/src/components/ui/segment-control.tsx +0 -143
- package/src/components/ui/select.tsx +0 -153
- package/src/components/ui/separator.tsx +0 -24
- package/src/components/ui/sheet.tsx +0 -121
- package/src/components/ui/sidebar.tsx +0 -736
- package/src/components/ui/skeleton.tsx +0 -7
- package/src/components/ui/slider.tsx +0 -23
- package/src/components/ui/sonner.tsx +0 -27
- package/src/components/ui/spinner.tsx +0 -45
- package/src/components/ui/switch.tsx +0 -27
- package/src/components/ui/table.tsx +0 -90
- package/src/components/ui/tabs.tsx +0 -52
- package/src/components/ui/textarea.tsx +0 -18
- package/src/components/ui/timeline.tsx +0 -95
- package/src/components/ui/toast.tsx +0 -126
- package/src/components/ui/tooltip.tsx +0 -55
- package/src/components/ui/typewriter-effect.tsx +0 -181
- package/src/hooks/use-mobile.ts +0 -19
- package/src/hooks/useDialog.ts +0 -25
- package/src/icons/GoogleIcon.tsx +0 -32
- package/src/icons/LinkedInIcon.tsx +0 -30
- package/src/icons/MicrosoftIcon.tsx +0 -21
- package/src/lib/chatwoot.ts +0 -51
- package/src/lib/utils.ts +0 -6
- package/src/modules/app/components/AppLoader.tsx +0 -9
- package/src/modules/app/components/AppShell.tsx +0 -21
- package/src/modules/app/components/AppSidebar.tsx +0 -26
- package/src/modules/app/components/AppSidebarContent.tsx +0 -73
- package/src/modules/app/components/AppSidebarHeader.tsx +0 -57
- package/src/modules/app/components/AppSidebarInvites.tsx +0 -32
- package/src/modules/app/components/AppSidebarUser.tsx +0 -128
- package/src/modules/auth/components/AdminUserManagement.tsx +0 -1136
- package/src/modules/auth/components/AdminWaitlist.tsx +0 -358
- package/src/modules/auth/components/AuthLayout.tsx +0 -13
- package/src/modules/auth/components/AuthProviders.tsx +0 -105
- package/src/modules/auth/components/AuthRouter.tsx +0 -29
- package/src/modules/auth/components/ClaimAccountRoute.tsx +0 -242
- package/src/modules/auth/components/ErrorAuthRoute.tsx +0 -121
- package/src/modules/auth/components/ForgotPasswordForm.tsx +0 -58
- package/src/modules/auth/components/ForgotPasswordRoute.tsx +0 -27
- package/src/modules/auth/components/InviteFriends.tsx +0 -273
- package/src/modules/auth/components/LastUsedBadge.tsx +0 -22
- package/src/modules/auth/components/LoginForm.tsx +0 -104
- package/src/modules/auth/components/LoginRoute.tsx +0 -31
- package/src/modules/auth/components/LogoutRoute.tsx +0 -21
- package/src/modules/auth/components/OrganizationAcceptInvitationRoute.tsx +0 -161
- package/src/modules/auth/components/OrganizationMembersRoute.tsx +0 -730
- package/src/modules/auth/components/OrganizationSettingsRoute.tsx +0 -280
- package/src/modules/auth/components/OrganizationSwitcher.tsx +0 -148
- package/src/modules/auth/components/ProfileRoute.tsx +0 -104
- package/src/modules/auth/components/RangeNuqsDatePicker.tsx +0 -365
- package/src/modules/auth/components/ResetPasswordForm.tsx +0 -103
- package/src/modules/auth/components/ResetPasswordRoute.tsx +0 -27
- package/src/modules/auth/components/SignupFormRoute.tsx +0 -189
- package/src/modules/auth/components/SignupRoute.tsx +0 -53
- package/src/modules/auth/components/UserPreferences.tsx +0 -144
- package/src/modules/auth/components/WaitlistCard.tsx +0 -78
- package/src/modules/auth/components/WaitlistCodeValidation.tsx +0 -79
- package/src/modules/billing/components/BillingBetaPage.tsx +0 -124
- package/src/modules/billing/components/BillingInvoicePage.tsx +0 -180
- package/src/modules/billing/components/BillingPlanSelect.tsx +0 -14
- package/src/modules/billing/components/BillingRouter.tsx +0 -20
- package/src/modules/billing/components/BillingSinglePlanSelect.tsx +0 -172
- package/src/modules/table/components/ColumnOrderAndVisibility.tsx +0 -127
- package/src/modules/table/components/NuqsTable.tsx +0 -396
- package/src/modules/table/components/TableFiltering.tsx +0 -520
- package/src/modules/table/components/TablePagination.tsx +0 -59
- package/src/modules/table/components/table.types.ts +0 -11
- package/src/modules/table/filterTransformers.ts +0 -323
- package/src/types.ts +0 -4
- package/src/vite-env.d.ts +0 -1
- package/translations/en/web-ui.json +0 -192
- package/tsconfig.json +0 -30
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Fragment } from "react";
|
|
2
|
-
import {
|
|
3
|
-
Breadcrumb,
|
|
4
|
-
BreadcrumbItem,
|
|
5
|
-
BreadcrumbLink,
|
|
6
|
-
BreadcrumbList,
|
|
7
|
-
BreadcrumbPage,
|
|
8
|
-
BreadcrumbSeparator,
|
|
9
|
-
} from "#components/ui/breadcrumb";
|
|
10
|
-
import { Separator } from "#components/ui/separator";
|
|
11
|
-
import { SidebarTrigger } from "#components/ui/sidebar";
|
|
12
|
-
|
|
13
|
-
export function AppHeader({ breadcrumbs }: { breadcrumbs: { label: string; href?: string }[] }) {
|
|
14
|
-
return (
|
|
15
|
-
<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">
|
|
16
|
-
<div className="flex items-center gap-2 px-4">
|
|
17
|
-
<SidebarTrigger className="-ml-1" />
|
|
18
|
-
<Separator orientation="vertical" className="mr-2 h-4" />
|
|
19
|
-
<Breadcrumb>
|
|
20
|
-
<BreadcrumbList>
|
|
21
|
-
{breadcrumbs.map(({ href, label }, index) => (
|
|
22
|
-
<Fragment key={`${label}-${index}`}>
|
|
23
|
-
<BreadcrumbItem>
|
|
24
|
-
{href ? (
|
|
25
|
-
<BreadcrumbLink href={href}>{label}</BreadcrumbLink>
|
|
26
|
-
) : (
|
|
27
|
-
<BreadcrumbPage>{label}</BreadcrumbPage>
|
|
28
|
-
)}
|
|
29
|
-
</BreadcrumbItem>
|
|
30
|
-
{index < breadcrumbs.length - 1 && (
|
|
31
|
-
<BreadcrumbSeparator className="hidden md:block" />
|
|
32
|
-
)}
|
|
33
|
-
</Fragment>
|
|
34
|
-
))}
|
|
35
|
-
</BreadcrumbList>
|
|
36
|
-
</Breadcrumb>
|
|
37
|
-
</div>
|
|
38
|
-
</header>
|
|
39
|
-
);
|
|
40
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { motion } from "motion/react";
|
|
2
|
-
import type { ReactNode } from "react";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { Card } from "#components/ui/card";
|
|
5
|
-
import { cn } from "#utils";
|
|
6
|
-
|
|
7
|
-
function BlurCardHeader({
|
|
8
|
-
title,
|
|
9
|
-
subtitle,
|
|
10
|
-
type,
|
|
11
|
-
date,
|
|
12
|
-
}: {
|
|
13
|
-
title: string;
|
|
14
|
-
subtitle: string;
|
|
15
|
-
type: string;
|
|
16
|
-
date: string;
|
|
17
|
-
}) {
|
|
18
|
-
return (
|
|
19
|
-
<div className="w-full px-4 py-4">
|
|
20
|
-
<div className="hidden lg:block">
|
|
21
|
-
<div className="flex items-center justify-between">
|
|
22
|
-
<span className="text-lg font-semibold text-white drop-shadow-md">{title}</span>
|
|
23
|
-
<span className="inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md">
|
|
24
|
-
{type}
|
|
25
|
-
</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div className="flex items-center justify-between">
|
|
28
|
-
<span className="text-sm text-neutral-300 drop-shadow-md">{subtitle}</span>
|
|
29
|
-
<span className="text-xs text-neutral-300 drop-shadow-md italic">{date}</span>
|
|
30
|
-
</div>
|
|
31
|
-
</div>
|
|
32
|
-
|
|
33
|
-
<div className="block lg:hidden">
|
|
34
|
-
<div className="inline-block rounded-full bg-white/20 text-xs text-white font-semibold px-2 py-0.5 drop-shadow-md">
|
|
35
|
-
{type}
|
|
36
|
-
</div>
|
|
37
|
-
<div className="text-lg font-semibold text-white drop-shadow-md">{title}</div>
|
|
38
|
-
<div className="text-sm text-neutral-300 drop-shadow-md">{subtitle}</div>
|
|
39
|
-
<div className="text-xs text-neutral-300 drop-shadow-md italic">{date}</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
interface BlurCardProps {
|
|
46
|
-
image: string;
|
|
47
|
-
title: string;
|
|
48
|
-
subtitle: string;
|
|
49
|
-
type: string;
|
|
50
|
-
date: string;
|
|
51
|
-
description: string;
|
|
52
|
-
className?: string;
|
|
53
|
-
link?: ReactNode;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export function BlurCard({
|
|
57
|
-
image,
|
|
58
|
-
title,
|
|
59
|
-
subtitle,
|
|
60
|
-
type,
|
|
61
|
-
date,
|
|
62
|
-
description,
|
|
63
|
-
className,
|
|
64
|
-
link,
|
|
65
|
-
}: BlurCardProps) {
|
|
66
|
-
// Detect touch device
|
|
67
|
-
const isTouchDevice =
|
|
68
|
-
typeof window !== "undefined" && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
|
|
69
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
70
|
-
|
|
71
|
-
// Handler for tap on mobile
|
|
72
|
-
const handleCardClick = () => {
|
|
73
|
-
if (isTouchDevice) setIsOpen((open) => !open);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<Card
|
|
78
|
-
className={cn(
|
|
79
|
-
"relative overflow-hidden p-0 h-80 w-full flex flex-col justify-start",
|
|
80
|
-
className
|
|
81
|
-
)}
|
|
82
|
-
onClick={isTouchDevice ? handleCardClick : undefined}
|
|
83
|
-
style={{ touchAction: "manipulation" }}
|
|
84
|
-
>
|
|
85
|
-
<motion.div
|
|
86
|
-
whileHover={isTouchDevice ? undefined : "hover"}
|
|
87
|
-
initial="rest"
|
|
88
|
-
animate={isTouchDevice && isOpen ? "hover" : "rest"}
|
|
89
|
-
className="relative w-full h-full flex flex-col justify-end"
|
|
90
|
-
style={{
|
|
91
|
-
backgroundImage: `url(${image})`,
|
|
92
|
-
backgroundSize: "cover",
|
|
93
|
-
backgroundPosition: "center",
|
|
94
|
-
height: "100%",
|
|
95
|
-
}}
|
|
96
|
-
>
|
|
97
|
-
{/* Overlay for blur and dim */}
|
|
98
|
-
<motion.div
|
|
99
|
-
variants={{
|
|
100
|
-
rest: { opacity: 0, backdropFilter: "blur(0px)" },
|
|
101
|
-
hover: { opacity: 1, backdropFilter: "blur(8px)" },
|
|
102
|
-
}}
|
|
103
|
-
transition={{ duration: 0.3, ease: "easeInOut" }}
|
|
104
|
-
className="absolute inset-0 z-10 bg-black/70 pointer-events-none rounded-xl"
|
|
105
|
-
style={{ WebkitBackdropFilter: "blur(8px)" }}
|
|
106
|
-
/>
|
|
107
|
-
{/* Header wrapper */}
|
|
108
|
-
<motion.div
|
|
109
|
-
variants={{
|
|
110
|
-
rest: { height: "5rem" },
|
|
111
|
-
hover: { height: "100%" },
|
|
112
|
-
}}
|
|
113
|
-
transition={{ duration: 0.3, ease: "easeInOut" }}
|
|
114
|
-
className="w-full flex flex-col justify-start bg-black/70 pointer-events-none rounded-xl z-20"
|
|
115
|
-
style={{
|
|
116
|
-
overflow: "hidden",
|
|
117
|
-
WebkitBackdropFilter: "blur(8px)",
|
|
118
|
-
backdropFilter: "blur(8px)",
|
|
119
|
-
}}
|
|
120
|
-
>
|
|
121
|
-
<BlurCardHeader title={title} subtitle={subtitle} type={type} date={date} />
|
|
122
|
-
<div className="w-full h-full px-4 pb-4 flex flex-col justify-between">
|
|
123
|
-
<p className="text-neutral-100">{description}</p>
|
|
124
|
-
<div className="flex items-center justify-end pointer-events-auto">{link}</div>
|
|
125
|
-
</div>
|
|
126
|
-
</motion.div>
|
|
127
|
-
{/* For accessibility, add an invisible img tag */}
|
|
128
|
-
<img src={image} alt={title} className="invisible w-0 h-0" />
|
|
129
|
-
</motion.div>
|
|
130
|
-
</Card>
|
|
131
|
-
);
|
|
132
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { useId } from "react";
|
|
2
|
-
|
|
3
|
-
export default function FeaturesSectionDemo() {
|
|
4
|
-
return (
|
|
5
|
-
<div className="py-20 lg:py-40">
|
|
6
|
-
<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">
|
|
7
|
-
{grid.map((feature) => (
|
|
8
|
-
<div
|
|
9
|
-
key={feature.title}
|
|
10
|
-
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"
|
|
11
|
-
>
|
|
12
|
-
<Grid size={20} />
|
|
13
|
-
<p className="text-base font-bold text-neutral-800 dark:text-white relative z-20">
|
|
14
|
-
{feature.title}
|
|
15
|
-
</p>
|
|
16
|
-
<p className="text-neutral-600 dark:text-neutral-400 mt-4 text-base font-normal relative z-20">
|
|
17
|
-
{feature.description}
|
|
18
|
-
</p>
|
|
19
|
-
</div>
|
|
20
|
-
))}
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const grid = [
|
|
27
|
-
{
|
|
28
|
-
title: "HIPAA and SOC2 Compliant",
|
|
29
|
-
description:
|
|
30
|
-
"Our applications are HIPAA and SOC2 compliant, your data is safe with us, always.",
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
title: "Automated Social Media Posting",
|
|
34
|
-
description:
|
|
35
|
-
"Schedule and automate your social media posts across multiple platforms to save time and maintain a consistent online presence.",
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
title: "Advanced Analytics",
|
|
39
|
-
description:
|
|
40
|
-
"Gain insights into your social media performance with detailed analytics and reporting tools to measure engagement and ROI.",
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
title: "Content Calendar",
|
|
44
|
-
description:
|
|
45
|
-
"Plan and organize your social media content with an intuitive calendar view, ensuring you never miss a post.",
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
title: "Audience Targeting",
|
|
49
|
-
description:
|
|
50
|
-
"Reach the right audience with advanced targeting options, including demographics, interests, and behaviors.",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
title: "Social Listening",
|
|
54
|
-
description:
|
|
55
|
-
"Monitor social media conversations and trends to stay informed about what your audience is saying and respond in real-time.",
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
title: "Customizable Templates",
|
|
59
|
-
description:
|
|
60
|
-
"Create stunning social media posts with our customizable templates, designed to fit your brand's unique style and voice.",
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
title: "Collaboration Tools",
|
|
64
|
-
description:
|
|
65
|
-
"Work seamlessly with your team using our collaboration tools, allowing you to assign tasks, share drafts, and provide feedback in real-time.",
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
|
|
69
|
-
export const Grid = ({ pattern, size }: { pattern?: number[][]; size?: number }) => {
|
|
70
|
-
const p = pattern ?? [
|
|
71
|
-
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
72
|
-
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
73
|
-
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
74
|
-
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
75
|
-
[Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1],
|
|
76
|
-
];
|
|
77
|
-
return (
|
|
78
|
-
<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)]">
|
|
79
|
-
<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">
|
|
80
|
-
<GridPattern
|
|
81
|
-
width={size ?? 20}
|
|
82
|
-
height={size ?? 20}
|
|
83
|
-
x="-12"
|
|
84
|
-
y="4"
|
|
85
|
-
squares={p}
|
|
86
|
-
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"
|
|
87
|
-
/>
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export function GridPattern({ width, height, x, y, squares, ...props }: any) {
|
|
94
|
-
const patternId = useId();
|
|
95
|
-
|
|
96
|
-
return (
|
|
97
|
-
<svg aria-hidden="true" {...props}>
|
|
98
|
-
<defs>
|
|
99
|
-
<pattern
|
|
100
|
-
id={patternId}
|
|
101
|
-
width={width}
|
|
102
|
-
height={height}
|
|
103
|
-
patternUnits="userSpaceOnUse"
|
|
104
|
-
x={x}
|
|
105
|
-
y={y}
|
|
106
|
-
>
|
|
107
|
-
<path d={`M.5 ${height}V.5H${width}`} fill="none" />
|
|
108
|
-
</pattern>
|
|
109
|
-
</defs>
|
|
110
|
-
<rect width="100%" height="100%" strokeWidth={0} fill={`url(#${patternId})`} />
|
|
111
|
-
{squares && (
|
|
112
|
-
<svg x={x} y={y} className="overflow-visible">
|
|
113
|
-
{squares.map(([x, y]: any) => (
|
|
114
|
-
<rect
|
|
115
|
-
strokeWidth="0"
|
|
116
|
-
key={`${x}-${y}`}
|
|
117
|
-
width={width + 1}
|
|
118
|
-
height={height + 1}
|
|
119
|
-
x={x * width}
|
|
120
|
-
y={y * height}
|
|
121
|
-
/>
|
|
122
|
-
))}
|
|
123
|
-
</svg>
|
|
124
|
-
)}
|
|
125
|
-
</svg>
|
|
126
|
-
);
|
|
127
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IconBlocks,
|
|
3
|
-
IconBooks,
|
|
4
|
-
IconCode,
|
|
5
|
-
IconMicroscope,
|
|
6
|
-
IconRocket,
|
|
7
|
-
IconSchool,
|
|
8
|
-
IconUser,
|
|
9
|
-
IconWriting,
|
|
10
|
-
} from "@tabler/icons-react";
|
|
11
|
-
import { cn } from "#utils";
|
|
12
|
-
|
|
13
|
-
export default function FeaturesSectionDemo() {
|
|
14
|
-
const features = [
|
|
15
|
-
{
|
|
16
|
-
title: "Founder",
|
|
17
|
-
description: "I turn zero into one. Sometimes into ten.",
|
|
18
|
-
icon: <IconBlocks />,
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
title: "Entrepreneur",
|
|
22
|
-
description: "I chase opportunities, not job titles.",
|
|
23
|
-
icon: <IconRocket />,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
title: "Developer",
|
|
27
|
-
description: "I speak fluent JavaScript and problem-solving.",
|
|
28
|
-
icon: <IconCode />,
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
title: "Mentor",
|
|
32
|
-
description: "Helping others skip the dumb mistakes I made.",
|
|
33
|
-
icon: <IconSchool />,
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
title: "Researcher",
|
|
37
|
-
description: "Curious by default. I dig deep before I build.",
|
|
38
|
-
icon: <IconMicroscope />,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
title: "Thinker",
|
|
42
|
-
description: "Not everything I do ships — but it shapes what does.",
|
|
43
|
-
icon: <IconBooks />,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
title: "Writer",
|
|
47
|
-
description: "Sometimes code, sometimes essays, sometimes late-night rambles.",
|
|
48
|
-
icon: <IconWriting />,
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
title: "Human",
|
|
52
|
-
description: "Imperfect. Learning. Figuring it out like the rest of us.",
|
|
53
|
-
icon: <IconUser />,
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
return (
|
|
57
|
-
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 relative z-10 py-20 max-w-7xl mx-auto">
|
|
58
|
-
{features.map((feature, index) => (
|
|
59
|
-
<Feature key={feature.title} {...feature} index={index} />
|
|
60
|
-
))}
|
|
61
|
-
</div>
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const Feature = ({
|
|
66
|
-
title,
|
|
67
|
-
description,
|
|
68
|
-
icon,
|
|
69
|
-
index,
|
|
70
|
-
}: {
|
|
71
|
-
title: string;
|
|
72
|
-
description: string;
|
|
73
|
-
icon: React.ReactNode;
|
|
74
|
-
index: number;
|
|
75
|
-
}) => {
|
|
76
|
-
return (
|
|
77
|
-
<div
|
|
78
|
-
className={cn(
|
|
79
|
-
"flex flex-col lg:border-r py-10 relative group/feature dark:border-neutral-800",
|
|
80
|
-
(index === 0 || index === 4) && "lg:border-l dark:border-neutral-800",
|
|
81
|
-
index < 4 && "lg:border-b dark:border-neutral-800"
|
|
82
|
-
)}
|
|
83
|
-
>
|
|
84
|
-
{index < 4 && (
|
|
85
|
-
<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" />
|
|
86
|
-
)}
|
|
87
|
-
{index >= 4 && (
|
|
88
|
-
<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" />
|
|
89
|
-
)}
|
|
90
|
-
<div className="mb-4 relative z-10 px-10 text-neutral-600 dark:text-neutral-400">{icon}</div>
|
|
91
|
-
<div className="text-lg font-bold mb-2 relative z-10 px-10">
|
|
92
|
-
<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" />
|
|
93
|
-
<span className="group-hover/feature:translate-x-2 transition duration-200 inline-block text-neutral-800 dark:text-neutral-100">
|
|
94
|
-
{title}
|
|
95
|
-
</span>
|
|
96
|
-
</div>
|
|
97
|
-
<p className="text-sm text-neutral-600 dark:text-neutral-300 max-w-xs relative z-10 px-10">
|
|
98
|
-
{description}
|
|
99
|
-
</p>
|
|
100
|
-
</div>
|
|
101
|
-
);
|
|
102
|
-
};
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { IconBrandYoutubeFilled } from "@tabler/icons-react";
|
|
2
|
-
import createGlobe from "cobe";
|
|
3
|
-
import { motion } from "motion/react";
|
|
4
|
-
import type React from "react";
|
|
5
|
-
import { useEffect, useRef } from "react";
|
|
6
|
-
import { cn } from "#utils";
|
|
7
|
-
|
|
8
|
-
export default function FeaturesSectionDemo() {
|
|
9
|
-
const features = [
|
|
10
|
-
{
|
|
11
|
-
title: "Open Source Projects",
|
|
12
|
-
description: "Track and manage your project issues with ease using our intuitive interface.",
|
|
13
|
-
skeleton: <SkeletonOne />,
|
|
14
|
-
className: "col-span-1 lg:col-span-4 border-b lg:border-r dark:border-neutral-800",
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
title: "Research Papers",
|
|
18
|
-
description: "Capture stunning photos effortlessly using our advanced AI technology.",
|
|
19
|
-
skeleton: <SkeletonTwo />,
|
|
20
|
-
className: "border-b col-span-1 lg:col-span-2 dark:border-neutral-800",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
title: "Side Projects",
|
|
24
|
-
description:
|
|
25
|
-
"Whether its you or Tyler Durden, you can get to know about our product on YouTube",
|
|
26
|
-
skeleton: <SkeletonThree />,
|
|
27
|
-
className: "col-span-1 lg:col-span-3 lg:border-r dark:border-neutral-800",
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
title: "Music",
|
|
31
|
-
description:
|
|
32
|
-
"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.",
|
|
33
|
-
skeleton: <SkeletonFour />,
|
|
34
|
-
className: "col-span-1 lg:col-span-3 border-b lg:border-none",
|
|
35
|
-
},
|
|
36
|
-
];
|
|
37
|
-
return (
|
|
38
|
-
<div className="relative z-20 py-10 lg:py-40 max-w-7xl mx-auto">
|
|
39
|
-
<div className="px-8">
|
|
40
|
-
<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">
|
|
41
|
-
Packed with thousands of features
|
|
42
|
-
</h4>
|
|
43
|
-
|
|
44
|
-
<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">
|
|
45
|
-
From Image generation to video generation, Everything AI has APIs for literally
|
|
46
|
-
everything. It can even create this website copy for you.
|
|
47
|
-
</p>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
<div className="relative ">
|
|
51
|
-
<div className="grid grid-cols-1 lg:grid-cols-6 mt-12 xl:border rounded-md dark:border-neutral-800">
|
|
52
|
-
{features.map((feature) => (
|
|
53
|
-
<FeatureCard key={feature.title} className={feature.className}>
|
|
54
|
-
<FeatureTitle>{feature.title}</FeatureTitle>
|
|
55
|
-
<FeatureDescription>{feature.description}</FeatureDescription>
|
|
56
|
-
<div className=" h-full w-full">{feature.skeleton}</div>
|
|
57
|
-
</FeatureCard>
|
|
58
|
-
))}
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const FeatureCard = ({
|
|
66
|
-
children,
|
|
67
|
-
className,
|
|
68
|
-
}: {
|
|
69
|
-
children?: React.ReactNode;
|
|
70
|
-
className?: string;
|
|
71
|
-
}) => {
|
|
72
|
-
return <div className={cn("p-4 sm:p-8 relative overflow-hidden", className)}>{children}</div>;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const FeatureTitle = ({ children }: { children?: React.ReactNode }) => {
|
|
76
|
-
return (
|
|
77
|
-
<p className=" max-w-5xl mx-auto text-left tracking-tight text-black dark:text-white text-xl md:text-2xl md:leading-snug">
|
|
78
|
-
{children}
|
|
79
|
-
</p>
|
|
80
|
-
);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
const FeatureDescription = ({ children }: { children?: React.ReactNode }) => {
|
|
84
|
-
return (
|
|
85
|
-
<p
|
|
86
|
-
className={cn(
|
|
87
|
-
"text-sm md:text-base max-w-4xl text-left mx-auto",
|
|
88
|
-
"text-neutral-500 text-center font-normal dark:text-neutral-300",
|
|
89
|
-
"text-left max-w-sm mx-0 md:text-sm my-2"
|
|
90
|
-
)}
|
|
91
|
-
>
|
|
92
|
-
{children}
|
|
93
|
-
</p>
|
|
94
|
-
);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
export const SkeletonOne = () => {
|
|
98
|
-
return (
|
|
99
|
-
<div className="relative flex py-8 px-2 gap-10 h-full">
|
|
100
|
-
<div className="w-full p-5 mx-auto bg-white dark:bg-neutral-900 shadow-2xl group h-full">
|
|
101
|
-
<div className="flex flex-1 w-full h-full flex-col space-y-2 ">
|
|
102
|
-
{/* TODO */}
|
|
103
|
-
<img
|
|
104
|
-
src="/linear.webp"
|
|
105
|
-
alt="header"
|
|
106
|
-
width={800}
|
|
107
|
-
height={800}
|
|
108
|
-
className="h-full w-full aspect-square object-cover object-left-top rounded-sm"
|
|
109
|
-
/>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
|
|
113
|
-
<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" />
|
|
114
|
-
<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" />
|
|
115
|
-
</div>
|
|
116
|
-
);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export const SkeletonThree = () => {
|
|
120
|
-
return (
|
|
121
|
-
<a
|
|
122
|
-
href="https://www.youtube.com/watch?v=RPa3_AD1_Vs"
|
|
123
|
-
target="__blank"
|
|
124
|
-
className="relative flex gap-10 h-full group/image"
|
|
125
|
-
>
|
|
126
|
-
<div className="w-full mx-auto bg-transparent dark:bg-transparent group h-full">
|
|
127
|
-
<div className="flex flex-1 w-full h-full flex-col space-y-2 relative">
|
|
128
|
-
{/* TODO */}
|
|
129
|
-
<IconBrandYoutubeFilled className="h-20 w-20 absolute z-10 inset-0 text-red-500 m-auto " />
|
|
130
|
-
<img
|
|
131
|
-
src="https://assets.aceternity.com/fireship.jpg"
|
|
132
|
-
alt="header"
|
|
133
|
-
width={800}
|
|
134
|
-
height={800}
|
|
135
|
-
className="h-full w-full aspect-square object-cover object-center rounded-sm blur-none group-hover/image:blur-md transition-all duration-200"
|
|
136
|
-
/>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
</a>
|
|
140
|
-
);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
export const SkeletonTwo = () => {
|
|
144
|
-
const images = [
|
|
145
|
-
"https://images.unsplash.com/photo-1517322048670-4fba75cbbb62?q=80&w=3000&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
146
|
-
"https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=3425&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
147
|
-
"https://images.unsplash.com/photo-1555400038-63f5ba517a47?q=80&w=3540&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
148
|
-
"https://images.unsplash.com/photo-1554931670-4ebfabf6e7a9?q=80&w=3387&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
149
|
-
"https://images.unsplash.com/photo-1546484475-7f7bd55792da?q=80&w=2581&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
150
|
-
];
|
|
151
|
-
|
|
152
|
-
const imageVariants = {
|
|
153
|
-
whileHover: {
|
|
154
|
-
scale: 1.1,
|
|
155
|
-
rotate: 0,
|
|
156
|
-
zIndex: 100,
|
|
157
|
-
},
|
|
158
|
-
whileTap: {
|
|
159
|
-
scale: 1.1,
|
|
160
|
-
rotate: 0,
|
|
161
|
-
zIndex: 100,
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
return (
|
|
165
|
-
<div className="relative flex flex-col items-start p-8 gap-10 h-full overflow-hidden">
|
|
166
|
-
{/* TODO */}
|
|
167
|
-
<div className="flex flex-row -ml-20">
|
|
168
|
-
{images.map((image, idx) => (
|
|
169
|
-
<motion.div
|
|
170
|
-
variants={imageVariants}
|
|
171
|
-
key={"images-first" + idx}
|
|
172
|
-
style={{
|
|
173
|
-
rotate: Math.random() * 20 - 10,
|
|
174
|
-
}}
|
|
175
|
-
whileHover="whileHover"
|
|
176
|
-
whileTap="whileTap"
|
|
177
|
-
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"
|
|
178
|
-
>
|
|
179
|
-
<img
|
|
180
|
-
src={image}
|
|
181
|
-
alt="bali images"
|
|
182
|
-
width="500"
|
|
183
|
-
height="500"
|
|
184
|
-
className="rounded-lg h-20 w-20 md:h-40 md:w-40 object-cover shrink-0"
|
|
185
|
-
/>
|
|
186
|
-
</motion.div>
|
|
187
|
-
))}
|
|
188
|
-
</div>
|
|
189
|
-
<div className="flex flex-row">
|
|
190
|
-
{images.map((image, idx) => (
|
|
191
|
-
<motion.div
|
|
192
|
-
key={"images-second" + idx}
|
|
193
|
-
style={{
|
|
194
|
-
rotate: Math.random() * 20 - 10,
|
|
195
|
-
}}
|
|
196
|
-
variants={imageVariants}
|
|
197
|
-
whileHover="whileHover"
|
|
198
|
-
whileTap="whileTap"
|
|
199
|
-
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"
|
|
200
|
-
>
|
|
201
|
-
<img
|
|
202
|
-
src={image}
|
|
203
|
-
alt="bali images"
|
|
204
|
-
width="500"
|
|
205
|
-
height="500"
|
|
206
|
-
className="rounded-lg h-20 w-20 md:h-40 md:w-40 object-cover shrink-0"
|
|
207
|
-
/>
|
|
208
|
-
</motion.div>
|
|
209
|
-
))}
|
|
210
|
-
</div>
|
|
211
|
-
|
|
212
|
-
<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" />
|
|
213
|
-
<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" />
|
|
214
|
-
</div>
|
|
215
|
-
);
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
export const SkeletonFour = () => {
|
|
219
|
-
return (
|
|
220
|
-
<div className="h-60 md:h-60 flex flex-col items-center relative bg-transparent dark:bg-transparent mt-10">
|
|
221
|
-
<Globe className="absolute -right-10 md:-right-10 -bottom-80 md:-bottom-72" />
|
|
222
|
-
</div>
|
|
223
|
-
);
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
export const Globe = ({ className }: { className?: string }) => {
|
|
227
|
-
const canvasRef = useRef<HTMLCanvasElement>(null);
|
|
228
|
-
|
|
229
|
-
useEffect(() => {
|
|
230
|
-
let phi = 0;
|
|
231
|
-
|
|
232
|
-
if (!canvasRef.current) return;
|
|
233
|
-
|
|
234
|
-
const globe = createGlobe(canvasRef.current, {
|
|
235
|
-
devicePixelRatio: 2,
|
|
236
|
-
width: 600 * 2,
|
|
237
|
-
height: 600 * 2,
|
|
238
|
-
phi: 0,
|
|
239
|
-
theta: 0,
|
|
240
|
-
dark: 1,
|
|
241
|
-
diffuse: 1.2,
|
|
242
|
-
mapSamples: 16000,
|
|
243
|
-
mapBrightness: 6,
|
|
244
|
-
baseColor: [0.3, 0.3, 0.3],
|
|
245
|
-
markerColor: [0.1, 0.8, 1],
|
|
246
|
-
glowColor: [1, 1, 1],
|
|
247
|
-
markers: [
|
|
248
|
-
// longitude latitude
|
|
249
|
-
{ location: [37.7595, -122.4367], size: 0.03 },
|
|
250
|
-
{ location: [40.7128, -74.006], size: 0.1 },
|
|
251
|
-
],
|
|
252
|
-
onRender: (state) => {
|
|
253
|
-
// Called on every animation frame.
|
|
254
|
-
// `state` will be an empty object, return updated params.
|
|
255
|
-
state.phi = phi;
|
|
256
|
-
phi += 0.01;
|
|
257
|
-
},
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
return () => {
|
|
261
|
-
globe.destroy();
|
|
262
|
-
};
|
|
263
|
-
}, []);
|
|
264
|
-
|
|
265
|
-
return (
|
|
266
|
-
<canvas
|
|
267
|
-
ref={canvasRef}
|
|
268
|
-
style={{ width: 600, height: 600, maxWidth: "100%", aspectRatio: 1 }}
|
|
269
|
-
className={className}
|
|
270
|
-
/>
|
|
271
|
-
);
|
|
272
|
-
};
|