@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.
Files changed (379) hide show
  1. package/dist/src/animations/card.motion.d.ts +0 -1
  2. package/dist/src/components/AvatarUpload.d.ts +0 -1
  3. package/dist/src/components/Button.d.ts +0 -1
  4. package/dist/src/components/Calendar.d.ts +0 -1
  5. package/dist/src/components/CardsSelect.d.ts +0 -1
  6. package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +0 -1
  7. package/dist/src/components/ColorPicker.d.ts +0 -1
  8. package/dist/src/components/CopyButton.d.ts +0 -1
  9. package/dist/src/components/CropDialog.d.ts +0 -1
  10. package/dist/src/components/DialogProvider.d.ts +0 -1
  11. package/dist/src/components/ErrorFallback.d.ts +0 -1
  12. package/dist/src/components/FileDropzone.d.ts +0 -1
  13. package/dist/src/components/MultiSelectDropdown.d.ts +0 -1
  14. package/dist/src/components/Orb.d.ts +0 -1
  15. package/dist/src/components/PageAlert.d.ts +0 -1
  16. package/dist/src/components/SelectChips.d.ts +0 -1
  17. package/dist/src/components/SidebarItem.d.ts +0 -1
  18. package/dist/src/components/Steps.d.ts +0 -1
  19. package/dist/src/components/TablerIconPicker.d.ts +0 -1
  20. package/dist/src/components/app-header.d.ts +0 -1
  21. package/dist/src/components/blur-card.d.ts +0 -1
  22. package/dist/src/components/features-section-demo-1.d.ts +0 -1
  23. package/dist/src/components/features-section-demo-2.d.ts +0 -1
  24. package/dist/src/components/features-section-demo-3.d.ts +0 -1
  25. package/dist/src/components/mode-toggle.d.ts +0 -1
  26. package/dist/src/components/nav-main.d.ts +0 -1
  27. package/dist/src/components/pricing-cards.d.ts +0 -1
  28. package/dist/src/components/shared/ButtonCopy.d.ts +0 -1
  29. package/dist/src/components/team-switcher.d.ts +0 -1
  30. package/dist/src/components/theme-provider.d.ts +0 -1
  31. package/dist/src/components/typewriter.d.ts +0 -1
  32. package/dist/src/components/ui/alert-dialog.d.ts +0 -1
  33. package/dist/src/components/ui/alert.d.ts +0 -1
  34. package/dist/src/components/ui/avatar.d.ts +0 -1
  35. package/dist/src/components/ui/badge.d.ts +0 -1
  36. package/dist/src/components/ui/bento-grid.d.ts +0 -1
  37. package/dist/src/components/ui/bento-grid2.d.ts +0 -1
  38. package/dist/src/components/ui/breadcrumb.d.ts +0 -1
  39. package/dist/src/components/ui/button.d.ts +0 -1
  40. package/dist/src/components/ui/card.d.ts +0 -1
  41. package/dist/src/components/ui/checkbox.d.ts +0 -1
  42. package/dist/src/components/ui/collapsible.d.ts +0 -1
  43. package/dist/src/components/ui/dialog.d.ts +0 -1
  44. package/dist/src/components/ui/dropdown-menu.d.ts +0 -1
  45. package/dist/src/components/ui/floating-navbar.d.ts +0 -1
  46. package/dist/src/components/ui/form.d.ts +0 -1
  47. package/dist/src/components/ui/image.d.ts +0 -1
  48. package/dist/src/components/ui/input.d.ts +0 -1
  49. package/dist/src/components/ui/label.d.ts +0 -1
  50. package/dist/src/components/ui/pagination.d.ts +0 -1
  51. package/dist/src/components/ui/progress.d.ts +0 -1
  52. package/dist/src/components/ui/resizable-navbar.d.ts +0 -1
  53. package/dist/src/components/ui/segment-control.d.ts +0 -1
  54. package/dist/src/components/ui/select.d.ts +0 -1
  55. package/dist/src/components/ui/separator.d.ts +0 -1
  56. package/dist/src/components/ui/sheet.d.ts +0 -1
  57. package/dist/src/components/ui/sidebar.d.ts +0 -1
  58. package/dist/src/components/ui/skeleton.d.ts +0 -1
  59. package/dist/src/components/ui/slider.d.ts +0 -1
  60. package/dist/src/components/ui/sonner.d.ts +0 -1
  61. package/dist/src/components/ui/spinner.d.ts +0 -1
  62. package/dist/src/components/ui/switch.d.ts +0 -1
  63. package/dist/src/components/ui/table.d.ts +0 -1
  64. package/dist/src/components/ui/tabs.d.ts +0 -1
  65. package/dist/src/components/ui/textarea.d.ts +0 -1
  66. package/dist/src/components/ui/timeline.d.ts +0 -1
  67. package/dist/src/components/ui/toast.d.ts +0 -1
  68. package/dist/src/components/ui/tooltip.d.ts +0 -1
  69. package/dist/src/components/ui/typewriter-effect.d.ts +0 -1
  70. package/dist/src/hooks/use-mobile.d.ts +0 -1
  71. package/dist/src/hooks/useDialog.d.ts +0 -1
  72. package/dist/src/icons/GoogleIcon.d.ts +0 -1
  73. package/dist/src/icons/LinkedInIcon.d.ts +0 -1
  74. package/dist/src/icons/MicrosoftIcon.d.ts +0 -1
  75. package/dist/src/lib/chatwoot.d.ts +0 -1
  76. package/dist/src/lib/utils.d.ts +0 -1
  77. package/dist/src/modules/app/components/AppLoader.d.ts +0 -1
  78. package/dist/src/modules/app/components/AppShell.d.ts +0 -1
  79. package/dist/src/modules/app/components/AppSidebar.d.ts +0 -1
  80. package/dist/src/modules/app/components/AppSidebarContent.d.ts +0 -1
  81. package/dist/src/modules/app/components/AppSidebarHeader.d.ts +0 -1
  82. package/dist/src/modules/app/components/AppSidebarInvites.d.ts +0 -1
  83. package/dist/src/modules/app/components/AppSidebarUser.d.ts +0 -1
  84. package/dist/src/modules/auth/components/AdminUserManagement.d.ts +0 -1
  85. package/dist/src/modules/auth/components/AdminWaitlist.d.ts +0 -1
  86. package/dist/src/modules/auth/components/AuthLayout.d.ts +0 -1
  87. package/dist/src/modules/auth/components/AuthProviders.d.ts +0 -1
  88. package/dist/src/modules/auth/components/AuthRouter.d.ts +0 -1
  89. package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +0 -1
  90. package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +0 -1
  91. package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +0 -1
  92. package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +0 -1
  93. package/dist/src/modules/auth/components/InviteFriends.d.ts +0 -1
  94. package/dist/src/modules/auth/components/LastUsedBadge.d.ts +0 -1
  95. package/dist/src/modules/auth/components/LoginForm.d.ts +0 -1
  96. package/dist/src/modules/auth/components/LoginRoute.d.ts +0 -1
  97. package/dist/src/modules/auth/components/LogoutRoute.d.ts +0 -1
  98. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +0 -1
  99. package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +0 -1
  100. package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +0 -1
  101. package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +0 -1
  102. package/dist/src/modules/auth/components/ProfileRoute.d.ts +0 -1
  103. package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +0 -1
  104. package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +0 -1
  105. package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +0 -1
  106. package/dist/src/modules/auth/components/SignupFormRoute.d.ts +0 -1
  107. package/dist/src/modules/auth/components/SignupRoute.d.ts +0 -1
  108. package/dist/src/modules/auth/components/UserPreferences.d.ts +0 -1
  109. package/dist/src/modules/auth/components/WaitlistCard.d.ts +0 -1
  110. package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +0 -1
  111. package/dist/src/modules/billing/components/BillingBetaPage.d.ts +0 -1
  112. package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +0 -1
  113. package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +0 -1
  114. package/dist/src/modules/billing/components/BillingRouter.d.ts +0 -1
  115. package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +0 -1
  116. package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +0 -1
  117. package/dist/src/modules/table/components/NuqsTable.d.ts +0 -1
  118. package/dist/src/modules/table/components/TableFiltering.d.ts +0 -1
  119. package/dist/src/modules/table/components/TablePagination.d.ts +0 -1
  120. package/dist/src/modules/table/components/table.types.d.ts +0 -1
  121. package/dist/src/modules/table/filterTransformers.d.ts +0 -1
  122. package/dist/src/types.d.ts +0 -1
  123. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  124. package/package.json +8 -5
  125. package/.cursor/rules/web-ui.mdc +0 -126
  126. package/.turbo/turbo-build.log +0 -5
  127. package/.turbo/turbo-check-types.log +0 -5
  128. package/.turbo/turbo-lint$colon$fix.log +0 -381
  129. package/.turbo/turbo-lint.log +0 -361
  130. package/CHANGELOG.md +0 -25
  131. package/components.json +0 -21
  132. package/dist/src/animations/card.motion.d.ts.map +0 -1
  133. package/dist/src/components/AvatarUpload.d.ts.map +0 -1
  134. package/dist/src/components/Button.d.ts.map +0 -1
  135. package/dist/src/components/Calendar.d.ts.map +0 -1
  136. package/dist/src/components/CardsSelect.d.ts.map +0 -1
  137. package/dist/src/components/CollapsibleSidebarMenuItem.d.ts.map +0 -1
  138. package/dist/src/components/ColorPicker.d.ts.map +0 -1
  139. package/dist/src/components/CopyButton.d.ts.map +0 -1
  140. package/dist/src/components/CropDialog.d.ts.map +0 -1
  141. package/dist/src/components/DialogProvider.d.ts.map +0 -1
  142. package/dist/src/components/ErrorFallback.d.ts.map +0 -1
  143. package/dist/src/components/FileDropzone.d.ts.map +0 -1
  144. package/dist/src/components/MultiSelectDropdown.d.ts.map +0 -1
  145. package/dist/src/components/Orb.d.ts.map +0 -1
  146. package/dist/src/components/PageAlert.d.ts.map +0 -1
  147. package/dist/src/components/SelectChips.d.ts.map +0 -1
  148. package/dist/src/components/SidebarItem.d.ts.map +0 -1
  149. package/dist/src/components/Steps.d.ts.map +0 -1
  150. package/dist/src/components/TablerIconPicker.d.ts.map +0 -1
  151. package/dist/src/components/app-header.d.ts.map +0 -1
  152. package/dist/src/components/blur-card.d.ts.map +0 -1
  153. package/dist/src/components/features-section-demo-1.d.ts.map +0 -1
  154. package/dist/src/components/features-section-demo-2.d.ts.map +0 -1
  155. package/dist/src/components/features-section-demo-3.d.ts.map +0 -1
  156. package/dist/src/components/mode-toggle.d.ts.map +0 -1
  157. package/dist/src/components/nav-main.d.ts.map +0 -1
  158. package/dist/src/components/pricing-cards.d.ts.map +0 -1
  159. package/dist/src/components/shared/ButtonCopy.d.ts.map +0 -1
  160. package/dist/src/components/team-switcher.d.ts.map +0 -1
  161. package/dist/src/components/theme-provider.d.ts.map +0 -1
  162. package/dist/src/components/typewriter.d.ts.map +0 -1
  163. package/dist/src/components/ui/alert-dialog.d.ts.map +0 -1
  164. package/dist/src/components/ui/alert.d.ts.map +0 -1
  165. package/dist/src/components/ui/avatar.d.ts.map +0 -1
  166. package/dist/src/components/ui/badge.d.ts.map +0 -1
  167. package/dist/src/components/ui/bento-grid.d.ts.map +0 -1
  168. package/dist/src/components/ui/bento-grid2.d.ts.map +0 -1
  169. package/dist/src/components/ui/breadcrumb.d.ts.map +0 -1
  170. package/dist/src/components/ui/button.d.ts.map +0 -1
  171. package/dist/src/components/ui/card.d.ts.map +0 -1
  172. package/dist/src/components/ui/checkbox.d.ts.map +0 -1
  173. package/dist/src/components/ui/collapsible.d.ts.map +0 -1
  174. package/dist/src/components/ui/dialog.d.ts.map +0 -1
  175. package/dist/src/components/ui/dropdown-menu.d.ts.map +0 -1
  176. package/dist/src/components/ui/floating-navbar.d.ts.map +0 -1
  177. package/dist/src/components/ui/form.d.ts.map +0 -1
  178. package/dist/src/components/ui/image.d.ts.map +0 -1
  179. package/dist/src/components/ui/input.d.ts.map +0 -1
  180. package/dist/src/components/ui/label.d.ts.map +0 -1
  181. package/dist/src/components/ui/pagination.d.ts.map +0 -1
  182. package/dist/src/components/ui/progress.d.ts.map +0 -1
  183. package/dist/src/components/ui/resizable-navbar.d.ts.map +0 -1
  184. package/dist/src/components/ui/segment-control.d.ts.map +0 -1
  185. package/dist/src/components/ui/select.d.ts.map +0 -1
  186. package/dist/src/components/ui/separator.d.ts.map +0 -1
  187. package/dist/src/components/ui/sheet.d.ts.map +0 -1
  188. package/dist/src/components/ui/sidebar.d.ts.map +0 -1
  189. package/dist/src/components/ui/skeleton.d.ts.map +0 -1
  190. package/dist/src/components/ui/slider.d.ts.map +0 -1
  191. package/dist/src/components/ui/sonner.d.ts.map +0 -1
  192. package/dist/src/components/ui/spinner.d.ts.map +0 -1
  193. package/dist/src/components/ui/switch.d.ts.map +0 -1
  194. package/dist/src/components/ui/table.d.ts.map +0 -1
  195. package/dist/src/components/ui/tabs.d.ts.map +0 -1
  196. package/dist/src/components/ui/textarea.d.ts.map +0 -1
  197. package/dist/src/components/ui/timeline.d.ts.map +0 -1
  198. package/dist/src/components/ui/toast.d.ts.map +0 -1
  199. package/dist/src/components/ui/tooltip.d.ts.map +0 -1
  200. package/dist/src/components/ui/typewriter-effect.d.ts.map +0 -1
  201. package/dist/src/hooks/use-mobile.d.ts.map +0 -1
  202. package/dist/src/hooks/useDialog.d.ts.map +0 -1
  203. package/dist/src/icons/GoogleIcon.d.ts.map +0 -1
  204. package/dist/src/icons/LinkedInIcon.d.ts.map +0 -1
  205. package/dist/src/icons/MicrosoftIcon.d.ts.map +0 -1
  206. package/dist/src/lib/chatwoot.d.ts.map +0 -1
  207. package/dist/src/lib/utils.d.ts.map +0 -1
  208. package/dist/src/modules/app/components/AppLoader.d.ts.map +0 -1
  209. package/dist/src/modules/app/components/AppShell.d.ts.map +0 -1
  210. package/dist/src/modules/app/components/AppSidebar.d.ts.map +0 -1
  211. package/dist/src/modules/app/components/AppSidebarContent.d.ts.map +0 -1
  212. package/dist/src/modules/app/components/AppSidebarHeader.d.ts.map +0 -1
  213. package/dist/src/modules/app/components/AppSidebarInvites.d.ts.map +0 -1
  214. package/dist/src/modules/app/components/AppSidebarUser.d.ts.map +0 -1
  215. package/dist/src/modules/auth/components/AdminUserManagement.d.ts.map +0 -1
  216. package/dist/src/modules/auth/components/AdminWaitlist.d.ts.map +0 -1
  217. package/dist/src/modules/auth/components/AuthLayout.d.ts.map +0 -1
  218. package/dist/src/modules/auth/components/AuthProviders.d.ts.map +0 -1
  219. package/dist/src/modules/auth/components/AuthRouter.d.ts.map +0 -1
  220. package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts.map +0 -1
  221. package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts.map +0 -1
  222. package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts.map +0 -1
  223. package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts.map +0 -1
  224. package/dist/src/modules/auth/components/InviteFriends.d.ts.map +0 -1
  225. package/dist/src/modules/auth/components/LastUsedBadge.d.ts.map +0 -1
  226. package/dist/src/modules/auth/components/LoginForm.d.ts.map +0 -1
  227. package/dist/src/modules/auth/components/LoginRoute.d.ts.map +0 -1
  228. package/dist/src/modules/auth/components/LogoutRoute.d.ts.map +0 -1
  229. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts.map +0 -1
  230. package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts.map +0 -1
  231. package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts.map +0 -1
  232. package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts.map +0 -1
  233. package/dist/src/modules/auth/components/ProfileRoute.d.ts.map +0 -1
  234. package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts.map +0 -1
  235. package/dist/src/modules/auth/components/ResetPasswordForm.d.ts.map +0 -1
  236. package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts.map +0 -1
  237. package/dist/src/modules/auth/components/SignupFormRoute.d.ts.map +0 -1
  238. package/dist/src/modules/auth/components/SignupRoute.d.ts.map +0 -1
  239. package/dist/src/modules/auth/components/UserPreferences.d.ts.map +0 -1
  240. package/dist/src/modules/auth/components/WaitlistCard.d.ts.map +0 -1
  241. package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts.map +0 -1
  242. package/dist/src/modules/billing/components/BillingBetaPage.d.ts.map +0 -1
  243. package/dist/src/modules/billing/components/BillingInvoicePage.d.ts.map +0 -1
  244. package/dist/src/modules/billing/components/BillingPlanSelect.d.ts.map +0 -1
  245. package/dist/src/modules/billing/components/BillingRouter.d.ts.map +0 -1
  246. package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts.map +0 -1
  247. package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts.map +0 -1
  248. package/dist/src/modules/table/components/NuqsTable.d.ts.map +0 -1
  249. package/dist/src/modules/table/components/TableFiltering.d.ts.map +0 -1
  250. package/dist/src/modules/table/components/TablePagination.d.ts.map +0 -1
  251. package/dist/src/modules/table/components/table.types.d.ts.map +0 -1
  252. package/dist/src/modules/table/filterTransformers.d.ts.map +0 -1
  253. package/dist/src/types.d.ts.map +0 -1
  254. package/src/animations/card.motion.ts +0 -9
  255. package/src/components/AvatarUpload.tsx +0 -133
  256. package/src/components/Button.tsx +0 -14
  257. package/src/components/Calendar.css +0 -684
  258. package/src/components/Calendar.tsx +0 -32
  259. package/src/components/CardsSelect.tsx +0 -155
  260. package/src/components/CollapsibleSidebarMenuItem.tsx +0 -57
  261. package/src/components/ColorPicker.tsx +0 -56
  262. package/src/components/CopyButton.tsx +0 -45
  263. package/src/components/CropDialog.tsx +0 -154
  264. package/src/components/DialogProvider.tsx +0 -105
  265. package/src/components/ErrorFallback.tsx +0 -17
  266. package/src/components/FileDropzone.tsx +0 -120
  267. package/src/components/MultiSelectDropdown.tsx +0 -233
  268. package/src/components/Orb.tsx +0 -288
  269. package/src/components/PageAlert.tsx +0 -121
  270. package/src/components/SelectChips.tsx +0 -40
  271. package/src/components/SidebarItem.tsx +0 -26
  272. package/src/components/Steps.tsx +0 -340
  273. package/src/components/TablerIconPicker.tsx +0 -4260
  274. package/src/components/app-header.tsx +0 -40
  275. package/src/components/blur-card.tsx +0 -132
  276. package/src/components/features-section-demo-1.tsx +0 -127
  277. package/src/components/features-section-demo-2.tsx +0 -102
  278. package/src/components/features-section-demo-3.tsx +0 -272
  279. package/src/components/mode-toggle.tsx +0 -31
  280. package/src/components/nav-main.tsx +0 -69
  281. package/src/components/pricing-cards.tsx +0 -133
  282. package/src/components/shared/ButtonCopy.tsx +0 -50
  283. package/src/components/team-switcher.tsx +0 -83
  284. package/src/components/theme-provider.tsx +0 -74
  285. package/src/components/typewriter.tsx +0 -90
  286. package/src/components/ui/alert-dialog.tsx +0 -133
  287. package/src/components/ui/alert.tsx +0 -60
  288. package/src/components/ui/avatar.tsx +0 -47
  289. package/src/components/ui/badge.tsx +0 -33
  290. package/src/components/ui/bento-grid.tsx +0 -54
  291. package/src/components/ui/bento-grid2.tsx +0 -66
  292. package/src/components/ui/breadcrumb.tsx +0 -101
  293. package/src/components/ui/button.tsx +0 -50
  294. package/src/components/ui/card.tsx +0 -55
  295. package/src/components/ui/checkbox.tsx +0 -26
  296. package/src/components/ui/collapsible.tsx +0 -9
  297. package/src/components/ui/dialog.tsx +0 -119
  298. package/src/components/ui/dropdown-menu.tsx +0 -186
  299. package/src/components/ui/floating-navbar.tsx +0 -78
  300. package/src/components/ui/form.tsx +0 -167
  301. package/src/components/ui/image.tsx +0 -55
  302. package/src/components/ui/input.tsx +0 -22
  303. package/src/components/ui/label.tsx +0 -19
  304. package/src/components/ui/pagination.tsx +0 -105
  305. package/src/components/ui/progress.tsx +0 -23
  306. package/src/components/ui/resizable-navbar.tsx +0 -260
  307. package/src/components/ui/segment-control.tsx +0 -143
  308. package/src/components/ui/select.tsx +0 -153
  309. package/src/components/ui/separator.tsx +0 -24
  310. package/src/components/ui/sheet.tsx +0 -121
  311. package/src/components/ui/sidebar.tsx +0 -736
  312. package/src/components/ui/skeleton.tsx +0 -7
  313. package/src/components/ui/slider.tsx +0 -23
  314. package/src/components/ui/sonner.tsx +0 -27
  315. package/src/components/ui/spinner.tsx +0 -45
  316. package/src/components/ui/switch.tsx +0 -27
  317. package/src/components/ui/table.tsx +0 -90
  318. package/src/components/ui/tabs.tsx +0 -52
  319. package/src/components/ui/textarea.tsx +0 -18
  320. package/src/components/ui/timeline.tsx +0 -95
  321. package/src/components/ui/toast.tsx +0 -126
  322. package/src/components/ui/tooltip.tsx +0 -55
  323. package/src/components/ui/typewriter-effect.tsx +0 -181
  324. package/src/hooks/use-mobile.ts +0 -19
  325. package/src/hooks/useDialog.ts +0 -25
  326. package/src/icons/GoogleIcon.tsx +0 -32
  327. package/src/icons/LinkedInIcon.tsx +0 -30
  328. package/src/icons/MicrosoftIcon.tsx +0 -21
  329. package/src/lib/chatwoot.ts +0 -51
  330. package/src/lib/utils.ts +0 -6
  331. package/src/modules/app/components/AppLoader.tsx +0 -9
  332. package/src/modules/app/components/AppShell.tsx +0 -21
  333. package/src/modules/app/components/AppSidebar.tsx +0 -26
  334. package/src/modules/app/components/AppSidebarContent.tsx +0 -73
  335. package/src/modules/app/components/AppSidebarHeader.tsx +0 -57
  336. package/src/modules/app/components/AppSidebarInvites.tsx +0 -32
  337. package/src/modules/app/components/AppSidebarUser.tsx +0 -128
  338. package/src/modules/auth/components/AdminUserManagement.tsx +0 -1136
  339. package/src/modules/auth/components/AdminWaitlist.tsx +0 -358
  340. package/src/modules/auth/components/AuthLayout.tsx +0 -13
  341. package/src/modules/auth/components/AuthProviders.tsx +0 -105
  342. package/src/modules/auth/components/AuthRouter.tsx +0 -29
  343. package/src/modules/auth/components/ClaimAccountRoute.tsx +0 -242
  344. package/src/modules/auth/components/ErrorAuthRoute.tsx +0 -121
  345. package/src/modules/auth/components/ForgotPasswordForm.tsx +0 -58
  346. package/src/modules/auth/components/ForgotPasswordRoute.tsx +0 -27
  347. package/src/modules/auth/components/InviteFriends.tsx +0 -273
  348. package/src/modules/auth/components/LastUsedBadge.tsx +0 -22
  349. package/src/modules/auth/components/LoginForm.tsx +0 -104
  350. package/src/modules/auth/components/LoginRoute.tsx +0 -31
  351. package/src/modules/auth/components/LogoutRoute.tsx +0 -21
  352. package/src/modules/auth/components/OrganizationAcceptInvitationRoute.tsx +0 -161
  353. package/src/modules/auth/components/OrganizationMembersRoute.tsx +0 -730
  354. package/src/modules/auth/components/OrganizationSettingsRoute.tsx +0 -280
  355. package/src/modules/auth/components/OrganizationSwitcher.tsx +0 -148
  356. package/src/modules/auth/components/ProfileRoute.tsx +0 -104
  357. package/src/modules/auth/components/RangeNuqsDatePicker.tsx +0 -365
  358. package/src/modules/auth/components/ResetPasswordForm.tsx +0 -103
  359. package/src/modules/auth/components/ResetPasswordRoute.tsx +0 -27
  360. package/src/modules/auth/components/SignupFormRoute.tsx +0 -189
  361. package/src/modules/auth/components/SignupRoute.tsx +0 -53
  362. package/src/modules/auth/components/UserPreferences.tsx +0 -144
  363. package/src/modules/auth/components/WaitlistCard.tsx +0 -78
  364. package/src/modules/auth/components/WaitlistCodeValidation.tsx +0 -79
  365. package/src/modules/billing/components/BillingBetaPage.tsx +0 -124
  366. package/src/modules/billing/components/BillingInvoicePage.tsx +0 -180
  367. package/src/modules/billing/components/BillingPlanSelect.tsx +0 -14
  368. package/src/modules/billing/components/BillingRouter.tsx +0 -20
  369. package/src/modules/billing/components/BillingSinglePlanSelect.tsx +0 -172
  370. package/src/modules/table/components/ColumnOrderAndVisibility.tsx +0 -127
  371. package/src/modules/table/components/NuqsTable.tsx +0 -396
  372. package/src/modules/table/components/TableFiltering.tsx +0 -520
  373. package/src/modules/table/components/TablePagination.tsx +0 -59
  374. package/src/modules/table/components/table.types.ts +0 -11
  375. package/src/modules/table/filterTransformers.ts +0 -323
  376. package/src/types.ts +0 -4
  377. package/src/vite-env.d.ts +0 -1
  378. package/translations/en/web-ui.json +0 -192
  379. 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
- };