@m5kdev/web-ui 0.1.3 → 0.1.5

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 (375) hide show
  1. package/dist/src/animations/card.motion.d.ts +2 -0
  2. package/dist/src/animations/card.motion.js +7 -0
  3. package/dist/src/components/AvatarUpload.d.ts +7 -0
  4. package/dist/src/components/AvatarUpload.js +67 -0
  5. package/dist/src/components/Button.d.ts +5 -0
  6. package/dist/src/components/Button.js +5 -0
  7. package/dist/src/components/Calendar.d.ts +35 -0
  8. package/dist/src/components/Calendar.js +10 -0
  9. package/dist/src/components/CardsSelect.d.ts +23 -0
  10. package/dist/src/components/CardsSelect.js +46 -0
  11. package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +9 -0
  12. package/dist/src/components/CollapsibleSidebarMenuItem.js +11 -0
  13. package/dist/src/components/ColorPicker.d.ts +4 -0
  14. package/dist/src/components/ColorPicker.js +21 -0
  15. package/dist/src/components/CopyButton.d.ts +6 -0
  16. package/dist/src/components/CopyButton.js +24 -0
  17. package/dist/src/components/CropDialog.d.ts +10 -0
  18. package/dist/src/components/CropDialog.js +67 -0
  19. package/dist/src/components/DialogProvider.d.ts +15 -0
  20. package/dist/src/components/DialogProvider.js +50 -0
  21. package/dist/src/components/ErrorFallback.d.ts +4 -0
  22. package/dist/src/components/ErrorFallback.js +5 -0
  23. package/dist/src/components/FileDropzone.d.ts +6 -0
  24. package/dist/src/components/FileDropzone.js +63 -0
  25. package/dist/src/components/MultiSelectDropdown.d.ts +26 -0
  26. package/dist/src/components/MultiSelectDropdown.js +53 -0
  27. package/dist/src/components/Orb.d.ts +6 -0
  28. package/{src/components/Orb.tsx → dist/src/components/Orb.js} +107 -136
  29. package/dist/src/components/PageAlert.d.ts +18 -0
  30. package/dist/src/components/PageAlert.js +48 -0
  31. package/dist/src/components/SelectChips.d.ts +10 -0
  32. package/dist/src/components/SelectChips.js +11 -0
  33. package/dist/src/components/SidebarItem.d.ts +7 -0
  34. package/dist/src/components/SidebarItem.js +6 -0
  35. package/dist/src/components/Steps.d.ts +19 -0
  36. package/dist/src/components/Steps.js +34 -0
  37. package/dist/src/components/TablerIconPicker.d.ts +2 -0
  38. package/dist/src/components/TablerIconPicker.js +4238 -0
  39. package/dist/src/components/app-header.d.ts +6 -0
  40. package/dist/src/components/app-header.js +8 -0
  41. package/dist/src/components/blur-card.d.ts +13 -0
  42. package/dist/src/components/blur-card.js +34 -0
  43. package/dist/src/components/features-section-demo-1.d.ts +6 -0
  44. package/dist/src/components/features-section-demo-1.js +53 -0
  45. package/dist/src/components/features-section-demo-2.d.ts +1 -0
  46. package/dist/src/components/features-section-demo-2.js +51 -0
  47. package/dist/src/components/features-section-demo-3.d.ts +8 -0
  48. package/dist/src/components/features-section-demo-3.js +116 -0
  49. package/dist/src/components/mode-toggle.d.ts +1 -0
  50. package/dist/src/components/mode-toggle.js +9 -0
  51. package/dist/src/components/nav-main.d.ts +13 -0
  52. package/dist/src/components/nav-main.js +9 -0
  53. package/dist/src/components/pricing-cards.d.ts +1 -0
  54. package/dist/src/components/pricing-cards.js +27 -0
  55. package/dist/src/components/shared/ButtonCopy.d.ts +6 -0
  56. package/dist/src/components/shared/ButtonCopy.js +24 -0
  57. package/dist/src/components/team-switcher.d.ts +8 -0
  58. package/dist/src/components/team-switcher.js +10 -0
  59. package/dist/src/components/theme-provider.d.ts +13 -0
  60. package/dist/src/components/theme-provider.js +41 -0
  61. package/dist/src/components/typewriter.d.ts +18 -0
  62. package/dist/src/components/typewriter.js +38 -0
  63. package/dist/src/components/ui/alert-dialog.d.ts +14 -0
  64. package/dist/src/components/ui/alert-dialog.js +38 -0
  65. package/dist/src/components/ui/alert.d.ts +9 -0
  66. package/dist/src/components/ui/alert.js +24 -0
  67. package/dist/src/components/ui/avatar.d.ts +6 -0
  68. package/dist/src/components/ui/avatar.js +12 -0
  69. package/dist/src/components/ui/badge.d.ts +9 -0
  70. package/dist/src/components/ui/badge.js +20 -0
  71. package/dist/src/components/ui/bento-grid.d.ts +11 -0
  72. package/dist/src/components/ui/bento-grid.js +8 -0
  73. package/dist/src/components/ui/bento-grid2.d.ts +15 -0
  74. package/dist/src/components/ui/bento-grid2.js +13 -0
  75. package/dist/src/components/ui/breadcrumb.d.ts +19 -0
  76. package/dist/src/components/ui/breadcrumb.js +23 -0
  77. package/dist/src/components/ui/button.d.ts +11 -0
  78. package/dist/src/components/ui/button.js +33 -0
  79. package/dist/src/components/ui/card.d.ts +8 -0
  80. package/dist/src/components/ui/card.js +16 -0
  81. package/dist/src/components/ui/checkbox.d.ts +4 -0
  82. package/dist/src/components/ui/checkbox.js +8 -0
  83. package/dist/src/components/ui/collapsible.d.ts +5 -0
  84. package/{src/components/ui/collapsible.tsx → dist/src/components/ui/collapsible.js} +5 -9
  85. package/dist/src/components/ui/dialog.d.ts +13 -0
  86. package/dist/src/components/ui/dialog.js +35 -0
  87. package/dist/src/components/ui/dropdown-menu.d.ts +27 -0
  88. package/dist/src/components/ui/dropdown-menu.js +32 -0
  89. package/dist/src/components/ui/floating-navbar.d.ts +9 -0
  90. package/dist/src/components/ui/floating-navbar.js +38 -0
  91. package/dist/src/components/ui/form.d.ts +23 -0
  92. package/dist/src/components/ui/form.js +60 -0
  93. package/dist/src/components/ui/image.d.ts +6 -0
  94. package/dist/src/components/ui/image.js +15 -0
  95. package/dist/src/components/ui/input.d.ts +3 -0
  96. package/dist/src/components/ui/input.js +8 -0
  97. package/dist/src/components/ui/label.d.ts +5 -0
  98. package/dist/src/components/ui/label.js +9 -0
  99. package/dist/src/components/ui/pagination.d.ts +13 -0
  100. package/dist/src/components/ui/pagination.js +29 -0
  101. package/dist/src/components/ui/progress.d.ts +4 -0
  102. package/dist/src/components/ui/progress.js +7 -0
  103. package/dist/src/components/ui/resizable-navbar.d.ts +56 -0
  104. package/dist/src/components/ui/resizable-navbar.js +86 -0
  105. package/dist/src/components/ui/segment-control.d.ts +9 -0
  106. package/dist/src/components/ui/segment-control.js +42 -0
  107. package/dist/src/components/ui/select.d.ts +13 -0
  108. package/dist/src/components/ui/select.js +26 -0
  109. package/dist/src/components/ui/separator.d.ts +4 -0
  110. package/dist/src/components/ui/separator.js +7 -0
  111. package/dist/src/components/ui/sheet.d.ts +25 -0
  112. package/dist/src/components/ui/sheet.js +37 -0
  113. package/dist/src/components/ui/sidebar.d.ts +66 -0
  114. package/dist/src/components/ui/sidebar.js +222 -0
  115. package/dist/src/components/ui/skeleton.d.ts +2 -0
  116. package/dist/src/components/ui/skeleton.js +6 -0
  117. package/dist/src/components/ui/slider.d.ts +4 -0
  118. package/dist/src/components/ui/slider.js +7 -0
  119. package/dist/src/components/ui/sonner.d.ts +4 -0
  120. package/dist/src/components/ui/sonner.js +15 -0
  121. package/dist/src/components/ui/spinner.d.ts +14 -0
  122. package/dist/src/components/ui/spinner.js +30 -0
  123. package/dist/src/components/ui/switch.d.ts +4 -0
  124. package/dist/src/components/ui/switch.js +7 -0
  125. package/dist/src/components/ui/table.d.ts +10 -0
  126. package/dist/src/components/ui/table.js +27 -0
  127. package/dist/src/components/ui/tabs.d.ts +7 -0
  128. package/dist/src/components/ui/tabs.js +16 -0
  129. package/dist/src/components/ui/textarea.d.ts +3 -0
  130. package/dist/src/components/ui/textarea.js +6 -0
  131. package/dist/src/components/ui/timeline.d.ts +11 -0
  132. package/dist/src/components/ui/timeline.js +27 -0
  133. package/dist/src/components/ui/toast.d.ts +15 -0
  134. package/dist/src/components/ui/toast.js +33 -0
  135. package/dist/src/components/ui/tooltip.d.ts +7 -0
  136. package/dist/src/components/ui/tooltip.js +16 -0
  137. package/dist/src/components/ui/typewriter-effect.d.ts +16 -0
  138. package/dist/src/components/ui/typewriter-effect.js +76 -0
  139. package/dist/src/hooks/use-mobile.d.ts +1 -0
  140. package/dist/src/hooks/use-mobile.js +15 -0
  141. package/dist/src/hooks/useDialog.d.ts +4 -0
  142. package/dist/src/hooks/useDialog.js +22 -0
  143. package/dist/src/icons/GoogleIcon.d.ts +5 -0
  144. package/dist/src/icons/GoogleIcon.js +4 -0
  145. package/dist/src/icons/LinkedInIcon.d.ts +5 -0
  146. package/dist/src/icons/LinkedInIcon.js +4 -0
  147. package/dist/src/icons/MicrosoftIcon.d.ts +5 -0
  148. package/dist/src/icons/MicrosoftIcon.js +4 -0
  149. package/dist/src/lib/chatwoot.d.ts +11 -0
  150. package/dist/src/lib/chatwoot.js +28 -0
  151. package/dist/src/lib/utils.d.ts +2 -0
  152. package/dist/src/lib/utils.js +5 -0
  153. package/dist/src/modules/app/components/AppLoader.d.ts +2 -0
  154. package/dist/src/modules/app/components/AppLoader.js +5 -0
  155. package/dist/src/modules/app/components/AppShell.d.ts +7 -0
  156. package/dist/src/modules/app/components/AppShell.js +7 -0
  157. package/dist/src/modules/app/components/AppSidebar.d.ts +7 -0
  158. package/dist/src/modules/app/components/AppSidebar.js +5 -0
  159. package/dist/src/modules/app/components/AppSidebarContent.d.ts +16 -0
  160. package/dist/src/modules/app/components/AppSidebarContent.js +7 -0
  161. package/dist/src/modules/app/components/AppSidebarHeader.d.ts +8 -0
  162. package/dist/src/modules/app/components/AppSidebarHeader.js +10 -0
  163. package/dist/src/modules/app/components/AppSidebarInvites.d.ts +3 -0
  164. package/dist/src/modules/app/components/AppSidebarInvites.js +12 -0
  165. package/dist/src/modules/app/components/AppSidebarUser.d.ts +11 -0
  166. package/dist/src/modules/app/components/AppSidebarUser.js +16 -0
  167. package/dist/src/modules/auth/components/AdminUserManagement.d.ts +6 -0
  168. package/dist/src/modules/auth/components/AdminUserManagement.js +422 -0
  169. package/dist/src/modules/auth/components/AdminWaitlist.d.ts +6 -0
  170. package/dist/src/modules/auth/components/AdminWaitlist.js +118 -0
  171. package/dist/src/modules/auth/components/AuthLayout.d.ts +4 -0
  172. package/dist/src/modules/auth/components/AuthLayout.js +5 -0
  173. package/dist/src/modules/auth/components/AuthProviders.d.ts +6 -0
  174. package/dist/src/modules/auth/components/AuthProviders.js +45 -0
  175. package/dist/src/modules/auth/components/AuthRouter.d.ts +9 -0
  176. package/dist/src/modules/auth/components/AuthRouter.js +12 -0
  177. package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +4 -0
  178. package/dist/src/modules/auth/components/ClaimAccountRoute.js +143 -0
  179. package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +1 -0
  180. package/dist/src/modules/auth/components/ErrorAuthRoute.js +93 -0
  181. package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +1 -0
  182. package/dist/src/modules/auth/components/ForgotPasswordForm.js +27 -0
  183. package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +1 -0
  184. package/dist/src/modules/auth/components/ForgotPasswordRoute.js +9 -0
  185. package/dist/src/modules/auth/components/InviteFriends.d.ts +5 -0
  186. package/dist/src/modules/auth/components/InviteFriends.js +74 -0
  187. package/dist/src/modules/auth/components/LastUsedBadge.d.ts +5 -0
  188. package/dist/src/modules/auth/components/LastUsedBadge.js +9 -0
  189. package/dist/src/modules/auth/components/LoginForm.d.ts +3 -0
  190. package/dist/src/modules/auth/components/LoginForm.js +44 -0
  191. package/dist/src/modules/auth/components/LoginRoute.d.ts +3 -0
  192. package/dist/src/modules/auth/components/LoginRoute.js +11 -0
  193. package/dist/src/modules/auth/components/LogoutRoute.d.ts +1 -0
  194. package/dist/src/modules/auth/components/LogoutRoute.js +15 -0
  195. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +9 -0
  196. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.js +102 -0
  197. package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +51 -0
  198. package/dist/src/modules/auth/components/OrganizationMembersRoute.js +359 -0
  199. package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +20 -0
  200. package/dist/src/modules/auth/components/OrganizationSettingsRoute.js +153 -0
  201. package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +7 -0
  202. package/dist/src/modules/auth/components/OrganizationSwitcher.js +74 -0
  203. package/dist/src/modules/auth/components/ProfileRoute.d.ts +1 -0
  204. package/dist/src/modules/auth/components/ProfileRoute.js +42 -0
  205. package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +31 -0
  206. package/dist/src/modules/auth/components/RangeNuqsDatePicker.js +236 -0
  207. package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +1 -0
  208. package/dist/src/modules/auth/components/ResetPasswordForm.js +39 -0
  209. package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +1 -0
  210. package/dist/src/modules/auth/components/ResetPasswordRoute.js +9 -0
  211. package/dist/src/modules/auth/components/SignupFormRoute.d.ts +5 -0
  212. package/dist/src/modules/auth/components/SignupFormRoute.js +106 -0
  213. package/dist/src/modules/auth/components/SignupRoute.d.ts +7 -0
  214. package/dist/src/modules/auth/components/SignupRoute.js +16 -0
  215. package/dist/src/modules/auth/components/UserPreferences.d.ts +30 -0
  216. package/dist/src/modules/auth/components/UserPreferences.js +60 -0
  217. package/dist/src/modules/auth/components/WaitlistCard.d.ts +6 -0
  218. package/dist/src/modules/auth/components/WaitlistCard.js +32 -0
  219. package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +7 -0
  220. package/dist/src/modules/auth/components/WaitlistCodeValidation.js +43 -0
  221. package/dist/src/modules/billing/components/BillingBetaPage.d.ts +8 -0
  222. package/dist/src/modules/billing/components/BillingBetaPage.js +11 -0
  223. package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +7 -0
  224. package/dist/src/modules/billing/components/BillingInvoicePage.js +32 -0
  225. package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +6 -0
  226. package/dist/src/modules/billing/components/BillingPlanSelect.js +8 -0
  227. package/dist/src/modules/billing/components/BillingRouter.d.ts +9 -0
  228. package/dist/src/modules/billing/components/BillingRouter.js +8 -0
  229. package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +8 -0
  230. package/dist/src/modules/billing/components/BillingSinglePlanSelect.js +46 -0
  231. package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +10 -0
  232. package/dist/src/modules/table/components/ColumnOrderAndVisibility.js +42 -0
  233. package/dist/src/modules/table/components/NuqsTable.d.ts +23 -0
  234. package/dist/src/modules/table/components/NuqsTable.js +198 -0
  235. package/dist/src/modules/table/components/TableFiltering.d.ts +23 -0
  236. package/dist/src/modules/table/components/TableFiltering.js +236 -0
  237. package/dist/src/modules/table/components/TablePagination.d.ts +9 -0
  238. package/dist/src/modules/table/components/TablePagination.js +21 -0
  239. package/{src/modules/table/components/table.types.ts → dist/src/modules/table/components/table.types.d.ts} +12 -11
  240. package/dist/src/modules/table/components/table.types.js +1 -0
  241. package/dist/src/modules/table/filterTransformers.d.ts +53 -0
  242. package/dist/src/modules/table/filterTransformers.js +276 -0
  243. package/{src/types.ts → dist/src/types.d.ts} +3 -4
  244. package/dist/src/types.js +1 -0
  245. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  246. package/package.json +8 -5
  247. package/.cursor/rules/web-ui.mdc +0 -126
  248. package/.turbo/turbo-build.log +0 -5
  249. package/.turbo/turbo-check-types.log +0 -5
  250. package/.turbo/turbo-lint$colon$fix.log +0 -381
  251. package/.turbo/turbo-lint.log +0 -361
  252. package/CHANGELOG.md +0 -19
  253. package/components.json +0 -21
  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/PageAlert.tsx +0 -121
  269. package/src/components/SelectChips.tsx +0 -40
  270. package/src/components/SidebarItem.tsx +0 -26
  271. package/src/components/Steps.tsx +0 -340
  272. package/src/components/TablerIconPicker.tsx +0 -4260
  273. package/src/components/app-header.tsx +0 -40
  274. package/src/components/blur-card.tsx +0 -132
  275. package/src/components/features-section-demo-1.tsx +0 -127
  276. package/src/components/features-section-demo-2.tsx +0 -102
  277. package/src/components/features-section-demo-3.tsx +0 -272
  278. package/src/components/mode-toggle.tsx +0 -31
  279. package/src/components/nav-main.tsx +0 -69
  280. package/src/components/pricing-cards.tsx +0 -133
  281. package/src/components/shared/ButtonCopy.tsx +0 -50
  282. package/src/components/team-switcher.tsx +0 -83
  283. package/src/components/theme-provider.tsx +0 -74
  284. package/src/components/typewriter.tsx +0 -90
  285. package/src/components/ui/alert-dialog.tsx +0 -133
  286. package/src/components/ui/alert.tsx +0 -60
  287. package/src/components/ui/avatar.tsx +0 -47
  288. package/src/components/ui/badge.tsx +0 -33
  289. package/src/components/ui/bento-grid.tsx +0 -54
  290. package/src/components/ui/bento-grid2.tsx +0 -66
  291. package/src/components/ui/breadcrumb.tsx +0 -101
  292. package/src/components/ui/button.tsx +0 -50
  293. package/src/components/ui/card.tsx +0 -55
  294. package/src/components/ui/checkbox.tsx +0 -26
  295. package/src/components/ui/dialog.tsx +0 -119
  296. package/src/components/ui/dropdown-menu.tsx +0 -186
  297. package/src/components/ui/floating-navbar.tsx +0 -78
  298. package/src/components/ui/form.tsx +0 -167
  299. package/src/components/ui/image.tsx +0 -55
  300. package/src/components/ui/input.tsx +0 -22
  301. package/src/components/ui/label.tsx +0 -19
  302. package/src/components/ui/pagination.tsx +0 -105
  303. package/src/components/ui/progress.tsx +0 -23
  304. package/src/components/ui/resizable-navbar.tsx +0 -260
  305. package/src/components/ui/segment-control.tsx +0 -143
  306. package/src/components/ui/select.tsx +0 -153
  307. package/src/components/ui/separator.tsx +0 -24
  308. package/src/components/ui/sheet.tsx +0 -121
  309. package/src/components/ui/sidebar.tsx +0 -736
  310. package/src/components/ui/skeleton.tsx +0 -7
  311. package/src/components/ui/slider.tsx +0 -23
  312. package/src/components/ui/sonner.tsx +0 -27
  313. package/src/components/ui/spinner.tsx +0 -45
  314. package/src/components/ui/switch.tsx +0 -27
  315. package/src/components/ui/table.tsx +0 -90
  316. package/src/components/ui/tabs.tsx +0 -52
  317. package/src/components/ui/textarea.tsx +0 -18
  318. package/src/components/ui/timeline.tsx +0 -95
  319. package/src/components/ui/toast.tsx +0 -126
  320. package/src/components/ui/tooltip.tsx +0 -55
  321. package/src/components/ui/typewriter-effect.tsx +0 -181
  322. package/src/hooks/use-mobile.ts +0 -19
  323. package/src/hooks/useDialog.ts +0 -25
  324. package/src/icons/GoogleIcon.tsx +0 -32
  325. package/src/icons/LinkedInIcon.tsx +0 -30
  326. package/src/icons/MicrosoftIcon.tsx +0 -21
  327. package/src/lib/chatwoot.ts +0 -51
  328. package/src/lib/utils.ts +0 -6
  329. package/src/modules/app/components/AppLoader.tsx +0 -9
  330. package/src/modules/app/components/AppShell.tsx +0 -21
  331. package/src/modules/app/components/AppSidebar.tsx +0 -26
  332. package/src/modules/app/components/AppSidebarContent.tsx +0 -73
  333. package/src/modules/app/components/AppSidebarHeader.tsx +0 -57
  334. package/src/modules/app/components/AppSidebarInvites.tsx +0 -32
  335. package/src/modules/app/components/AppSidebarUser.tsx +0 -128
  336. package/src/modules/auth/components/AdminUserManagement.tsx +0 -1136
  337. package/src/modules/auth/components/AdminWaitlist.tsx +0 -358
  338. package/src/modules/auth/components/AuthLayout.tsx +0 -13
  339. package/src/modules/auth/components/AuthProviders.tsx +0 -105
  340. package/src/modules/auth/components/AuthRouter.tsx +0 -29
  341. package/src/modules/auth/components/ClaimAccountRoute.tsx +0 -242
  342. package/src/modules/auth/components/ErrorAuthRoute.tsx +0 -121
  343. package/src/modules/auth/components/ForgotPasswordForm.tsx +0 -58
  344. package/src/modules/auth/components/ForgotPasswordRoute.tsx +0 -27
  345. package/src/modules/auth/components/InviteFriends.tsx +0 -273
  346. package/src/modules/auth/components/LastUsedBadge.tsx +0 -22
  347. package/src/modules/auth/components/LoginForm.tsx +0 -104
  348. package/src/modules/auth/components/LoginRoute.tsx +0 -31
  349. package/src/modules/auth/components/LogoutRoute.tsx +0 -21
  350. package/src/modules/auth/components/OrganizationAcceptInvitationRoute.tsx +0 -161
  351. package/src/modules/auth/components/OrganizationMembersRoute.tsx +0 -730
  352. package/src/modules/auth/components/OrganizationSettingsRoute.tsx +0 -280
  353. package/src/modules/auth/components/OrganizationSwitcher.tsx +0 -148
  354. package/src/modules/auth/components/ProfileRoute.tsx +0 -104
  355. package/src/modules/auth/components/RangeNuqsDatePicker.tsx +0 -365
  356. package/src/modules/auth/components/ResetPasswordForm.tsx +0 -103
  357. package/src/modules/auth/components/ResetPasswordRoute.tsx +0 -27
  358. package/src/modules/auth/components/SignupFormRoute.tsx +0 -189
  359. package/src/modules/auth/components/SignupRoute.tsx +0 -53
  360. package/src/modules/auth/components/UserPreferences.tsx +0 -144
  361. package/src/modules/auth/components/WaitlistCard.tsx +0 -78
  362. package/src/modules/auth/components/WaitlistCodeValidation.tsx +0 -79
  363. package/src/modules/billing/components/BillingBetaPage.tsx +0 -124
  364. package/src/modules/billing/components/BillingInvoicePage.tsx +0 -180
  365. package/src/modules/billing/components/BillingPlanSelect.tsx +0 -14
  366. package/src/modules/billing/components/BillingRouter.tsx +0 -20
  367. package/src/modules/billing/components/BillingSinglePlanSelect.tsx +0 -172
  368. package/src/modules/table/components/ColumnOrderAndVisibility.tsx +0 -127
  369. package/src/modules/table/components/NuqsTable.tsx +0 -396
  370. package/src/modules/table/components/TableFiltering.tsx +0 -520
  371. package/src/modules/table/components/TablePagination.tsx +0 -59
  372. package/src/modules/table/filterTransformers.ts +0 -323
  373. package/src/vite-env.d.ts +0 -1
  374. package/translations/en/web-ui.json +0 -192
  375. package/tsconfig.json +0 -30
@@ -1,242 +0,0 @@
1
- import { Alert, Button, Card, CardBody, CardHeader, Input } from "@heroui/react";
2
- import { useSession } from "@m5kdev/frontend/modules/auth/hooks/useSession";
3
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
4
- import { useEffect, useMemo, useState } from "react";
5
- import { useLocation, useNavigate } from "react-router";
6
- import { toast } from "sonner";
7
- import { GoogleIcon } from "#icons/GoogleIcon";
8
- import { LinkedInIcon } from "#icons/LinkedInIcon";
9
- import { MicrosoftIcon } from "#icons/MicrosoftIcon";
10
- import type { UseBackendTRPC } from "#types";
11
-
12
- export function ClaimAccountRoute({ useTRPC }: { useTRPC?: UseBackendTRPC }) {
13
- const { data: session, registerSession } = useSession();
14
- const navigate = useNavigate();
15
- const location = useLocation();
16
- const queryClient = useQueryClient();
17
- const [email, setEmail] = useState("");
18
- const [newPassword, setNewPassword] = useState("");
19
- const [busy, setBusy] = useState<"none" | "email" | "password" | "link">("none");
20
-
21
- const trpc = useTRPC?.();
22
-
23
- const linkedProvider = useMemo(() => {
24
- const params = new URLSearchParams(location.search);
25
- return params.get("linked");
26
- }, [location.search]);
27
-
28
- const claimStatusQuery = useQuery({
29
- queryKey: ["auth", "claim-status", session?.user?.id ?? null],
30
- enabled: !!trpc && !!session?.user,
31
- queryFn: async () => {
32
- if (!trpc) return null;
33
- return queryClient.fetchQuery(trpc.auth.getMyAccountClaimStatus.queryOptions());
34
- },
35
- });
36
-
37
- const setEmailMutation = useMutation(
38
- trpc
39
- ? trpc.auth.setMyAccountClaimEmail.mutationOptions()
40
- : {
41
- mutationFn: async () => ({ status: false }),
42
- }
43
- );
44
-
45
- const acceptClaimMutation = useMutation(
46
- trpc
47
- ? trpc.auth.acceptMyAccountClaim.mutationOptions()
48
- : {
49
- mutationFn: async () => ({ status: false }),
50
- }
51
- );
52
-
53
- useEffect(() => {
54
- if (session?.user?.email) {
55
- setEmail(session.user.email);
56
- }
57
- }, [session?.user?.email]);
58
-
59
- useEffect(() => {
60
- if (!linkedProvider || !trpc) return;
61
- acceptClaimMutation
62
- .mutateAsync(undefined)
63
- .then(() => {
64
- toast.success("Account provider linked");
65
- queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });
66
- })
67
- .catch((error) => {
68
- toast.error(error.message);
69
- })
70
- .finally(() => {
71
- navigate("/claim-account", { replace: true });
72
- });
73
- }, [acceptClaimMutation, linkedProvider, navigate, queryClient, trpc]);
74
-
75
- if (!trpc) {
76
- return (
77
- <Alert
78
- color="warning"
79
- variant="faded"
80
- title="Claim flow is unavailable because backend TRPC is not configured."
81
- />
82
- );
83
- }
84
-
85
- if (!session?.user) {
86
- return (
87
- <Alert
88
- color="warning"
89
- variant="faded"
90
- title="You need to sign in with your magic link before claiming this account."
91
- />
92
- );
93
- }
94
-
95
- const claim = claimStatusQuery.data;
96
- const hasClaimEmail = Boolean(claim?.claimedEmail);
97
-
98
- const onSetEmail = async () => {
99
- setBusy("email");
100
- try {
101
- await setEmailMutation.mutateAsync({ email });
102
- registerSession(() => undefined);
103
- await queryClient.invalidateQueries({
104
- queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),
105
- });
106
- toast.success("Email updated");
107
- } catch (error) {
108
- toast.error(error instanceof Error ? error.message : "Unable to set email");
109
- } finally {
110
- setBusy("none");
111
- }
112
- };
113
-
114
- const onSetPassword = async () => {
115
- setBusy("password");
116
- try {
117
- const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/set-password`, {
118
- method: "POST",
119
- credentials: "include",
120
- headers: {
121
- "Content-Type": "application/json",
122
- },
123
- body: JSON.stringify({
124
- newPassword,
125
- }),
126
- });
127
- const payload = await response.json().catch(() => ({}));
128
- if (!response.ok) {
129
- throw new Error(payload?.message ?? "Unable to set password");
130
- }
131
- await acceptClaimMutation.mutateAsync(undefined);
132
- await queryClient.invalidateQueries({
133
- queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),
134
- });
135
- toast.success("Password set. Account claimed.");
136
- } catch (error) {
137
- toast.error(error instanceof Error ? error.message : "Unable to set password");
138
- } finally {
139
- setBusy("none");
140
- }
141
- };
142
-
143
- const onLinkProvider = async (provider: "google" | "linkedin" | "microsoft") => {
144
- setBusy("link");
145
- try {
146
- const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/link-social`, {
147
- method: "POST",
148
- credentials: "include",
149
- headers: { "Content-Type": "application/json" },
150
- body: JSON.stringify({
151
- provider,
152
- callbackURL: `${window.location.origin}/claim-account?linked=${provider}`,
153
- }),
154
- });
155
- const payload = await response.json().catch(() => ({}));
156
- if (!response.ok || !payload?.url) {
157
- throw new Error(payload?.message ?? "Unable to start provider linking");
158
- }
159
- window.location.href = payload.url;
160
- } catch (error) {
161
- toast.error(error instanceof Error ? error.message : "Unable to link provider");
162
- setBusy("none");
163
- }
164
- };
165
-
166
- return (
167
- <Card>
168
- <CardHeader className="flex flex-col gap-1">
169
- <p className="text-xl font-semibold">Claim your account</p>
170
- <p className="text-sm text-default-600">
171
- You are signed in and can now set your permanent login methods.
172
- </p>
173
- </CardHeader>
174
- <CardBody className="grid gap-6">
175
- {claimStatusQuery.isLoading ? (
176
- <Alert color="default" variant="faded" title="Loading claim status..." />
177
- ) : !claim ? (
178
- <Alert
179
- color="warning"
180
- variant="faded"
181
- title="No pending account claim was found for your user."
182
- />
183
- ) : null}
184
-
185
- <div className="grid gap-2">
186
- <Input
187
- type="email"
188
- label="Email"
189
- value={email}
190
- onValueChange={setEmail}
191
- description="Set your real email before linking providers and password."
192
- />
193
- <Button onPress={onSetEmail} isDisabled={!email || busy !== "none" || !claim}>
194
- {busy === "email" ? "Saving..." : "Save Email"}
195
- </Button>
196
- </div>
197
-
198
- <div className="grid gap-2">
199
- <p className="text-sm font-medium">Link a provider</p>
200
- <div className="grid gap-3 sm:grid-cols-3">
201
- <Button
202
- variant="bordered"
203
- onPress={() => onLinkProvider("google")}
204
- isDisabled={busy !== "none" || !hasClaimEmail || !claim}
205
- >
206
- <GoogleIcon className="h-4 w-4" /> Google
207
- </Button>
208
- <Button
209
- variant="bordered"
210
- onPress={() => onLinkProvider("linkedin")}
211
- isDisabled={busy !== "none" || !hasClaimEmail || !claim}
212
- >
213
- <LinkedInIcon className="h-4 w-4" /> LinkedIn
214
- </Button>
215
- <Button
216
- variant="bordered"
217
- onPress={() => onLinkProvider("microsoft")}
218
- isDisabled={busy !== "none" || !hasClaimEmail || !claim}
219
- >
220
- <MicrosoftIcon className="h-4 w-4" /> Microsoft
221
- </Button>
222
- </div>
223
- </div>
224
-
225
- <div className="grid gap-2">
226
- <Input
227
- type="password"
228
- label="Set password"
229
- value={newPassword}
230
- onValueChange={setNewPassword}
231
- />
232
- <Button
233
- onPress={onSetPassword}
234
- isDisabled={!newPassword || busy !== "none" || !hasClaimEmail || !claim}
235
- >
236
- {busy === "password" ? "Saving..." : "Set Password and Claim"}
237
- </Button>
238
- </div>
239
- </CardBody>
240
- </Card>
241
- );
242
- }
@@ -1,121 +0,0 @@
1
- import { Button, Card, CardBody, CardHeader } from "@heroui/react";
2
- import { AlertCircle } from "lucide-react";
3
- import { useQueryState } from "nuqs";
4
- import { useTranslation } from "react-i18next";
5
- import { Link } from "react-router";
6
-
7
- export function ErrorAuthRoute() {
8
- const { t } = useTranslation();
9
- const [error] = useQueryState("error");
10
-
11
- const ErrorEnum = {
12
- invalid_callback_request: {
13
- title: "Invalid callback request",
14
- description: "The callback request is invalid. Please try again.",
15
- buttons: ["login", "signup"],
16
- signupLabel: null,
17
- },
18
- state_not_found: {
19
- title: "State not found",
20
- description: "The state was not found. Please try again.",
21
- buttons: ["login", "signup"],
22
- signupLabel: null,
23
- },
24
- account_already_linked_to_different_user: {
25
- title: "Account already linked to different user",
26
- description: "The account is already linked to a different user. Please try again.",
27
- buttons: ["signup"],
28
- signupLabel: null,
29
- },
30
- "email_doesn't_match": {
31
- title: "Email doesn't match",
32
- description: "The email doesn't match. Please try again.",
33
- buttons: ["login", "signup"],
34
- signupLabel: null,
35
- },
36
- email_not_found: {
37
- title: "Email not found",
38
- description: "The email was not found. Please try again.",
39
- buttons: ["login", "signup"],
40
- signupLabel: null,
41
- },
42
- no_callback_url: {
43
- title: "No callback URL",
44
- description: "The callback URL is not set. Please try again.",
45
- buttons: ["login", "signup"],
46
- signupLabel: null,
47
- },
48
- no_code: {
49
- title: "No code",
50
- description: "The code is not set. Please try again.",
51
- buttons: ["login", "signup"],
52
- signupLabel: null,
53
- },
54
- oauth_provider_not_found: {
55
- title: "OAuth provider not found",
56
- description: "The OAuth provider was not found. Please try again.",
57
- buttons: ["login", "signup"],
58
- signupLabel: null,
59
- },
60
- unable_to_link_account: {
61
- title: "Unable to link account",
62
- description: "The account could not be linked. Please try again.",
63
- buttons: ["login", "signup"],
64
- signupLabel: null,
65
- },
66
- unable_to_get_user_info: {
67
- title: "Unable to get user info",
68
- description: "The user info could not be retrieved. Please try again.",
69
- buttons: ["login", "signup"],
70
- signupLabel: null,
71
- },
72
- state_mismatch: {
73
- title: "State mismatch",
74
- description: "The state mismatch. Please try again.",
75
- buttons: ["login", "signup"],
76
- signupLabel: null,
77
- },
78
- signup_disabled: {
79
- title: "Signup disabled",
80
- description:
81
- "The signup is disabled while we are in beta. Please join the waitlist to be notified when we launch.",
82
- buttons: ["signup"],
83
- signupLabel: "Join the waitlist",
84
- },
85
- default: {
86
- title: "Authentication Failed",
87
- description: "We encountered an issue with your authentication request",
88
- buttons: ["login", "signup"],
89
- signupLabel: null,
90
- },
91
- };
92
-
93
- const errorData = ErrorEnum[error as keyof typeof ErrorEnum] || ErrorEnum.default;
94
- const { title, description, buttons, signupLabel } = errorData;
95
-
96
- return (
97
- <div className="flex flex-col gap-6">
98
- <Card>
99
- <CardHeader className="text-center flex flex-col gap-2 items-center">
100
- <AlertCircle className="w-10 h-10 text-red-500" />
101
- <p className="text-xl font-semibold">{title}</p>
102
- <p className="text-sm text-default-600">{description}</p>
103
- </CardHeader>
104
- <CardBody className="flex flex-col gap-4">
105
- <div className="flex flex-col gap-2">
106
- {buttons.includes("login") && (
107
- <Button as={Link} to="/login" variant="bordered">
108
- {t("web-ui:auth.error.backToLogin")}
109
- </Button>
110
- )}
111
- {buttons.includes("signup") && (
112
- <Button as={Link} to="/signup" variant="bordered">
113
- {signupLabel || t("web-ui:auth.error.backToSignup")}
114
- </Button>
115
- )}
116
- </div>
117
- </CardBody>
118
- </Card>
119
- </div>
120
- );
121
- }
@@ -1,58 +0,0 @@
1
- import { Button, Input } from "@heroui/react";
2
- import { authClient } from "@m5kdev/frontend/modules/auth/auth.lib";
3
- import { useState } from "react";
4
- import { type SubmitHandler, useForm } from "react-hook-form";
5
- import { useTranslation } from "react-i18next";
6
- import { toast } from "sonner";
7
-
8
- type Inputs = {
9
- email: string;
10
- };
11
-
12
- export function ForgotPasswordForm() {
13
- const { t } = useTranslation();
14
- const {
15
- register,
16
- handleSubmit,
17
- formState: { errors },
18
- } = useForm<Inputs>();
19
-
20
- const [isBusy, setIsBusy] = useState(false);
21
-
22
- const onSubmit: SubmitHandler<Inputs> = (data) => {
23
- setIsBusy(true);
24
- authClient
25
- .requestPasswordReset({
26
- email: data.email,
27
- redirectTo: "/reset-password",
28
- })
29
- .then(() => {
30
- toast.success(t("web-ui:auth.forgotPassword.success"));
31
- })
32
- .catch(() => {
33
- toast.error(t("web-ui:auth.forgotPassword.error"));
34
- });
35
- };
36
-
37
- return (
38
- <form onSubmit={handleSubmit(onSubmit)} className="grid gap-6">
39
- <div className="grid gap-2">
40
- <Input
41
- labelPlacement="outside"
42
- label={t("web-ui:auth.login.email")}
43
- type="email"
44
- placeholder={t("web-ui:auth.login.placeholder.email")}
45
- variant="bordered"
46
- isRequired
47
- {...register("email", { required: true })}
48
- />
49
- {errors.email && (
50
- <span className="text-red-500 text-xs">{t("web-ui:auth.signup.emailRequired")}</span>
51
- )}
52
- </div>
53
- <Button type="submit" className="w-full" color="primary" isDisabled={isBusy}>
54
- {t("web-ui:auth.forgotPassword.button")}
55
- </Button>
56
- </form>
57
- );
58
- }
@@ -1,27 +0,0 @@
1
- import { Card, CardBody, CardHeader } from "@heroui/react";
2
- import { useTranslation } from "react-i18next";
3
- import { Link } from "react-router";
4
- import { ForgotPasswordForm } from "#modules/auth/components/ForgotPasswordForm";
5
-
6
- export function ForgotPasswordRoute() {
7
- const { t } = useTranslation();
8
- return (
9
- <div className="flex flex-col gap-6">
10
- <Card>
11
- <CardHeader className="text-center flex flex-col gap-1">
12
- <p className="text-xl font-semibold">{t("web-ui:auth.forgotPassword.title")}</p>
13
- <p className="text-sm text-default-600">{t("web-ui:auth.forgotPassword.description")}</p>
14
- </CardHeader>
15
- <CardBody>
16
- <ForgotPasswordForm />
17
- </CardBody>
18
- </Card>
19
- <div className="text-center text-xs text-muted-foreground">
20
- {t("web-ui:auth.forgotPassword.rememberPassword")}{" "}
21
- <Link to="/login" className="underline underline-offset-4 hover:text-primary">
22
- {t("web-ui:auth.login.button")}
23
- </Link>
24
- </div>
25
- </div>
26
- );
27
- }