@m5kdev/web-ui 0.7.0 → 0.8.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 (377) hide show
  1. package/dist/src/animations/card.motion.d.ts +7 -2
  2. package/dist/src/animations/card.motion.js +25 -6
  3. package/dist/src/animations/card.motion.js.map +1 -0
  4. package/dist/src/components/AvatarUpload.d.ts +14 -5
  5. package/dist/src/components/AvatarUpload.js +105 -63
  6. package/dist/src/components/AvatarUpload.js.map +1 -0
  7. package/dist/src/components/Button.d.ts +14 -4
  8. package/dist/src/components/Button.js +13 -4
  9. package/dist/src/components/Button.js.map +1 -0
  10. package/dist/src/components/Calendar.d.ts +33 -31
  11. package/dist/src/components/Calendar.js +14 -6
  12. package/dist/src/components/Calendar.js.map +1 -0
  13. package/dist/src/components/{Calendar.css → Calendar2.css} +757 -684
  14. package/dist/src/components/CardsSelect.d.ts +25 -21
  15. package/dist/src/components/CardsSelect.js +75 -42
  16. package/dist/src/components/CardsSelect.js.map +1 -0
  17. package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +22 -9
  18. package/dist/src/components/CollapsibleSidebarMenuItem.js +31 -8
  19. package/dist/src/components/CollapsibleSidebarMenuItem.js.map +1 -0
  20. package/dist/src/components/ColorPicker.d.ts +15 -4
  21. package/dist/src/components/ColorPicker.js +46 -16
  22. package/dist/src/components/ColorPicker.js.map +1 -0
  23. package/dist/src/components/CopyButton.d.ts +18 -6
  24. package/dist/src/components/CopyButton.js +28 -19
  25. package/dist/src/components/CopyButton.js.map +1 -0
  26. package/dist/src/components/CropDialog.d.ts +20 -8
  27. package/dist/src/components/CropDialog.js +108 -62
  28. package/dist/src/components/CropDialog.js.map +1 -0
  29. package/dist/src/components/DialogProvider.d.ts +22 -14
  30. package/dist/src/components/DialogProvider.js +67 -45
  31. package/dist/src/components/DialogProvider.js.map +1 -0
  32. package/dist/src/components/ErrorFallback.d.ts +13 -4
  33. package/dist/src/components/ErrorFallback.js +29 -4
  34. package/dist/src/components/ErrorFallback.js.map +1 -0
  35. package/dist/src/components/FileDropzone.d.ts +12 -4
  36. package/dist/src/components/FileDropzone.js +98 -60
  37. package/dist/src/components/FileDropzone.js.map +1 -0
  38. package/dist/src/components/MultiSelectDropdown.d.ts +25 -22
  39. package/dist/src/components/MultiSelectDropdown.js +99 -49
  40. package/dist/src/components/MultiSelectDropdown.js.map +1 -0
  41. package/dist/src/components/Orb.d.ts +17 -6
  42. package/dist/src/components/Orb.js +263 -255
  43. package/dist/src/components/Orb.js.map +1 -0
  44. package/dist/src/components/PageAlert.d.ts +20 -15
  45. package/dist/src/components/PageAlert.js +67 -39
  46. package/dist/src/components/PageAlert.js.map +1 -0
  47. package/dist/src/components/SelectChips.d.ts +21 -10
  48. package/dist/src/components/SelectChips.js +21 -9
  49. package/dist/src/components/SelectChips.js.map +1 -0
  50. package/dist/src/components/SidebarItem.d.ts +18 -7
  51. package/dist/src/components/SidebarItem.js +16 -4
  52. package/dist/src/components/SidebarItem.js.map +1 -0
  53. package/dist/src/components/Steps.d.ts +21 -16
  54. package/dist/src/components/Steps.js +193 -27
  55. package/dist/src/components/Steps.js.map +1 -0
  56. package/dist/src/components/TablerIconPicker.d.ts +13 -2
  57. package/dist/src/components/TablerIconPicker.js +4254 -4234
  58. package/dist/src/components/TablerIconPicker.js.map +1 -0
  59. package/dist/src/components/app-header.d.ts +14 -6
  60. package/dist/src/components/app-header.js +27 -6
  61. package/dist/src/components/app-header.js.map +1 -0
  62. package/dist/src/components/blur-card.d.ts +25 -11
  63. package/dist/src/components/blur-card.js +134 -31
  64. package/dist/src/components/blur-card.js.map +1 -0
  65. package/dist/src/components/features-section-demo-1.d.ts +22 -6
  66. package/dist/src/components/features-section-demo-1.js +119 -47
  67. package/dist/src/components/features-section-demo-1.js.map +1 -0
  68. package/dist/src/components/features-section-demo-2.d.ts +7 -1
  69. package/dist/src/components/features-section-demo-2.js +80 -49
  70. package/dist/src/components/features-section-demo-2.js.map +1 -0
  71. package/dist/src/components/features-section-demo-3.d.ts +16 -8
  72. package/dist/src/components/features-section-demo-3.js +239 -103
  73. package/dist/src/components/features-section-demo-3.js.map +1 -0
  74. package/dist/src/components/mode-toggle.d.ts +7 -1
  75. package/dist/src/components/mode-toggle.js +42 -7
  76. package/dist/src/components/mode-toggle.js.map +1 -0
  77. package/dist/src/components/nav-main.d.ts +20 -12
  78. package/dist/src/components/nav-main.js +31 -5
  79. package/dist/src/components/nav-main.js.map +1 -0
  80. package/dist/src/components/pricing-cards.d.ts +7 -1
  81. package/dist/src/components/pricing-cards.js +125 -24
  82. package/dist/src/components/pricing-cards.js.map +1 -0
  83. package/dist/src/components/shared/ButtonCopy.d.ts +17 -6
  84. package/dist/src/components/shared/ButtonCopy.js +31 -20
  85. package/dist/src/components/shared/ButtonCopy.js.map +1 -0
  86. package/dist/src/components/team-switcher.d.ts +16 -8
  87. package/dist/src/components/team-switcher.js +70 -8
  88. package/dist/src/components/team-switcher.js.map +1 -0
  89. package/dist/src/components/theme-provider.d.ts +18 -8
  90. package/dist/src/components/theme-provider.js +42 -38
  91. package/dist/src/components/theme-provider.js.map +1 -0
  92. package/dist/src/components/typewriter.d.ts +35 -14
  93. package/dist/src/components/typewriter.js +45 -36
  94. package/dist/src/components/typewriter.js.map +1 -0
  95. package/dist/src/components/ui/alert-dialog.d.ts +48 -13
  96. package/dist/src/components/ui/alert-dialog.js +58 -15
  97. package/dist/src/components/ui/alert-dialog.js.map +1 -0
  98. package/dist/src/components/ui/alert.d.ts +24 -8
  99. package/dist/src/components/ui/alert.js +28 -15
  100. package/dist/src/components/ui/alert.js.map +1 -0
  101. package/dist/src/components/ui/avatar.d.ts +9 -5
  102. package/dist/src/components/ui/avatar.js +23 -7
  103. package/dist/src/components/ui/avatar.js.map +1 -0
  104. package/dist/src/components/ui/badge.d.ts +17 -8
  105. package/dist/src/components/ui/badge.js +17 -14
  106. package/dist/src/components/ui/badge.js.map +1 -0
  107. package/dist/src/components/ui/bento-grid.d.ts +26 -11
  108. package/dist/src/components/ui/bento-grid.js +30 -6
  109. package/dist/src/components/ui/bento-grid.js.map +1 -0
  110. package/dist/src/components/ui/bento-grid2.d.ts +30 -14
  111. package/dist/src/components/ui/bento-grid2.js +45 -9
  112. package/dist/src/components/ui/bento-grid2.js.map +1 -0
  113. package/dist/src/components/ui/breadcrumb.d.ts +27 -15
  114. package/dist/src/components/ui/breadcrumb.js +54 -14
  115. package/dist/src/components/ui/breadcrumb.js.map +1 -0
  116. package/dist/src/components/ui/button.d.ts +14 -9
  117. package/dist/src/components/ui/button.js +37 -26
  118. package/dist/src/components/ui/button.js.map +1 -0
  119. package/dist/src/components/ui/card.d.ts +12 -8
  120. package/dist/src/components/ui/card.js +38 -10
  121. package/dist/src/components/ui/card.js.map +1 -0
  122. package/dist/src/components/ui/checkbox.d.ts +6 -2
  123. package/dist/src/components/ui/checkbox.js +17 -5
  124. package/dist/src/components/ui/checkbox.js.map +1 -0
  125. package/dist/src/components/ui/collapsible.d.ts +9 -4
  126. package/dist/src/components/ui/collapsible.js +5 -1
  127. package/dist/src/components/ui/collapsible.js.map +1 -0
  128. package/dist/src/components/ui/dialog.d.ts +44 -12
  129. package/dist/src/components/ui/dialog.js +64 -14
  130. package/dist/src/components/ui/dialog.js.map +1 -0
  131. package/dist/src/components/ui/dropdown-menu.d.ts +32 -24
  132. package/dist/src/components/ui/dropdown-menu.js +64 -14
  133. package/dist/src/components/ui/dropdown-menu.js.map +1 -0
  134. package/dist/src/components/ui/floating-navbar.d.ts +18 -9
  135. package/dist/src/components/ui/floating-navbar.js +49 -35
  136. package/dist/src/components/ui/floating-navbar.js.map +1 -0
  137. package/dist/src/components/ui/form.d.ts +30 -21
  138. package/dist/src/components/ui/form.js +76 -44
  139. package/dist/src/components/ui/form.js.map +1 -0
  140. package/dist/src/components/ui/image.d.ts +6 -2
  141. package/dist/src/components/ui/image.js +51 -11
  142. package/dist/src/components/ui/image.js.map +1 -0
  143. package/dist/src/components/ui/input.d.ts +6 -2
  144. package/dist/src/components/ui/input.js +14 -5
  145. package/dist/src/components/ui/input.js.map +1 -0
  146. package/dist/src/components/ui/label.d.ts +8 -3
  147. package/dist/src/components/ui/label.js +13 -5
  148. package/dist/src/components/ui/label.js.map +1 -0
  149. package/dist/src/components/ui/pagination.d.ts +39 -12
  150. package/dist/src/components/ui/pagination.js +64 -14
  151. package/dist/src/components/ui/pagination.js.map +1 -0
  152. package/dist/src/components/ui/progress.d.ts +6 -2
  153. package/dist/src/components/ui/progress.js +16 -4
  154. package/dist/src/components/ui/progress.js.map +1 -0
  155. package/dist/src/components/ui/resizable-navbar.d.ts +84 -43
  156. package/dist/src/components/ui/resizable-navbar.js +126 -74
  157. package/dist/src/components/ui/resizable-navbar.js.map +1 -0
  158. package/dist/src/components/ui/segment-control.d.ts +10 -7
  159. package/dist/src/components/ui/segment-control.js +83 -38
  160. package/dist/src/components/ui/segment-control.js.map +1 -0
  161. package/dist/src/components/ui/select.d.ts +16 -12
  162. package/dist/src/components/ui/select.js +63 -14
  163. package/dist/src/components/ui/select.js.map +1 -0
  164. package/dist/src/components/ui/separator.d.ts +6 -2
  165. package/dist/src/components/ui/separator.js +14 -4
  166. package/dist/src/components/ui/separator.js.map +1 -0
  167. package/dist/src/components/ui/sheet.d.ts +30 -19
  168. package/dist/src/components/ui/sheet.js +52 -23
  169. package/dist/src/components/ui/sheet.js.map +1 -0
  170. package/dist/src/components/ui/sidebar.d.ts +69 -62
  171. package/dist/src/components/ui/sidebar.js +326 -171
  172. package/dist/src/components/ui/sidebar.js.map +1 -0
  173. package/dist/src/components/ui/skeleton.d.ts +9 -1
  174. package/dist/src/components/ui/skeleton.js +10 -3
  175. package/dist/src/components/ui/skeleton.js.map +1 -0
  176. package/dist/src/components/ui/slider.d.ts +6 -2
  177. package/dist/src/components/ui/slider.js +16 -4
  178. package/dist/src/components/ui/slider.js.map +1 -0
  179. package/dist/src/components/ui/sonner.d.ts +10 -3
  180. package/dist/src/components/ui/sonner.js +18 -11
  181. package/dist/src/components/ui/sonner.js.map +1 -0
  182. package/dist/src/components/ui/spinner.d.ts +21 -10
  183. package/dist/src/components/ui/spinner.js +24 -24
  184. package/dist/src/components/ui/spinner.js.map +1 -0
  185. package/dist/src/components/ui/switch.d.ts +6 -2
  186. package/dist/src/components/ui/switch.js +13 -4
  187. package/dist/src/components/ui/switch.js.map +1 -0
  188. package/dist/src/components/ui/table.d.ts +39 -10
  189. package/dist/src/components/ui/table.js +51 -11
  190. package/dist/src/components/ui/table.js.map +1 -0
  191. package/dist/src/components/ui/tabs.d.ts +23 -6
  192. package/dist/src/components/ui/tabs.js +27 -7
  193. package/dist/src/components/ui/tabs.js.map +1 -0
  194. package/dist/src/components/ui/textarea.d.ts +10 -2
  195. package/dist/src/components/ui/textarea.js +11 -3
  196. package/dist/src/components/ui/textarea.js.map +1 -0
  197. package/dist/src/components/ui/timeline.d.ts +16 -9
  198. package/dist/src/components/ui/timeline.js +87 -24
  199. package/dist/src/components/ui/timeline.js.map +1 -0
  200. package/dist/src/components/ui/toast.d.ts +19 -14
  201. package/dist/src/components/ui/toast.js +48 -22
  202. package/dist/src/components/ui/toast.js.map +1 -0
  203. package/dist/src/components/ui/tooltip.d.ts +23 -6
  204. package/dist/src/components/ui/tooltip.js +27 -7
  205. package/dist/src/components/ui/tooltip.js.map +1 -0
  206. package/dist/src/components/ui/typewriter-effect.d.ts +28 -14
  207. package/dist/src/components/ui/typewriter-effect.js +102 -72
  208. package/dist/src/components/ui/typewriter-effect.js.map +1 -0
  209. package/dist/src/hooks/use-mobile.d.ts +5 -1
  210. package/dist/src/hooks/use-mobile.js +18 -13
  211. package/dist/src/hooks/use-mobile.js.map +1 -0
  212. package/dist/src/hooks/useDialog.d.ts +8 -4
  213. package/dist/src/hooks/useDialog.js +24 -20
  214. package/dist/src/hooks/useDialog.js.map +1 -0
  215. package/dist/src/icons/GoogleIcon.d.ts +9 -5
  216. package/dist/src/icons/GoogleIcon.js +32 -3
  217. package/dist/src/icons/GoogleIcon.js.map +1 -0
  218. package/dist/src/icons/LinkedInIcon.d.ts +9 -5
  219. package/dist/src/icons/LinkedInIcon.js +27 -3
  220. package/dist/src/icons/LinkedInIcon.js.map +1 -0
  221. package/dist/src/icons/MicrosoftIcon.d.ts +9 -5
  222. package/dist/src/icons/MicrosoftIcon.js +31 -3
  223. package/dist/src/icons/MicrosoftIcon.js.map +1 -0
  224. package/dist/src/lib/chatwoot.d.ts +19 -10
  225. package/dist/src/lib/chatwoot.js +25 -27
  226. package/dist/src/lib/chatwoot.js.map +1 -0
  227. package/dist/src/lib/utils.d.ts +7 -2
  228. package/dist/src/lib/utils.js +7 -2
  229. package/dist/src/lib/utils.js.map +1 -0
  230. package/dist/src/modules/app/components/AppLoader.d.ts +8 -2
  231. package/dist/src/modules/app/components/AppLoader.js +14 -3
  232. package/dist/src/modules/app/components/AppLoader.js.map +1 -0
  233. package/dist/src/modules/app/components/AppShell.d.ts +15 -6
  234. package/dist/src/modules/app/components/AppShell.js +14 -5
  235. package/dist/src/modules/app/components/AppShell.js.map +1 -0
  236. package/dist/src/modules/app/components/AppSidebar.d.ts +16 -6
  237. package/dist/src/modules/app/components/AppSidebar.js +17 -4
  238. package/dist/src/modules/app/components/AppSidebar.js.map +1 -0
  239. package/dist/src/modules/app/components/AppSidebarContent.d.ts +22 -13
  240. package/dist/src/modules/app/components/AppSidebarContent.js +34 -5
  241. package/dist/src/modules/app/components/AppSidebarContent.js.map +1 -0
  242. package/dist/src/modules/app/components/AppSidebarHeader.d.ts +18 -8
  243. package/dist/src/modules/app/components/AppSidebarHeader.js +37 -6
  244. package/dist/src/modules/app/components/AppSidebarHeader.js.map +1 -0
  245. package/dist/src/modules/app/components/AppSidebarInvites.d.ts +11 -3
  246. package/dist/src/modules/app/components/AppSidebarInvites.js +39 -8
  247. package/dist/src/modules/app/components/AppSidebarInvites.js.map +1 -0
  248. package/dist/src/modules/app/components/AppSidebarUser.d.ts +20 -10
  249. package/dist/src/modules/app/components/AppSidebarUser.js +121 -12
  250. package/dist/src/modules/app/components/AppSidebarUser.js.map +1 -0
  251. package/dist/src/modules/auth/components/AdminUserManagement.d.ts +11 -4
  252. package/dist/src/modules/auth/components/AdminUserManagement.js +970 -418
  253. package/dist/src/modules/auth/components/AdminUserManagement.js.map +1 -0
  254. package/dist/src/modules/auth/components/AdminWaitlist.d.ts +11 -4
  255. package/dist/src/modules/auth/components/AdminWaitlist.js +284 -115
  256. package/dist/src/modules/auth/components/AdminWaitlist.js.map +1 -0
  257. package/dist/src/modules/auth/components/AuthLayout.d.ts +12 -4
  258. package/dist/src/modules/auth/components/AuthLayout.js +17 -3
  259. package/dist/src/modules/auth/components/AuthLayout.js.map +1 -0
  260. package/dist/src/modules/auth/components/AuthProviders.d.ts +17 -6
  261. package/dist/src/modules/auth/components/AuthProviders.js +80 -41
  262. package/dist/src/modules/auth/components/AuthProviders.js.map +1 -0
  263. package/dist/src/modules/auth/components/AuthRouter.d.ts +16 -7
  264. package/dist/src/modules/auth/components/AuthRouter.js +46 -10
  265. package/dist/src/modules/auth/components/AuthRouter.js.map +1 -0
  266. package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +12 -4
  267. package/dist/src/modules/auth/components/ClaimAccountRoute.js +202 -139
  268. package/dist/src/modules/auth/components/ClaimAccountRoute.js.map +1 -0
  269. package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +7 -1
  270. package/dist/src/modules/auth/components/ErrorAuthRoute.js +125 -89
  271. package/dist/src/modules/auth/components/ErrorAuthRoute.js.map +1 -0
  272. package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +7 -1
  273. package/dist/src/modules/auth/components/ForgotPasswordForm.js +49 -23
  274. package/dist/src/modules/auth/components/ForgotPasswordForm.js.map +1 -0
  275. package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +7 -1
  276. package/dist/src/modules/auth/components/ForgotPasswordRoute.js +34 -6
  277. package/dist/src/modules/auth/components/ForgotPasswordRoute.js.map +1 -0
  278. package/dist/src/modules/auth/components/InviteFriends.d.ts +12 -4
  279. package/dist/src/modules/auth/components/InviteFriends.js +275 -69
  280. package/dist/src/modules/auth/components/InviteFriends.js.map +1 -0
  281. package/dist/src/modules/auth/components/LastUsedBadge.d.ts +17 -5
  282. package/dist/src/modules/auth/components/LastUsedBadge.js +16 -6
  283. package/dist/src/modules/auth/components/LastUsedBadge.js.map +1 -0
  284. package/dist/src/modules/auth/components/LoginForm.d.ts +11 -3
  285. package/dist/src/modules/auth/components/LoginForm.js +107 -40
  286. package/dist/src/modules/auth/components/LoginForm.js.map +1 -0
  287. package/dist/src/modules/auth/components/LoginRoute.d.ts +11 -3
  288. package/dist/src/modules/auth/components/LoginRoute.js +41 -8
  289. package/dist/src/modules/auth/components/LoginRoute.js.map +1 -0
  290. package/dist/src/modules/auth/components/LogoutRoute.d.ts +7 -1
  291. package/dist/src/modules/auth/components/LogoutRoute.js +18 -12
  292. package/dist/src/modules/auth/components/LogoutRoute.js.map +1 -0
  293. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +21 -8
  294. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.js +107 -97
  295. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.js.map +1 -0
  296. package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +58 -48
  297. package/dist/src/modules/auth/components/OrganizationMembersRoute.js +448 -349
  298. package/dist/src/modules/auth/components/OrganizationMembersRoute.js.map +1 -0
  299. package/dist/src/modules/auth/components/OrganizationPreferences.d.ts +27 -16
  300. package/dist/src/modules/auth/components/OrganizationPreferences.js +129 -124
  301. package/dist/src/modules/auth/components/OrganizationPreferences.js.map +1 -0
  302. package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +27 -18
  303. package/dist/src/modules/auth/components/OrganizationSettingsRoute.js +184 -144
  304. package/dist/src/modules/auth/components/OrganizationSettingsRoute.js.map +1 -0
  305. package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +17 -6
  306. package/dist/src/modules/auth/components/OrganizationSwitcher.js +91 -69
  307. package/dist/src/modules/auth/components/OrganizationSwitcher.js.map +1 -0
  308. package/dist/src/modules/auth/components/PreferencesEditor.d.ts +44 -33
  309. package/dist/src/modules/auth/components/PreferencesEditor.js +82 -58
  310. package/dist/src/modules/auth/components/PreferencesEditor.js.map +1 -0
  311. package/dist/src/modules/auth/components/ProfileRoute.d.ts +7 -1
  312. package/dist/src/modules/auth/components/ProfileRoute.js +79 -36
  313. package/dist/src/modules/auth/components/ProfileRoute.js.map +1 -0
  314. package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +44 -30
  315. package/dist/src/modules/auth/components/RangeNuqsDatePicker.js +234 -242
  316. package/dist/src/modules/auth/components/RangeNuqsDatePicker.js.map +1 -0
  317. package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +7 -1
  318. package/dist/src/modules/auth/components/ResetPasswordForm.js +97 -35
  319. package/dist/src/modules/auth/components/ResetPasswordForm.js.map +1 -0
  320. package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +7 -1
  321. package/dist/src/modules/auth/components/ResetPasswordRoute.js +34 -6
  322. package/dist/src/modules/auth/components/ResetPasswordRoute.js.map +1 -0
  323. package/dist/src/modules/auth/components/SignupFormRoute.d.ts +15 -5
  324. package/dist/src/modules/auth/components/SignupFormRoute.js +142 -99
  325. package/dist/src/modules/auth/components/SignupFormRoute.js.map +1 -0
  326. package/dist/src/modules/auth/components/SignupRoute.d.ts +13 -5
  327. package/dist/src/modules/auth/components/SignupRoute.js +59 -13
  328. package/dist/src/modules/auth/components/SignupRoute.js.map +1 -0
  329. package/dist/src/modules/auth/components/UserPreferences.d.ts +22 -11
  330. package/dist/src/modules/auth/components/UserPreferences.js +24 -12
  331. package/dist/src/modules/auth/components/UserPreferences.js.map +1 -0
  332. package/dist/src/modules/auth/components/WaitlistCard.d.ts +11 -4
  333. package/dist/src/modules/auth/components/WaitlistCard.js +63 -28
  334. package/dist/src/modules/auth/components/WaitlistCard.js.map +1 -0
  335. package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +13 -5
  336. package/dist/src/modules/auth/components/WaitlistCodeValidation.js +42 -40
  337. package/dist/src/modules/auth/components/WaitlistCodeValidation.js.map +1 -0
  338. package/dist/src/modules/billing/components/BillingBetaPage.d.ts +15 -6
  339. package/dist/src/modules/billing/components/BillingBetaPage.js +155 -8
  340. package/dist/src/modules/billing/components/BillingBetaPage.js.map +1 -0
  341. package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +13 -5
  342. package/dist/src/modules/billing/components/BillingInvoicePage.js +160 -30
  343. package/dist/src/modules/billing/components/BillingInvoicePage.js.map +1 -0
  344. package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +11 -4
  345. package/dist/src/modules/billing/components/BillingPlanSelect.js +10 -7
  346. package/dist/src/modules/billing/components/BillingPlanSelect.js.map +1 -0
  347. package/dist/src/modules/billing/components/BillingRouter.d.ts +15 -7
  348. package/dist/src/modules/billing/components/BillingRouter.js +19 -6
  349. package/dist/src/modules/billing/components/BillingRouter.js.map +1 -0
  350. package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +17 -7
  351. package/dist/src/modules/billing/components/BillingSinglePlanSelect.js +163 -42
  352. package/dist/src/modules/billing/components/BillingSinglePlanSelect.js.map +1 -0
  353. package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +18 -8
  354. package/dist/src/modules/table/components/ColumnOrderAndVisibility.js +81 -38
  355. package/dist/src/modules/table/components/ColumnOrderAndVisibility.js.map +1 -0
  356. package/dist/src/modules/table/components/NuqsTable.d.ts +33 -21
  357. package/dist/src/modules/table/components/NuqsTable.js +295 -221
  358. package/dist/src/modules/table/components/NuqsTable.js.map +1 -0
  359. package/dist/src/modules/table/components/TableFiltering.d.ts +33 -21
  360. package/dist/src/modules/table/components/TableFiltering.js +408 -226
  361. package/dist/src/modules/table/components/TableFiltering.js.map +1 -0
  362. package/dist/src/modules/table/components/TableGroupBy.d.ts +18 -8
  363. package/dist/src/modules/table/components/TableGroupBy.js +56 -16
  364. package/dist/src/modules/table/components/TableGroupBy.js.map +1 -0
  365. package/dist/src/modules/table/components/TablePagination.d.ts +17 -7
  366. package/dist/src/modules/table/components/TablePagination.js +64 -32
  367. package/dist/src/modules/table/components/TablePagination.js.map +1 -0
  368. package/dist/src/modules/table/components/table.types.d.ts +15 -10
  369. package/dist/src/modules/table/components/table.types.js +0 -1
  370. package/dist/src/modules/table/filterTransformers.d.ts +35 -30
  371. package/dist/src/modules/table/filterTransformers.js +198 -261
  372. package/dist/src/modules/table/filterTransformers.js.map +1 -0
  373. package/dist/src/types.d.ts +8 -3
  374. package/dist/src/types.js +0 -1
  375. package/package.json +8 -6
  376. package/dist/translations/en/web-ui.json +0 -209
  377. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -1,143 +1,206 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Alert, Button, Card, CardBody, CardHeader, Input } from "@heroui/react";
3
- import { useSession } from "@m5kdev/frontend/modules/auth/hooks/useSession";
4
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
1
+ import { GoogleIcon } from "../../../icons/GoogleIcon.js";
2
+ import { LinkedInIcon } from "../../../icons/LinkedInIcon.js";
3
+ import { MicrosoftIcon } from "../../../icons/MicrosoftIcon.js";
5
4
  import { useEffect, useMemo, useState } from "react";
5
+ import { Alert, Button, Card, CardBody, CardHeader, Input } from "@heroui/react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { useLocation, useNavigate } from "react-router";
7
8
  import { toast } from "sonner";
8
- import { GoogleIcon } from "../../../icons/GoogleIcon";
9
- import { LinkedInIcon } from "../../../icons/LinkedInIcon";
10
- import { MicrosoftIcon } from "../../../icons/MicrosoftIcon";
11
- export function ClaimAccountRoute({ useTRPC }) {
12
- const { data: session, registerSession } = useSession();
13
- const navigate = useNavigate();
14
- const location = useLocation();
15
- const queryClient = useQueryClient();
16
- const [email, setEmail] = useState("");
17
- const [newPassword, setNewPassword] = useState("");
18
- const [busy, setBusy] = useState("none");
19
- const trpc = useTRPC?.();
20
- const linkedProvider = useMemo(() => {
21
- const params = new URLSearchParams(location.search);
22
- return params.get("linked");
23
- }, [location.search]);
24
- const claimStatusQuery = useQuery({
25
- queryKey: ["auth", "claim-status", session?.user?.id ?? null],
26
- enabled: !!trpc && !!session?.user,
27
- queryFn: async () => {
28
- if (!trpc)
29
- return null;
30
- return queryClient.fetchQuery(trpc.auth.getMyAccountClaimStatus.queryOptions());
31
- },
32
- });
33
- const setEmailMutation = useMutation(trpc
34
- ? trpc.auth.setMyAccountClaimEmail.mutationOptions()
35
- : {
36
- mutationFn: async () => ({ status: false }),
37
- });
38
- const acceptClaimMutation = useMutation(trpc
39
- ? trpc.auth.acceptMyAccountClaim.mutationOptions()
40
- : {
41
- mutationFn: async () => ({ status: false }),
42
- });
43
- useEffect(() => {
44
- if (session?.user?.email) {
45
- setEmail(session.user.email);
46
- }
47
- }, [session?.user?.email]);
48
- useEffect(() => {
49
- if (!linkedProvider || !trpc)
50
- return;
51
- acceptClaimMutation
52
- .mutateAsync(undefined)
53
- .then(() => {
54
- toast.success("Account provider linked");
55
- queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });
56
- })
57
- .catch((error) => {
58
- toast.error(error.message);
59
- })
60
- .finally(() => {
61
- navigate("/claim-account", { replace: true });
62
- });
63
- }, [acceptClaimMutation, linkedProvider, navigate, queryClient, trpc]);
64
- if (!trpc) {
65
- return (_jsx(Alert, { color: "warning", variant: "faded", title: "Claim flow is unavailable because backend TRPC is not configured." }));
66
- }
67
- if (!session?.user) {
68
- return (_jsx(Alert, { color: "warning", variant: "faded", title: "You need to sign in with your magic link before claiming this account." }));
69
- }
70
- const claim = claimStatusQuery.data;
71
- const hasClaimEmail = Boolean(claim?.claimedEmail);
72
- const onSetEmail = async () => {
73
- setBusy("email");
74
- try {
75
- await setEmailMutation.mutateAsync({ email });
76
- registerSession(() => undefined);
77
- await queryClient.invalidateQueries({
78
- queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),
79
- });
80
- toast.success("Email updated");
81
- }
82
- catch (error) {
83
- toast.error(error instanceof Error ? error.message : "Unable to set email");
84
- }
85
- finally {
86
- setBusy("none");
87
- }
88
- };
89
- const onSetPassword = async () => {
90
- setBusy("password");
91
- try {
92
- const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/set-password`, {
93
- method: "POST",
94
- credentials: "include",
95
- headers: {
96
- "Content-Type": "application/json",
97
- },
98
- body: JSON.stringify({
99
- newPassword,
100
- }),
101
- });
102
- const payload = await response.json().catch(() => ({}));
103
- if (!response.ok) {
104
- throw new Error(payload?.message ?? "Unable to set password");
105
- }
106
- await acceptClaimMutation.mutateAsync(undefined);
107
- await queryClient.invalidateQueries({
108
- queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),
109
- });
110
- toast.success("Password set. Account claimed.");
111
- }
112
- catch (error) {
113
- toast.error(error instanceof Error ? error.message : "Unable to set password");
114
- }
115
- finally {
116
- setBusy("none");
117
- }
118
- };
119
- const onLinkProvider = async (provider) => {
120
- setBusy("link");
121
- try {
122
- const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/link-social`, {
123
- method: "POST",
124
- credentials: "include",
125
- headers: { "Content-Type": "application/json" },
126
- body: JSON.stringify({
127
- provider,
128
- callbackURL: `${window.location.origin}/claim-account?linked=${provider}`,
129
- }),
130
- });
131
- const payload = await response.json().catch(() => ({}));
132
- if (!response.ok || !payload?.url) {
133
- throw new Error(payload?.message ?? "Unable to start provider linking");
134
- }
135
- window.location.href = payload.url;
136
- }
137
- catch (error) {
138
- toast.error(error instanceof Error ? error.message : "Unable to link provider");
139
- setBusy("none");
140
- }
141
- };
142
- return (_jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-col gap-1", children: [_jsx("p", { className: "text-xl font-semibold", children: "Claim your account" }), _jsx("p", { className: "text-sm text-default-600", children: "You are signed in and can now set your permanent login methods." })] }), _jsxs(CardBody, { className: "grid gap-6", children: [claimStatusQuery.isLoading ? (_jsx(Alert, { color: "default", variant: "faded", title: "Loading claim status..." })) : !claim ? (_jsx(Alert, { color: "warning", variant: "faded", title: "No pending account claim was found for your user." })) : null, _jsxs("div", { className: "grid gap-2", children: [_jsx(Input, { type: "email", label: "Email", value: email, onValueChange: setEmail, description: "Set your real email before linking providers and password." }), _jsx(Button, { onPress: onSetEmail, isDisabled: !email || busy !== "none" || !claim, children: busy === "email" ? "Saving..." : "Save Email" })] }), _jsxs("div", { className: "grid gap-2", children: [_jsx("p", { className: "text-sm font-medium", children: "Link a provider" }), _jsxs("div", { className: "grid gap-3 sm:grid-cols-3", children: [_jsxs(Button, { variant: "bordered", onPress: () => onLinkProvider("google"), isDisabled: busy !== "none" || !hasClaimEmail || !claim, children: [_jsx(GoogleIcon, { className: "h-4 w-4" }), " Google"] }), _jsxs(Button, { variant: "bordered", onPress: () => onLinkProvider("linkedin"), isDisabled: busy !== "none" || !hasClaimEmail || !claim, children: [_jsx(LinkedInIcon, { className: "h-4 w-4" }), " LinkedIn"] }), _jsxs(Button, { variant: "bordered", onPress: () => onLinkProvider("microsoft"), isDisabled: busy !== "none" || !hasClaimEmail || !claim, children: [_jsx(MicrosoftIcon, { className: "h-4 w-4" }), " Microsoft"] })] })] }), _jsxs("div", { className: "grid gap-2", children: [_jsx(Input, { type: "password", label: "Set password", value: newPassword, onValueChange: setNewPassword }), _jsx(Button, { onPress: onSetPassword, isDisabled: !newPassword || busy !== "none" || !hasClaimEmail || !claim, children: busy === "password" ? "Saving..." : "Set Password and Claim" })] })] })] }));
9
+ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
10
+ import { useSession } from "@m5kdev/frontend/modules/auth/hooks/useSession";
11
+ //#region src/modules/auth/components/ClaimAccountRoute.tsx
12
+ function ClaimAccountRoute({ useTRPC }) {
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");
20
+ const trpc = useTRPC?.();
21
+ const linkedProvider = useMemo(() => {
22
+ return new URLSearchParams(location.search).get("linked");
23
+ }, [location.search]);
24
+ const claimStatusQuery = useQuery({
25
+ queryKey: [
26
+ "auth",
27
+ "claim-status",
28
+ session?.user?.id ?? null
29
+ ],
30
+ enabled: !!trpc && !!session?.user,
31
+ queryFn: async () => {
32
+ if (!trpc) return null;
33
+ return queryClient.fetchQuery(trpc.auth.getMyAccountClaimStatus.queryOptions());
34
+ }
35
+ });
36
+ const setEmailMutation = useMutation(trpc ? trpc.auth.setMyAccountClaimEmail.mutationOptions() : { mutationFn: async () => ({ status: false }) });
37
+ const acceptClaimMutation = useMutation(trpc ? trpc.auth.acceptMyAccountClaim.mutationOptions() : { mutationFn: async () => ({ status: false }) });
38
+ useEffect(() => {
39
+ if (session?.user?.email) setEmail(session.user.email);
40
+ }, [session?.user?.email]);
41
+ useEffect(() => {
42
+ if (!linkedProvider || !trpc) return;
43
+ acceptClaimMutation.mutateAsync(void 0).then(() => {
44
+ toast.success("Account provider linked");
45
+ queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });
46
+ }).catch((error) => {
47
+ toast.error(error.message);
48
+ }).finally(() => {
49
+ navigate("/claim-account", { replace: true });
50
+ });
51
+ }, [
52
+ acceptClaimMutation,
53
+ linkedProvider,
54
+ navigate,
55
+ queryClient,
56
+ trpc
57
+ ]);
58
+ if (!trpc) return /* @__PURE__ */ jsx(Alert, {
59
+ color: "warning",
60
+ variant: "faded",
61
+ title: "Claim flow is unavailable because backend TRPC is not configured."
62
+ });
63
+ if (!session?.user) return /* @__PURE__ */ jsx(Alert, {
64
+ color: "warning",
65
+ variant: "faded",
66
+ title: "You need to sign in with your magic link before claiming this account."
67
+ });
68
+ const claim = claimStatusQuery.data;
69
+ const hasClaimEmail = Boolean(claim?.claimedEmail);
70
+ const onSetEmail = async () => {
71
+ setBusy("email");
72
+ try {
73
+ await setEmailMutation.mutateAsync({ email });
74
+ registerSession(() => void 0);
75
+ await queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });
76
+ toast.success("Email updated");
77
+ } catch (error) {
78
+ toast.error(error instanceof Error ? error.message : "Unable to set email");
79
+ } finally {
80
+ setBusy("none");
81
+ }
82
+ };
83
+ const onSetPassword = async () => {
84
+ setBusy("password");
85
+ try {
86
+ const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/set-password`, {
87
+ method: "POST",
88
+ credentials: "include",
89
+ headers: { "Content-Type": "application/json" },
90
+ body: JSON.stringify({ newPassword })
91
+ });
92
+ const payload = await response.json().catch(() => ({}));
93
+ if (!response.ok) throw new Error(payload?.message ?? "Unable to set password");
94
+ await acceptClaimMutation.mutateAsync(void 0);
95
+ await queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });
96
+ toast.success("Password set. Account claimed.");
97
+ } catch (error) {
98
+ toast.error(error instanceof Error ? error.message : "Unable to set password");
99
+ } finally {
100
+ setBusy("none");
101
+ }
102
+ };
103
+ const onLinkProvider = async (provider) => {
104
+ setBusy("link");
105
+ try {
106
+ const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/link-social`, {
107
+ method: "POST",
108
+ credentials: "include",
109
+ headers: { "Content-Type": "application/json" },
110
+ body: JSON.stringify({
111
+ provider,
112
+ callbackURL: `${window.location.origin}/claim-account?linked=${provider}`
113
+ })
114
+ });
115
+ const payload = await response.json().catch(() => ({}));
116
+ if (!response.ok || !payload?.url) throw new Error(payload?.message ?? "Unable to start provider linking");
117
+ window.location.href = payload.url;
118
+ } catch (error) {
119
+ toast.error(error instanceof Error ? error.message : "Unable to link provider");
120
+ setBusy("none");
121
+ }
122
+ };
123
+ return /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
124
+ className: "flex flex-col gap-1",
125
+ children: [/* @__PURE__ */ jsx("p", {
126
+ className: "text-xl font-semibold",
127
+ children: "Claim your account"
128
+ }), /* @__PURE__ */ jsx("p", {
129
+ className: "text-sm text-default-600",
130
+ children: "You are signed in and can now set your permanent login methods."
131
+ })]
132
+ }), /* @__PURE__ */ jsxs(CardBody, {
133
+ className: "grid gap-6",
134
+ children: [
135
+ claimStatusQuery.isLoading ? /* @__PURE__ */ jsx(Alert, {
136
+ color: "default",
137
+ variant: "faded",
138
+ title: "Loading claim status..."
139
+ }) : !claim ? /* @__PURE__ */ jsx(Alert, {
140
+ color: "warning",
141
+ variant: "faded",
142
+ title: "No pending account claim was found for your user."
143
+ }) : null,
144
+ /* @__PURE__ */ jsxs("div", {
145
+ className: "grid gap-2",
146
+ children: [/* @__PURE__ */ jsx(Input, {
147
+ type: "email",
148
+ label: "Email",
149
+ value: email,
150
+ onValueChange: setEmail,
151
+ description: "Set your real email before linking providers and password."
152
+ }), /* @__PURE__ */ jsx(Button, {
153
+ onPress: onSetEmail,
154
+ isDisabled: !email || busy !== "none" || !claim,
155
+ children: busy === "email" ? "Saving..." : "Save Email"
156
+ })]
157
+ }),
158
+ /* @__PURE__ */ jsxs("div", {
159
+ className: "grid gap-2",
160
+ children: [/* @__PURE__ */ jsx("p", {
161
+ className: "text-sm font-medium",
162
+ children: "Link a provider"
163
+ }), /* @__PURE__ */ jsxs("div", {
164
+ className: "grid gap-3 sm:grid-cols-3",
165
+ children: [
166
+ /* @__PURE__ */ jsxs(Button, {
167
+ variant: "bordered",
168
+ onPress: () => onLinkProvider("google"),
169
+ isDisabled: busy !== "none" || !hasClaimEmail || !claim,
170
+ children: [/* @__PURE__ */ jsx(GoogleIcon, { className: "h-4 w-4" }), " Google"]
171
+ }),
172
+ /* @__PURE__ */ jsxs(Button, {
173
+ variant: "bordered",
174
+ onPress: () => onLinkProvider("linkedin"),
175
+ isDisabled: busy !== "none" || !hasClaimEmail || !claim,
176
+ children: [/* @__PURE__ */ jsx(LinkedInIcon, { className: "h-4 w-4" }), " LinkedIn"]
177
+ }),
178
+ /* @__PURE__ */ jsxs(Button, {
179
+ variant: "bordered",
180
+ onPress: () => onLinkProvider("microsoft"),
181
+ isDisabled: busy !== "none" || !hasClaimEmail || !claim,
182
+ children: [/* @__PURE__ */ jsx(MicrosoftIcon, { className: "h-4 w-4" }), " Microsoft"]
183
+ })
184
+ ]
185
+ })]
186
+ }),
187
+ /* @__PURE__ */ jsxs("div", {
188
+ className: "grid gap-2",
189
+ children: [/* @__PURE__ */ jsx(Input, {
190
+ type: "password",
191
+ label: "Set password",
192
+ value: newPassword,
193
+ onValueChange: setNewPassword
194
+ }), /* @__PURE__ */ jsx(Button, {
195
+ onPress: onSetPassword,
196
+ isDisabled: !newPassword || busy !== "none" || !hasClaimEmail || !claim,
197
+ children: busy === "password" ? "Saving..." : "Set Password and Claim"
198
+ })]
199
+ })
200
+ ]
201
+ })] });
143
202
  }
203
+ //#endregion
204
+ export { ClaimAccountRoute };
205
+
206
+ //# sourceMappingURL=ClaimAccountRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimAccountRoute.js","names":[],"sources":["../../../../../src/modules/auth/components/ClaimAccountRoute.tsx"],"sourcesContent":["import { Alert, Button, Card, CardBody, CardHeader, Input } from \"@heroui/react\";\r\nimport { useSession } from \"@m5kdev/frontend/modules/auth/hooks/useSession\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { useEffect, useMemo, useState } from \"react\";\r\nimport { useLocation, useNavigate } from \"react-router\";\r\nimport { toast } from \"sonner\";\r\nimport { GoogleIcon } from \"../../../icons/GoogleIcon\";\r\nimport { LinkedInIcon } from \"../../../icons/LinkedInIcon\";\r\nimport { MicrosoftIcon } from \"../../../icons/MicrosoftIcon\";\r\nimport type { UseBackendTRPC } from \"../../../types\";\r\n\r\nexport function ClaimAccountRoute({ useTRPC }: { useTRPC?: UseBackendTRPC }) {\r\n const { data: session, registerSession } = useSession();\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const queryClient = useQueryClient();\r\n const [email, setEmail] = useState(\"\");\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [busy, setBusy] = useState<\"none\" | \"email\" | \"password\" | \"link\">(\"none\");\r\n\r\n const trpc = useTRPC?.();\r\n\r\n const linkedProvider = useMemo(() => {\r\n const params = new URLSearchParams(location.search);\r\n return params.get(\"linked\");\r\n }, [location.search]);\r\n\r\n const claimStatusQuery = useQuery({\r\n queryKey: [\"auth\", \"claim-status\", session?.user?.id ?? null],\r\n enabled: !!trpc && !!session?.user,\r\n queryFn: async () => {\r\n if (!trpc) return null;\r\n return queryClient.fetchQuery(trpc.auth.getMyAccountClaimStatus.queryOptions());\r\n },\r\n });\r\n\r\n const setEmailMutation = useMutation(\r\n trpc\r\n ? trpc.auth.setMyAccountClaimEmail.mutationOptions()\r\n : {\r\n mutationFn: async () => ({ status: false }),\r\n }\r\n );\r\n\r\n const acceptClaimMutation = useMutation(\r\n trpc\r\n ? trpc.auth.acceptMyAccountClaim.mutationOptions()\r\n : {\r\n mutationFn: async () => ({ status: false }),\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n if (session?.user?.email) {\r\n setEmail(session.user.email);\r\n }\r\n }, [session?.user?.email]);\r\n\r\n useEffect(() => {\r\n if (!linkedProvider || !trpc) return;\r\n acceptClaimMutation\r\n .mutateAsync(undefined)\r\n .then(() => {\r\n toast.success(\"Account provider linked\");\r\n queryClient.invalidateQueries({ queryKey: trpc.auth.getMyAccountClaimStatus.queryKey() });\r\n })\r\n .catch((error) => {\r\n toast.error(error.message);\r\n })\r\n .finally(() => {\r\n navigate(\"/claim-account\", { replace: true });\r\n });\r\n }, [acceptClaimMutation, linkedProvider, navigate, queryClient, trpc]);\r\n\r\n if (!trpc) {\r\n return (\r\n <Alert\r\n color=\"warning\"\r\n variant=\"faded\"\r\n title=\"Claim flow is unavailable because backend TRPC is not configured.\"\r\n />\r\n );\r\n }\r\n\r\n if (!session?.user) {\r\n return (\r\n <Alert\r\n color=\"warning\"\r\n variant=\"faded\"\r\n title=\"You need to sign in with your magic link before claiming this account.\"\r\n />\r\n );\r\n }\r\n\r\n const claim = claimStatusQuery.data;\r\n const hasClaimEmail = Boolean(claim?.claimedEmail);\r\n\r\n const onSetEmail = async () => {\r\n setBusy(\"email\");\r\n try {\r\n await setEmailMutation.mutateAsync({ email });\r\n registerSession(() => undefined);\r\n await queryClient.invalidateQueries({\r\n queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),\r\n });\r\n toast.success(\"Email updated\");\r\n } catch (error) {\r\n toast.error(error instanceof Error ? error.message : \"Unable to set email\");\r\n } finally {\r\n setBusy(\"none\");\r\n }\r\n };\r\n\r\n const onSetPassword = async () => {\r\n setBusy(\"password\");\r\n try {\r\n const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/set-password`, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n newPassword,\r\n }),\r\n });\r\n const payload = await response.json().catch(() => ({}));\r\n if (!response.ok) {\r\n throw new Error(payload?.message ?? \"Unable to set password\");\r\n }\r\n await acceptClaimMutation.mutateAsync(undefined);\r\n await queryClient.invalidateQueries({\r\n queryKey: trpc.auth.getMyAccountClaimStatus.queryKey(),\r\n });\r\n toast.success(\"Password set. Account claimed.\");\r\n } catch (error) {\r\n toast.error(error instanceof Error ? error.message : \"Unable to set password\");\r\n } finally {\r\n setBusy(\"none\");\r\n }\r\n };\r\n\r\n const onLinkProvider = async (provider: \"google\" | \"linkedin\" | \"microsoft\") => {\r\n setBusy(\"link\");\r\n try {\r\n const response = await fetch(`${import.meta.env.VITE_SERVER_URL}/api/auth/link-social`, {\r\n method: \"POST\",\r\n credentials: \"include\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n provider,\r\n callbackURL: `${window.location.origin}/claim-account?linked=${provider}`,\r\n }),\r\n });\r\n const payload = await response.json().catch(() => ({}));\r\n if (!response.ok || !payload?.url) {\r\n throw new Error(payload?.message ?? \"Unable to start provider linking\");\r\n }\r\n window.location.href = payload.url;\r\n } catch (error) {\r\n toast.error(error instanceof Error ? error.message : \"Unable to link provider\");\r\n setBusy(\"none\");\r\n }\r\n };\r\n\r\n return (\r\n <Card>\r\n <CardHeader className=\"flex flex-col gap-1\">\r\n <p className=\"text-xl font-semibold\">Claim your account</p>\r\n <p className=\"text-sm text-default-600\">\r\n You are signed in and can now set your permanent login methods.\r\n </p>\r\n </CardHeader>\r\n <CardBody className=\"grid gap-6\">\r\n {claimStatusQuery.isLoading ? (\r\n <Alert color=\"default\" variant=\"faded\" title=\"Loading claim status...\" />\r\n ) : !claim ? (\r\n <Alert\r\n color=\"warning\"\r\n variant=\"faded\"\r\n title=\"No pending account claim was found for your user.\"\r\n />\r\n ) : null}\r\n\r\n <div className=\"grid gap-2\">\r\n <Input\r\n type=\"email\"\r\n label=\"Email\"\r\n value={email}\r\n onValueChange={setEmail}\r\n description=\"Set your real email before linking providers and password.\"\r\n />\r\n <Button onPress={onSetEmail} isDisabled={!email || busy !== \"none\" || !claim}>\r\n {busy === \"email\" ? \"Saving...\" : \"Save Email\"}\r\n </Button>\r\n </div>\r\n\r\n <div className=\"grid gap-2\">\r\n <p className=\"text-sm font-medium\">Link a provider</p>\r\n <div className=\"grid gap-3 sm:grid-cols-3\">\r\n <Button\r\n variant=\"bordered\"\r\n onPress={() => onLinkProvider(\"google\")}\r\n isDisabled={busy !== \"none\" || !hasClaimEmail || !claim}\r\n >\r\n <GoogleIcon className=\"h-4 w-4\" /> Google\r\n </Button>\r\n <Button\r\n variant=\"bordered\"\r\n onPress={() => onLinkProvider(\"linkedin\")}\r\n isDisabled={busy !== \"none\" || !hasClaimEmail || !claim}\r\n >\r\n <LinkedInIcon className=\"h-4 w-4\" /> LinkedIn\r\n </Button>\r\n <Button\r\n variant=\"bordered\"\r\n onPress={() => onLinkProvider(\"microsoft\")}\r\n isDisabled={busy !== \"none\" || !hasClaimEmail || !claim}\r\n >\r\n <MicrosoftIcon className=\"h-4 w-4\" /> Microsoft\r\n </Button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"grid gap-2\">\r\n <Input\r\n type=\"password\"\r\n label=\"Set password\"\r\n value={newPassword}\r\n onValueChange={setNewPassword}\r\n />\r\n <Button\r\n onPress={onSetPassword}\r\n isDisabled={!newPassword || busy !== \"none\" || !hasClaimEmail || !claim}\r\n >\r\n {busy === \"password\" ? \"Saving...\" : \"Set Password and Claim\"}\r\n </Button>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,kBAAkB,EAAE,WAAyC;CAC3E,MAAM,EAAE,MAAM,SAAS,oBAAoB,YAAY;CACvD,MAAM,WAAW,aAAa;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,cAAc,gBAAgB;CACpC,MAAM,CAAC,OAAO,YAAY,SAAS,GAAG;CACtC,MAAM,CAAC,aAAa,kBAAkB,SAAS,GAAG;CAClD,MAAM,CAAC,MAAM,WAAW,SAAiD,OAAO;CAEhF,MAAM,OAAO,WAAW;CAExB,MAAM,iBAAiB,cAAc;AAEnC,SADe,IAAI,gBAAgB,SAAS,OAAO,CACrC,IAAI,SAAS;IAC1B,CAAC,SAAS,OAAO,CAAC;CAErB,MAAM,mBAAmB,SAAS;EAChC,UAAU;GAAC;GAAQ;GAAgB,SAAS,MAAM,MAAM;GAAK;EAC7D,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS;EAC9B,SAAS,YAAY;AACnB,OAAI,CAAC,KAAM,QAAO;AAClB,UAAO,YAAY,WAAW,KAAK,KAAK,wBAAwB,cAAc,CAAC;;EAElF,CAAC;CAEF,MAAM,mBAAmB,YACvB,OACI,KAAK,KAAK,uBAAuB,iBAAiB,GAClD,EACE,YAAY,aAAa,EAAE,QAAQ,OAAO,GAC3C,CACN;CAED,MAAM,sBAAsB,YAC1B,OACI,KAAK,KAAK,qBAAqB,iBAAiB,GAChD,EACE,YAAY,aAAa,EAAE,QAAQ,OAAO,GAC3C,CACN;AAED,iBAAgB;AACd,MAAI,SAAS,MAAM,MACjB,UAAS,QAAQ,KAAK,MAAM;IAE7B,CAAC,SAAS,MAAM,MAAM,CAAC;AAE1B,iBAAgB;AACd,MAAI,CAAC,kBAAkB,CAAC,KAAM;AAC9B,sBACG,YAAY,KAAA,EAAU,CACtB,WAAW;AACV,SAAM,QAAQ,0BAA0B;AACxC,eAAY,kBAAkB,EAAE,UAAU,KAAK,KAAK,wBAAwB,UAAU,EAAE,CAAC;IACzF,CACD,OAAO,UAAU;AAChB,SAAM,MAAM,MAAM,QAAQ;IAC1B,CACD,cAAc;AACb,YAAS,kBAAkB,EAAE,SAAS,MAAM,CAAC;IAC7C;IACH;EAAC;EAAqB;EAAgB;EAAU;EAAa;EAAK,CAAC;AAEtE,KAAI,CAAC,KACH,QACE,oBAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAM;EACN,CAAA;AAIN,KAAI,CAAC,SAAS,KACZ,QACE,oBAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAM;EACN,CAAA;CAIN,MAAM,QAAQ,iBAAiB;CAC/B,MAAM,gBAAgB,QAAQ,OAAO,aAAa;CAElD,MAAM,aAAa,YAAY;AAC7B,UAAQ,QAAQ;AAChB,MAAI;AACF,SAAM,iBAAiB,YAAY,EAAE,OAAO,CAAC;AAC7C,yBAAsB,KAAA,EAAU;AAChC,SAAM,YAAY,kBAAkB,EAClC,UAAU,KAAK,KAAK,wBAAwB,UAAU,EACvD,CAAC;AACF,SAAM,QAAQ,gBAAgB;WACvB,OAAO;AACd,SAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,sBAAsB;YACnE;AACR,WAAQ,OAAO;;;CAInB,MAAM,gBAAgB,YAAY;AAChC,UAAQ,WAAW;AACnB,MAAI;GACF,MAAM,WAAW,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,gBAAgB,yBAAyB;IACvF,QAAQ;IACR,aAAa;IACb,SAAS,EACP,gBAAgB,oBACjB;IACD,MAAM,KAAK,UAAU,EACnB,aACD,CAAC;IACH,CAAC;GACF,MAAM,UAAU,MAAM,SAAS,MAAM,CAAC,aAAa,EAAE,EAAE;AACvD,OAAI,CAAC,SAAS,GACZ,OAAM,IAAI,MAAM,SAAS,WAAW,yBAAyB;AAE/D,SAAM,oBAAoB,YAAY,KAAA,EAAU;AAChD,SAAM,YAAY,kBAAkB,EAClC,UAAU,KAAK,KAAK,wBAAwB,UAAU,EACvD,CAAC;AACF,SAAM,QAAQ,iCAAiC;WACxC,OAAO;AACd,SAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,yBAAyB;YACtE;AACR,WAAQ,OAAO;;;CAInB,MAAM,iBAAiB,OAAO,aAAkD;AAC9E,UAAQ,OAAO;AACf,MAAI;GACF,MAAM,WAAW,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,gBAAgB,wBAAwB;IACtF,QAAQ;IACR,aAAa;IACb,SAAS,EAAE,gBAAgB,oBAAoB;IAC/C,MAAM,KAAK,UAAU;KACnB;KACA,aAAa,GAAG,OAAO,SAAS,OAAO,wBAAwB;KAChE,CAAC;IACH,CAAC;GACF,MAAM,UAAU,MAAM,SAAS,MAAM,CAAC,aAAa,EAAE,EAAE;AACvD,OAAI,CAAC,SAAS,MAAM,CAAC,SAAS,IAC5B,OAAM,IAAI,MAAM,SAAS,WAAW,mCAAmC;AAEzE,UAAO,SAAS,OAAO,QAAQ;WACxB,OAAO;AACd,SAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,0BAA0B;AAC/E,WAAQ,OAAO;;;AAInB,QACE,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EAAY,WAAU;YAAtB,CACE,oBAAC,KAAD;GAAG,WAAU;aAAwB;GAAsB,CAAA,EAC3D,oBAAC,KAAD;GAAG,WAAU;aAA2B;GAEpC,CAAA,CACO;KACb,qBAAC,UAAD;EAAU,WAAU;YAApB;GACG,iBAAiB,YAChB,oBAAC,OAAD;IAAO,OAAM;IAAU,SAAQ;IAAQ,OAAM;IAA4B,CAAA,GACvE,CAAC,QACH,oBAAC,OAAD;IACE,OAAM;IACN,SAAQ;IACR,OAAM;IACN,CAAA,GACA;GAEJ,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAM;KACN,OAAO;KACP,eAAe;KACf,aAAY;KACZ,CAAA,EACF,oBAAC,QAAD;KAAQ,SAAS;KAAY,YAAY,CAAC,SAAS,SAAS,UAAU,CAAC;eACpE,SAAS,UAAU,cAAc;KAC3B,CAAA,CACL;;GAEN,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,KAAD;KAAG,WAAU;eAAsB;KAAmB,CAAA,EACtD,qBAAC,OAAD;KAAK,WAAU;eAAf;MACE,qBAAC,QAAD;OACE,SAAQ;OACR,eAAe,eAAe,SAAS;OACvC,YAAY,SAAS,UAAU,CAAC,iBAAiB,CAAC;iBAHpD,CAKE,oBAAC,YAAD,EAAY,WAAU,WAAY,CAAA,EAAA,UAC3B;;MACT,qBAAC,QAAD;OACE,SAAQ;OACR,eAAe,eAAe,WAAW;OACzC,YAAY,SAAS,UAAU,CAAC,iBAAiB,CAAC;iBAHpD,CAKE,oBAAC,cAAD,EAAc,WAAU,WAAY,CAAA,EAAA,YAC7B;;MACT,qBAAC,QAAD;OACE,SAAQ;OACR,eAAe,eAAe,YAAY;OAC1C,YAAY,SAAS,UAAU,CAAC,iBAAiB,CAAC;iBAHpD,CAKE,oBAAC,eAAD,EAAe,WAAU,WAAY,CAAA,EAAA,aAC9B;;MACL;OACF;;GAEN,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAM;KACN,OAAO;KACP,eAAe;KACf,CAAA,EACF,oBAAC,QAAD;KACE,SAAS;KACT,YAAY,CAAC,eAAe,SAAS,UAAU,CAAC,iBAAiB,CAAC;eAEjE,SAAS,aAAa,cAAc;KAC9B,CAAA,CACL;;GACG;IACN,EAAA,CAAA"}
@@ -1 +1,7 @@
1
- export declare function ErrorAuthRoute(): import("react/jsx-runtime").JSX.Element;
1
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/modules/auth/components/ErrorAuthRoute.d.ts
4
+ declare function ErrorAuthRoute(): _$react_jsx_runtime0.JSX.Element;
5
+ //#endregion
6
+ export { ErrorAuthRoute };
7
+ //# sourceMappingURL=ErrorAuthRoute.d.ts.map
@@ -1,93 +1,129 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import { Button, Card, CardBody, CardHeader } from "@heroui/react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { AlertCircle } from "lucide-react";
4
- import { useQueryState } from "nuqs";
5
4
  import { useTranslation } from "react-i18next";
6
- import { Link } from "react-router";
7
- export function ErrorAuthRoute() {
8
- const { t } = useTranslation();
9
- const [error] = useQueryState("error");
10
- const ErrorEnum = {
11
- invalid_callback_request: {
12
- title: "Invalid callback request",
13
- description: "The callback request is invalid. Please try again.",
14
- buttons: ["login", "signup"],
15
- signupLabel: null,
16
- },
17
- state_not_found: {
18
- title: "State not found",
19
- description: "The state was not found. Please try again.",
20
- buttons: ["login", "signup"],
21
- signupLabel: null,
22
- },
23
- account_already_linked_to_different_user: {
24
- title: "Account already linked to different user",
25
- description: "The account is already linked to a different user. Please try again.",
26
- buttons: ["signup"],
27
- signupLabel: null,
28
- },
29
- "email_doesn't_match": {
30
- title: "Email doesn't match",
31
- description: "The email doesn't match. Please try again.",
32
- buttons: ["login", "signup"],
33
- signupLabel: null,
34
- },
35
- email_not_found: {
36
- title: "Email not found",
37
- description: "The email was not found. Please try again.",
38
- buttons: ["login", "signup"],
39
- signupLabel: null,
40
- },
41
- no_callback_url: {
42
- title: "No callback URL",
43
- description: "The callback URL is not set. Please try again.",
44
- buttons: ["login", "signup"],
45
- signupLabel: null,
46
- },
47
- no_code: {
48
- title: "No code",
49
- description: "The code is not set. Please try again.",
50
- buttons: ["login", "signup"],
51
- signupLabel: null,
52
- },
53
- oauth_provider_not_found: {
54
- title: "OAuth provider not found",
55
- description: "The OAuth provider was not found. Please try again.",
56
- buttons: ["login", "signup"],
57
- signupLabel: null,
58
- },
59
- unable_to_link_account: {
60
- title: "Unable to link account",
61
- description: "The account could not be linked. Please try again.",
62
- buttons: ["login", "signup"],
63
- signupLabel: null,
64
- },
65
- unable_to_get_user_info: {
66
- title: "Unable to get user info",
67
- description: "The user info could not be retrieved. Please try again.",
68
- buttons: ["login", "signup"],
69
- signupLabel: null,
70
- },
71
- state_mismatch: {
72
- title: "State mismatch",
73
- description: "The state mismatch. Please try again.",
74
- buttons: ["login", "signup"],
75
- signupLabel: null,
76
- },
77
- signup_disabled: {
78
- title: "Signup disabled",
79
- description: "The signup is disabled while we are in beta. Please join the waitlist to be notified when we launch.",
80
- buttons: ["signup"],
81
- signupLabel: "Join the waitlist",
82
- },
83
- default: {
84
- title: "Authentication Failed",
85
- description: "We encountered an issue with your authentication request",
86
- buttons: ["login", "signup"],
87
- signupLabel: null,
88
- },
89
- };
90
- const errorData = ErrorEnum[error] || ErrorEnum.default;
91
- const { title, description, buttons, signupLabel } = errorData;
92
- return (_jsx("div", { className: "flex flex-col gap-6", children: _jsxs(Card, { children: [_jsxs(CardHeader, { className: "text-center flex flex-col gap-2 items-center", children: [_jsx(AlertCircle, { className: "w-10 h-10 text-red-500" }), _jsx("p", { className: "text-xl font-semibold", children: title }), _jsx("p", { className: "text-sm text-default-600", children: description })] }), _jsx(CardBody, { className: "flex flex-col gap-4", children: _jsxs("div", { className: "flex flex-col gap-2", children: [buttons.includes("login") && (_jsx(Button, { as: Link, to: "/login", variant: "bordered", children: t("web-ui:auth.error.backToLogin") })), buttons.includes("signup") && (_jsx(Button, { as: Link, to: "/signup", variant: "bordered", children: signupLabel || t("web-ui:auth.error.backToSignup") }))] }) })] }) }));
5
+ import { Link as Link$1 } from "react-router";
6
+ import { useQueryState } from "nuqs";
7
+ //#region src/modules/auth/components/ErrorAuthRoute.tsx
8
+ function ErrorAuthRoute() {
9
+ const { t } = useTranslation();
10
+ const [error] = useQueryState("error");
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: "The signup is disabled while we are in beta. Please join the waitlist to be notified when we launch.",
81
+ buttons: ["signup"],
82
+ signupLabel: "Join the waitlist"
83
+ },
84
+ default: {
85
+ title: "Authentication Failed",
86
+ description: "We encountered an issue with your authentication request",
87
+ buttons: ["login", "signup"],
88
+ signupLabel: null
89
+ }
90
+ };
91
+ const { title, description, buttons, signupLabel } = ErrorEnum[error] || ErrorEnum.default;
92
+ return /* @__PURE__ */ jsx("div", {
93
+ className: "flex flex-col gap-6",
94
+ children: /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
95
+ className: "text-center flex flex-col gap-2 items-center",
96
+ children: [
97
+ /* @__PURE__ */ jsx(AlertCircle, { className: "w-10 h-10 text-red-500" }),
98
+ /* @__PURE__ */ jsx("p", {
99
+ className: "text-xl font-semibold",
100
+ children: title
101
+ }),
102
+ /* @__PURE__ */ jsx("p", {
103
+ className: "text-sm text-default-600",
104
+ children: description
105
+ })
106
+ ]
107
+ }), /* @__PURE__ */ jsx(CardBody, {
108
+ className: "flex flex-col gap-4",
109
+ children: /* @__PURE__ */ jsxs("div", {
110
+ className: "flex flex-col gap-2",
111
+ children: [buttons.includes("login") && /* @__PURE__ */ jsx(Button, {
112
+ as: Link$1,
113
+ to: "/login",
114
+ variant: "bordered",
115
+ children: t("web-ui:auth.error.backToLogin")
116
+ }), buttons.includes("signup") && /* @__PURE__ */ jsx(Button, {
117
+ as: Link$1,
118
+ to: "/signup",
119
+ variant: "bordered",
120
+ children: signupLabel || t("web-ui:auth.error.backToSignup")
121
+ })]
122
+ })
123
+ })] })
124
+ });
93
125
  }
126
+ //#endregion
127
+ export { ErrorAuthRoute };
128
+
129
+ //# sourceMappingURL=ErrorAuthRoute.js.map