@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignupRoute.js","names":["Link"],"sources":["../../../../../src/modules/auth/components/SignupRoute.tsx"],"sourcesContent":["import { Card, CardBody, CardHeader } from \"@heroui/react\";\r\nimport { useQueryState } from \"nuqs\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router\";\r\nimport { SignupForm } from \"./SignupFormRoute\";\r\nimport type { UseBackendTRPC } from \"../../../types\";\r\nimport { AuthProviders } from \"./AuthProviders\";\r\nimport { WaitlistCard } from \"./WaitlistCard\";\r\nimport { WaitlistCodeValidation } from \"./WaitlistCodeValidation\";\r\n\r\ninterface SignupRouteProps {\r\n providers?: string[];\r\n useTRPC?: UseBackendTRPC;\r\n}\r\n\r\nexport function SignupRoute({ providers, useTRPC }: SignupRouteProps) {\r\n const { t } = useTranslation();\r\n\r\n const [code] = useQueryState(\"code\");\r\n const [email] = useQueryState(\"email\");\r\n\r\n const hasWaitlist = !!useTRPC;\r\n\r\n return (\r\n <div className=\"flex flex-col gap-6\">\r\n {hasWaitlist && !code ? (\r\n <WaitlistCard useTRPC={useTRPC} />\r\n ) : (\r\n <Card>\r\n <CardHeader className=\"text-center flex flex-col gap-1\">\r\n <p className=\"text-xl font-semibold\">{t(\"web-ui:auth.signup.createAccount\")}</p>\r\n <p className=\"text-sm text-default-600\">{t(\"web-ui:auth.signup.description\")}</p>\r\n </CardHeader>\r\n <CardBody>\r\n <div className=\"grid gap-6\">\r\n {hasWaitlist && code && useTRPC && (\r\n <WaitlistCodeValidation code={code} useTRPC={useTRPC} />\r\n )}\r\n <AuthProviders providers={providers} code={code} requestSignUp />\r\n <SignupForm code={code} email={email} waitlist={hasWaitlist} />\r\n </div>\r\n </CardBody>\r\n </Card>\r\n )}\r\n <div className=\"text-center text-xs text-muted-foreground\">\r\n {t(\"web-ui:auth.signup.alreadyHaveAccount\")}{\" \"}\r\n <Link to=\"/login\" className=\"underline underline-offset-4 hover:text-primary\">\r\n {t(\"web-ui:auth.login.button\")}\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;;AAeA,SAAgB,YAAY,EAAE,WAAW,WAA6B;CACpE,MAAM,EAAE,MAAM,gBAAgB;CAE9B,MAAM,CAAC,QAAQ,cAAc,OAAO;CACpC,MAAM,CAAC,SAAS,cAAc,QAAQ;CAEtC,MAAM,cAAc,CAAC,CAAC;AAEtB,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACG,eAAe,CAAC,OACf,oBAAC,cAAD,EAAuB,SAAW,CAAA,GAElC,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;GAAY,WAAU;aAAtB,CACE,oBAAC,KAAD;IAAG,WAAU;cAAyB,EAAE,mCAAmC;IAAK,CAAA,EAChF,oBAAC,KAAD;IAAG,WAAU;cAA4B,EAAE,iCAAiC;IAAK,CAAA,CACtE;MACb,oBAAC,UAAD,EAAA,UACE,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG,eAAe,QAAQ,WACtB,oBAAC,wBAAD;KAA8B;KAAe;KAAW,CAAA;IAE1D,oBAAC,eAAD;KAA0B;KAAiB;KAAM,eAAA;KAAgB,CAAA;IACjE,oBAAC,YAAD;KAAkB;KAAa;KAAO,UAAU;KAAe,CAAA;IAC3D;MACG,CAAA,CACN,EAAA,CAAA,EAET,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG,EAAE,wCAAwC;IAAE;IAC7C,oBAACA,QAAD;KAAM,IAAG;KAAS,WAAU;eACzB,EAAE,2BAA2B;KACzB,CAAA;IACH;KACF"}
@@ -1,12 +1,23 @@
1
- import type { ReactElement } from "react";
2
- import type { z } from "zod";
3
- import { type ControlsFor, type UpdatePreferencesOptions } from "./PreferencesEditor";
4
- export type { ControlDefinition, ControlsFor, PreferenceEditorLabels, UpdatePreferencesOptions, } from "./PreferencesEditor";
5
- export declare function UserPreferences<S extends z.ZodObject<z.ZodRawShape>>({ schema, controls, preferences, isLoading, isPending, updatePreferences, }: {
6
- schema: S;
7
- controls: ControlsFor<z.infer<S>>;
8
- preferences: z.infer<S>;
9
- isLoading: boolean;
10
- isPending: boolean;
11
- updatePreferences: (partialPreferences: Partial<z.infer<S>>, options: UpdatePreferencesOptions) => void;
1
+ import { ControlDefinition, ControlsFor, PreferenceEditorLabels, UpdatePreferencesOptions } from "./PreferencesEditor.js";
2
+ import { ReactElement } from "react";
3
+ import { z } from "zod";
4
+
5
+ //#region src/modules/auth/components/UserPreferences.d.ts
6
+ declare function UserPreferences<S extends z.ZodObject<z.ZodRawShape>>({
7
+ schema,
8
+ controls,
9
+ preferences,
10
+ isLoading,
11
+ isPending,
12
+ updatePreferences
13
+ }: {
14
+ schema: S;
15
+ controls: ControlsFor<z.infer<S>>;
16
+ preferences: z.infer<S>;
17
+ isLoading: boolean;
18
+ isPending: boolean;
19
+ updatePreferences: (partialPreferences: Partial<z.infer<S>>, options: UpdatePreferencesOptions) => void;
12
20
  }): ReactElement;
21
+ //#endregion
22
+ export { type ControlDefinition, type ControlsFor, type PreferenceEditorLabels, type UpdatePreferencesOptions, UserPreferences };
23
+ //# sourceMappingURL=UserPreferences.d.ts.map
@@ -1,14 +1,26 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { PreferencesEditor } from "./PreferencesEditor.js";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import { useTranslation } from "react-i18next";
3
- import { PreferencesEditor, } from "./PreferencesEditor";
4
- export function UserPreferences({ schema, controls, preferences, isLoading, isPending, updatePreferences, }) {
5
- const { t } = useTranslation("web-ui");
6
- const labels = {
7
- title: t("web-ui:preferences.title"),
8
- submit: t("web-ui:preferences.submit"),
9
- updated: t("web-ui:preferences.updated"),
10
- updateError: t("web-ui:preferences.updateError"),
11
- loading: t("web-ui:preferences.loading"),
12
- };
13
- return (_jsx(PreferencesEditor, { schema: schema, controls: controls, values: preferences, isLoading: isLoading, isPending: isPending, labels: labels, updateValues: updatePreferences }));
4
+ //#region src/modules/auth/components/UserPreferences.tsx
5
+ function UserPreferences({ schema, controls, preferences, isLoading, isPending, updatePreferences }) {
6
+ const { t } = useTranslation("web-ui");
7
+ return /* @__PURE__ */ jsx(PreferencesEditor, {
8
+ schema,
9
+ controls,
10
+ values: preferences,
11
+ isLoading,
12
+ isPending,
13
+ labels: {
14
+ title: t("web-ui:preferences.title"),
15
+ submit: t("web-ui:preferences.submit"),
16
+ updated: t("web-ui:preferences.updated"),
17
+ updateError: t("web-ui:preferences.updateError"),
18
+ loading: t("web-ui:preferences.loading")
19
+ },
20
+ updateValues: updatePreferences
21
+ });
14
22
  }
23
+ //#endregion
24
+ export { UserPreferences };
25
+
26
+ //# sourceMappingURL=UserPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserPreferences.js","names":[],"sources":["../../../../../src/modules/auth/components/UserPreferences.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport type { z } from \"zod\";\r\nimport {\r\n type ControlsFor,\r\n type PreferenceEditorLabels,\r\n PreferencesEditor,\r\n type UpdatePreferencesOptions,\r\n} from \"./PreferencesEditor\";\r\n\r\nexport type {\r\n ControlDefinition,\r\n ControlsFor,\r\n PreferenceEditorLabels,\r\n UpdatePreferencesOptions,\r\n} from \"./PreferencesEditor\";\r\n\r\nexport function UserPreferences<S extends z.ZodObject<z.ZodRawShape>>({\r\n schema,\r\n controls,\r\n preferences,\r\n isLoading,\r\n isPending,\r\n updatePreferences,\r\n}: {\r\n schema: S;\r\n controls: ControlsFor<z.infer<S>>;\r\n preferences: z.infer<S>;\r\n isLoading: boolean;\r\n isPending: boolean;\r\n updatePreferences: (\r\n partialPreferences: Partial<z.infer<S>>,\r\n options: UpdatePreferencesOptions\r\n ) => void;\r\n}): ReactElement {\r\n const { t } = useTranslation(\"web-ui\");\r\n\r\n const labels: PreferenceEditorLabels = {\r\n title: t(\"web-ui:preferences.title\"),\r\n submit: t(\"web-ui:preferences.submit\"),\r\n updated: t(\"web-ui:preferences.updated\"),\r\n updateError: t(\"web-ui:preferences.updateError\"),\r\n loading: t(\"web-ui:preferences.loading\"),\r\n };\r\n\r\n return (\r\n <PreferencesEditor\r\n schema={schema}\r\n controls={controls}\r\n values={preferences}\r\n isLoading={isLoading}\r\n isPending={isPending}\r\n labels={labels}\r\n updateValues={updatePreferences}\r\n />\r\n );\r\n}\r\n"],"mappings":";;;;AAiBA,SAAgB,gBAAsD,EACpE,QACA,UACA,aACA,WACA,WACA,qBAWe;CACf,MAAM,EAAE,MAAM,eAAe,SAAS;AAUtC,QACE,oBAAC,mBAAD;EACU;EACE;EACV,QAAQ;EACG;EACA;EACX,QAfmC;GACrC,OAAO,EAAE,2BAA2B;GACpC,QAAQ,EAAE,4BAA4B;GACtC,SAAS,EAAE,6BAA6B;GACxC,aAAa,EAAE,iCAAiC;GAChD,SAAS,EAAE,6BAA6B;GACzC;EAUG,cAAc;EACd,CAAA"}
@@ -1,6 +1,13 @@
1
- import type { UseBackendTRPC } from "../../../types";
1
+ import { UseBackendTRPC } from "../../../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/modules/auth/components/WaitlistCard.d.ts
2
5
  interface WaitlistCardProps {
3
- useTRPC: UseBackendTRPC;
6
+ useTRPC: UseBackendTRPC;
4
7
  }
5
- export declare function WaitlistCard({ useTRPC }: WaitlistCardProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
8
+ declare function WaitlistCard({
9
+ useTRPC
10
+ }: WaitlistCardProps): _$react_jsx_runtime0.JSX.Element;
11
+ //#endregion
12
+ export { WaitlistCard };
13
+ //# sourceMappingURL=WaitlistCard.d.ts.map
@@ -1,32 +1,67 @@
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 { useMutation } from "@tanstack/react-query";
4
1
  import { useState } from "react";
2
+ import { Alert, Button, Card, CardBody, CardHeader, Input } from "@heroui/react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
5
4
  import { useTranslation } from "react-i18next";
6
5
  import { toast } from "sonner";
7
- export function WaitlistCard({ useTRPC }) {
8
- const { t } = useTranslation();
9
- const trpc = useTRPC();
10
- const [email, setEmail] = useState("");
11
- const [joined, setJoined] = useState(false);
12
- const { mutate } = useMutation(trpc.auth.joinWaitlist.mutationOptions());
13
- const handleSubmit = (e) => {
14
- e.preventDefault();
15
- mutate({ email }, {
16
- onSuccess: () => {
17
- setJoined(true);
18
- },
19
- onError: (error) => {
20
- toast.error(error instanceof Error
21
- ? error.message
22
- : t("web-ui:auth.waitlist.error", {
23
- defaultValue: "Failed to join waitlist. Please try again.",
24
- }));
25
- },
26
- });
27
- };
28
- if (joined) {
29
- return (_jsx(Card, { children: _jsx(CardBody, { className: "pt-6", children: _jsx(Alert, { color: "success", variant: "faded", title: t("web-ui:auth.waitlist.success") }) }) }));
30
- }
31
- return (_jsxs(Card, { children: [_jsxs(CardHeader, { className: "text-center flex flex-col gap-1", children: [_jsx("p", { className: "text-xl font-semibold", children: t("web-ui:auth.waitlist.title") }), _jsx("p", { className: "text-sm text-default-600", children: t("web-ui:auth.waitlist.description") })] }), _jsx(CardBody, { children: _jsxs("form", { onSubmit: handleSubmit, className: "grid gap-6", children: [_jsx("div", { className: "grid gap-2", children: _jsx(Input, { type: "email", label: t("web-ui:auth.waitlist.email"), labelPlacement: "outside", placeholder: t("web-ui:auth.waitlist.placeholder.email"), isRequired: true, variant: "bordered", value: email, onChange: (e) => setEmail(e.target.value) }) }), _jsx(Button, { type: "submit", color: "primary", children: t("web-ui:auth.waitlist.button") })] }) })] }));
6
+ import { useMutation } from "@tanstack/react-query";
7
+ //#region src/modules/auth/components/WaitlistCard.tsx
8
+ function WaitlistCard({ useTRPC }) {
9
+ const { t } = useTranslation();
10
+ const trpc = useTRPC();
11
+ const [email, setEmail] = useState("");
12
+ const [joined, setJoined] = useState(false);
13
+ const { mutate } = useMutation(trpc.auth.joinWaitlist.mutationOptions());
14
+ const handleSubmit = (e) => {
15
+ e.preventDefault();
16
+ mutate({ email }, {
17
+ onSuccess: () => {
18
+ setJoined(true);
19
+ },
20
+ onError: (error) => {
21
+ toast.error(error instanceof Error ? error.message : t("web-ui:auth.waitlist.error", { defaultValue: "Failed to join waitlist. Please try again." }));
22
+ }
23
+ });
24
+ };
25
+ if (joined) return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardBody, {
26
+ className: "pt-6",
27
+ children: /* @__PURE__ */ jsx(Alert, {
28
+ color: "success",
29
+ variant: "faded",
30
+ title: t("web-ui:auth.waitlist.success")
31
+ })
32
+ }) });
33
+ return /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
34
+ className: "text-center flex flex-col gap-1",
35
+ children: [/* @__PURE__ */ jsx("p", {
36
+ className: "text-xl font-semibold",
37
+ children: t("web-ui:auth.waitlist.title")
38
+ }), /* @__PURE__ */ jsx("p", {
39
+ className: "text-sm text-default-600",
40
+ children: t("web-ui:auth.waitlist.description")
41
+ })]
42
+ }), /* @__PURE__ */ jsx(CardBody, { children: /* @__PURE__ */ jsxs("form", {
43
+ onSubmit: handleSubmit,
44
+ className: "grid gap-6",
45
+ children: [/* @__PURE__ */ jsx("div", {
46
+ className: "grid gap-2",
47
+ children: /* @__PURE__ */ jsx(Input, {
48
+ type: "email",
49
+ label: t("web-ui:auth.waitlist.email"),
50
+ labelPlacement: "outside",
51
+ placeholder: t("web-ui:auth.waitlist.placeholder.email"),
52
+ isRequired: true,
53
+ variant: "bordered",
54
+ value: email,
55
+ onChange: (e) => setEmail(e.target.value)
56
+ })
57
+ }), /* @__PURE__ */ jsx(Button, {
58
+ type: "submit",
59
+ color: "primary",
60
+ children: t("web-ui:auth.waitlist.button")
61
+ })]
62
+ }) })] });
32
63
  }
64
+ //#endregion
65
+ export { WaitlistCard };
66
+
67
+ //# sourceMappingURL=WaitlistCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaitlistCard.js","names":[],"sources":["../../../../../src/modules/auth/components/WaitlistCard.tsx"],"sourcesContent":["import { Alert, Button, Card, CardBody, CardHeader, Input } from \"@heroui/react\";\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"sonner\";\r\nimport type { UseBackendTRPC } from \"../../../types\";\r\n\r\ninterface WaitlistCardProps {\r\n useTRPC: UseBackendTRPC;\r\n}\r\n\r\nexport function WaitlistCard({ useTRPC }: WaitlistCardProps) {\r\n const { t } = useTranslation();\r\n const trpc = useTRPC();\r\n const [email, setEmail] = useState(\"\");\r\n const [joined, setJoined] = useState(false);\r\n\r\n const { mutate } = useMutation(trpc.auth.joinWaitlist.mutationOptions());\r\n\r\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\r\n e.preventDefault();\r\n mutate(\r\n { email },\r\n {\r\n onSuccess: () => {\r\n setJoined(true);\r\n },\r\n onError: (error) => {\r\n toast.error(\r\n error instanceof Error\r\n ? error.message\r\n : t(\"web-ui:auth.waitlist.error\", {\r\n defaultValue: \"Failed to join waitlist. Please try again.\",\r\n })\r\n );\r\n },\r\n }\r\n );\r\n };\r\n\r\n if (joined) {\r\n return (\r\n <Card>\r\n <CardBody className=\"pt-6\">\r\n <Alert color=\"success\" variant=\"faded\" title={t(\"web-ui:auth.waitlist.success\")} />\r\n </CardBody>\r\n </Card>\r\n );\r\n }\r\n\r\n return (\r\n <Card>\r\n <CardHeader className=\"text-center flex flex-col gap-1\">\r\n <p className=\"text-xl font-semibold\">{t(\"web-ui:auth.waitlist.title\")}</p>\r\n <p className=\"text-sm text-default-600\">{t(\"web-ui:auth.waitlist.description\")}</p>\r\n </CardHeader>\r\n <CardBody>\r\n <form onSubmit={handleSubmit} className=\"grid gap-6\">\r\n <div className=\"grid gap-2\">\r\n <Input\r\n type=\"email\"\r\n label={t(\"web-ui:auth.waitlist.email\")}\r\n labelPlacement=\"outside\"\r\n placeholder={t(\"web-ui:auth.waitlist.placeholder.email\")}\r\n isRequired\r\n variant=\"bordered\"\r\n value={email}\r\n onChange={(e) => setEmail(e.target.value)}\r\n />\r\n </div>\r\n <Button type=\"submit\" color=\"primary\">\r\n {t(\"web-ui:auth.waitlist.button\")}\r\n </Button>\r\n </form>\r\n </CardBody>\r\n </Card>\r\n );\r\n}\r\n"],"mappings":";;;;;;;AAWA,SAAgB,aAAa,EAAE,WAA8B;CAC3D,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,OAAO,YAAY,SAAS,GAAG;CACtC,MAAM,CAAC,QAAQ,aAAa,SAAS,MAAM;CAE3C,MAAM,EAAE,WAAW,YAAY,KAAK,KAAK,aAAa,iBAAiB,CAAC;CAExE,MAAM,gBAAgB,MAAwC;AAC5D,IAAE,gBAAgB;AAClB,SACE,EAAE,OAAO,EACT;GACE,iBAAiB;AACf,cAAU,KAAK;;GAEjB,UAAU,UAAU;AAClB,UAAM,MACJ,iBAAiB,QACb,MAAM,UACN,EAAE,8BAA8B,EAC9B,cAAc,8CACf,CAAC,CACP;;GAEJ,CACF;;AAGH,KAAI,OACF,QACE,oBAAC,MAAD,EAAA,UACE,oBAAC,UAAD;EAAU,WAAU;YAClB,oBAAC,OAAD;GAAO,OAAM;GAAU,SAAQ;GAAQ,OAAO,EAAE,+BAA+B;GAAI,CAAA;EAC1E,CAAA,EACN,CAAA;AAIX,QACE,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EAAY,WAAU;YAAtB,CACE,oBAAC,KAAD;GAAG,WAAU;aAAyB,EAAE,6BAA6B;GAAK,CAAA,EAC1E,oBAAC,KAAD;GAAG,WAAU;aAA4B,EAAE,mCAAmC;GAAK,CAAA,CACxE;KACb,oBAAC,UAAD,EAAA,UACE,qBAAC,QAAD;EAAM,UAAU;EAAc,WAAU;YAAxC,CACE,oBAAC,OAAD;GAAK,WAAU;aACb,oBAAC,OAAD;IACE,MAAK;IACL,OAAO,EAAE,6BAA6B;IACtC,gBAAe;IACf,aAAa,EAAE,yCAAyC;IACxD,YAAA;IACA,SAAQ;IACR,OAAO;IACP,WAAW,MAAM,SAAS,EAAE,OAAO,MAAM;IACzC,CAAA;GACE,CAAA,EACN,oBAAC,QAAD;GAAQ,MAAK;GAAS,OAAM;aACzB,EAAE,8BAA8B;GAC1B,CAAA,CACJ;KACE,CAAA,CACN,EAAA,CAAA"}
@@ -1,7 +1,15 @@
1
- import type { UseBackendTRPC } from "../../../types";
1
+ import { UseBackendTRPC } from "../../../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/modules/auth/components/WaitlistCodeValidation.d.ts
2
5
  interface WaitlistCodeValidationProps {
3
- useTRPC: UseBackendTRPC;
4
- code: string;
6
+ useTRPC: UseBackendTRPC;
7
+ code: string;
5
8
  }
6
- export declare function WaitlistCodeValidation({ useTRPC, code }: WaitlistCodeValidationProps): import("react/jsx-runtime").JSX.Element | null;
7
- export {};
9
+ declare function WaitlistCodeValidation({
10
+ useTRPC,
11
+ code
12
+ }: WaitlistCodeValidationProps): _$react_jsx_runtime0.JSX.Element | null;
13
+ //#endregion
14
+ export { WaitlistCodeValidation };
15
+ //# sourceMappingURL=WaitlistCodeValidation.d.ts.map
@@ -1,43 +1,45 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import { Alert } from "@heroui/react";
3
- import { useQuery } from "@tanstack/react-query";
2
+ import { jsx } from "react/jsx-runtime";
4
3
  import { useTranslation } from "react-i18next";
5
- export function WaitlistCodeValidation({ useTRPC, code }) {
6
- const { t } = useTranslation();
7
- const trpc = useTRPC();
8
- const { data, isLoading, error } = useQuery(trpc.auth.validateWaitlistCode.queryOptions({ code }));
9
- const status = data?.status;
10
- const className = "p-1";
11
- if (isLoading) {
12
- return (_jsx(Alert, { className: className, color: "default", variant: "faded", title: t("web-ui:auth.waitlist.validatingCode", {
13
- defaultValue: "Validating the invitation code...",
14
- }) }));
15
- }
16
- if (error) {
17
- return (_jsx(Alert, { className: className, color: "danger", variant: "faded", title: t("web-ui:auth.waitlist.codeError", {
18
- defaultValue: "An error occurred while validating the invitation code.",
19
- }) }));
20
- }
21
- if (status === "VALID") {
22
- return (_jsx(Alert, { className: className, color: "success", variant: "faded", title: t("web-ui:auth.waitlist.codeValid", {
23
- defaultValue: "Invitation code is valid. You can proceed.",
24
- }) }));
25
- }
26
- if (status) {
27
- let message = t("web-ui:auth.waitlist.invalidCode", {
28
- defaultValue: "Invalid invitation code.",
29
- });
30
- if (status === "EXPIRED") {
31
- message = t("web-ui:auth.waitlist.expiredCode", {
32
- defaultValue: "Invitation code has expired.",
33
- });
34
- }
35
- else if (status === "NOT_FOUND") {
36
- message = t("web-ui:auth.waitlist.codeNotFound", {
37
- defaultValue: "Invitation code not found.",
38
- });
39
- }
40
- return _jsx(Alert, { className: className, color: "danger", variant: "faded", title: message });
41
- }
42
- return null;
4
+ import { useQuery } from "@tanstack/react-query";
5
+ //#region src/modules/auth/components/WaitlistCodeValidation.tsx
6
+ function WaitlistCodeValidation({ useTRPC, code }) {
7
+ const { t } = useTranslation();
8
+ const { data, isLoading, error } = useQuery(useTRPC().auth.validateWaitlistCode.queryOptions({ code }));
9
+ const status = data?.status;
10
+ const className = "p-1";
11
+ if (isLoading) return /* @__PURE__ */ jsx(Alert, {
12
+ className,
13
+ color: "default",
14
+ variant: "faded",
15
+ title: t("web-ui:auth.waitlist.validatingCode", { defaultValue: "Validating the invitation code..." })
16
+ });
17
+ if (error) return /* @__PURE__ */ jsx(Alert, {
18
+ className,
19
+ color: "danger",
20
+ variant: "faded",
21
+ title: t("web-ui:auth.waitlist.codeError", { defaultValue: "An error occurred while validating the invitation code." })
22
+ });
23
+ if (status === "VALID") return /* @__PURE__ */ jsx(Alert, {
24
+ className,
25
+ color: "success",
26
+ variant: "faded",
27
+ title: t("web-ui:auth.waitlist.codeValid", { defaultValue: "Invitation code is valid. You can proceed." })
28
+ });
29
+ if (status) {
30
+ let message = t("web-ui:auth.waitlist.invalidCode", { defaultValue: "Invalid invitation code." });
31
+ if (status === "EXPIRED") message = t("web-ui:auth.waitlist.expiredCode", { defaultValue: "Invitation code has expired." });
32
+ else if (status === "NOT_FOUND") message = t("web-ui:auth.waitlist.codeNotFound", { defaultValue: "Invitation code not found." });
33
+ return /* @__PURE__ */ jsx(Alert, {
34
+ className,
35
+ color: "danger",
36
+ variant: "faded",
37
+ title: message
38
+ });
39
+ }
40
+ return null;
43
41
  }
42
+ //#endregion
43
+ export { WaitlistCodeValidation };
44
+
45
+ //# sourceMappingURL=WaitlistCodeValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaitlistCodeValidation.js","names":[],"sources":["../../../../../src/modules/auth/components/WaitlistCodeValidation.tsx"],"sourcesContent":["import { Alert } from \"@heroui/react\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport type { UseBackendTRPC } from \"../../../types\";\n\ninterface WaitlistCodeValidationProps {\n useTRPC: UseBackendTRPC;\n code: string;\n}\n\nexport function WaitlistCodeValidation({ useTRPC, code }: WaitlistCodeValidationProps) {\n const { t } = useTranslation();\n const trpc = useTRPC();\n const { data, isLoading, error } = useQuery(\n trpc.auth.validateWaitlistCode.queryOptions({ code })\n );\n const status = data?.status;\n\n const className = \"p-1\";\n\n if (isLoading) {\n return (\n <Alert\n className={className}\n color=\"default\"\n variant=\"faded\"\n title={t(\"web-ui:auth.waitlist.validatingCode\", {\n defaultValue: \"Validating the invitation code...\",\n })}\n />\n );\n }\n\n if (error) {\n return (\n <Alert\n className={className}\n color=\"danger\"\n variant=\"faded\"\n title={t(\"web-ui:auth.waitlist.codeError\", {\n defaultValue: \"An error occurred while validating the invitation code.\",\n })}\n />\n );\n }\n\n if (status === \"VALID\") {\n return (\n <Alert\n className={className}\n color=\"success\"\n variant=\"faded\"\n title={t(\"web-ui:auth.waitlist.codeValid\", {\n defaultValue: \"Invitation code is valid. You can proceed.\",\n })}\n />\n );\n }\n\n if (status) {\n let message = t(\"web-ui:auth.waitlist.invalidCode\", {\n defaultValue: \"Invalid invitation code.\",\n });\n\n if (status === \"EXPIRED\") {\n message = t(\"web-ui:auth.waitlist.expiredCode\", {\n defaultValue: \"Invitation code has expired.\",\n });\n } else if (status === \"NOT_FOUND\") {\n message = t(\"web-ui:auth.waitlist.codeNotFound\", {\n defaultValue: \"Invitation code not found.\",\n });\n }\n\n return <Alert className={className} color=\"danger\" variant=\"faded\" title={message} />;\n }\n\n return null;\n}\n"],"mappings":";;;;;AAUA,SAAgB,uBAAuB,EAAE,SAAS,QAAqC;CACrF,MAAM,EAAE,MAAM,gBAAgB;CAE9B,MAAM,EAAE,MAAM,WAAW,UAAU,SADtB,SAAS,CAEf,KAAK,qBAAqB,aAAa,EAAE,MAAM,CAAC,CACtD;CACD,MAAM,SAAS,MAAM;CAErB,MAAM,YAAY;AAElB,KAAI,UACF,QACE,oBAAC,OAAD;EACa;EACX,OAAM;EACN,SAAQ;EACR,OAAO,EAAE,uCAAuC,EAC9C,cAAc,qCACf,CAAC;EACF,CAAA;AAIN,KAAI,MACF,QACE,oBAAC,OAAD;EACa;EACX,OAAM;EACN,SAAQ;EACR,OAAO,EAAE,kCAAkC,EACzC,cAAc,2DACf,CAAC;EACF,CAAA;AAIN,KAAI,WAAW,QACb,QACE,oBAAC,OAAD;EACa;EACX,OAAM;EACN,SAAQ;EACR,OAAO,EAAE,kCAAkC,EACzC,cAAc,8CACf,CAAC;EACF,CAAA;AAIN,KAAI,QAAQ;EACV,IAAI,UAAU,EAAE,oCAAoC,EAClD,cAAc,4BACf,CAAC;AAEF,MAAI,WAAW,UACb,WAAU,EAAE,oCAAoC,EAC9C,cAAc,gCACf,CAAC;WACO,WAAW,YACpB,WAAU,EAAE,qCAAqC,EAC/C,cAAc,8BACf,CAAC;AAGJ,SAAO,oBAAC,OAAD;GAAkB;GAAW,OAAM;GAAS,SAAQ;GAAQ,OAAO;GAAW,CAAA;;AAGvF,QAAO"}
@@ -1,8 +1,17 @@
1
- import type { ReactNode } from "react";
1
+ import { ReactNode } from "react";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/modules/billing/components/BillingBetaPage.d.ts
2
5
  interface BillingBetaPageProps {
3
- appName: string;
4
- className?: string;
5
- footer?: ReactNode;
6
+ appName: string;
7
+ className?: string;
8
+ footer?: ReactNode;
6
9
  }
7
- export declare function BillingBetaPage({ appName, className, footer }: BillingBetaPageProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
10
+ declare function BillingBetaPage({
11
+ appName,
12
+ className,
13
+ footer
14
+ }: BillingBetaPageProps): _$react_jsx_runtime0.JSX.Element;
15
+ //#endregion
16
+ export { BillingBetaPage };
17
+ //# sourceMappingURL=BillingBetaPage.d.ts.map
@@ -1,11 +1,158 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../../../components/ui/card.js";
3
+ import { Separator } from "../../../components/ui/separator.js";
4
+ import { Badge } from "../../../components/ui/badge.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
2
6
  import { Bell, CheckCircle2, Clock3, Sparkles } from "lucide-react";
3
7
  import { useTranslation } from "react-i18next";
4
- import { Badge } from "../../../components/ui/badge";
5
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../../../components/ui/card";
6
- import { Separator } from "../../../components/ui/separator";
7
- import { cn } from "../../../lib/utils";
8
- export function BillingBetaPage({ appName, className, footer }) {
9
- const { t } = useTranslation("web-ui");
10
- return (_jsxs("div", { className: cn("mx-auto max-w-5xl px-4 py-12 md:py-16", className), children: [_jsxs("div", { className: "flex flex-col items-center text-center gap-4", children: [_jsx(Badge, { variant: "secondary", className: "uppercase tracking-wide", children: t("billing.beta.badge") }), _jsxs("div", { className: "space-y-3", children: [_jsx("h1", { className: "text-3xl md:text-4xl font-semibold tracking-tight", children: t("billing.title") }), _jsx("p", { className: "text-muted-foreground max-w-2xl", children: t("billing.subtitle", { appName }) })] })] }), _jsx(Separator, { className: "my-8" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-6", children: [_jsxs(Card, { children: [_jsxs(CardHeader, { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2 text-green-600 dark:text-green-500", children: [_jsx(Sparkles, { className: "h-5 w-5 shrink-0" }), _jsx(CardTitle, { children: t("billing.card.free.title") })] }), _jsx(CardDescription, { children: t("billing.card.free.description") })] }), _jsxs(CardContent, { children: [_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("span", { className: "text-4xl font-bold tracking-tight", children: t("billing.card.free.price") }), _jsx("span", { className: "text-muted-foreground", children: t("billing.card.free.priceSuffix") })] }), _jsxs("ul", { className: "mt-4 space-y-2 text-sm", children: [_jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }), " ", t("billing.card.free.feature.fullAccess")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }), " ", t("billing.card.free.feature.noCard")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }), " ", t("billing.card.free.feature.riskFree")] })] })] })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2 text-blue-600 dark:text-blue-500", children: [_jsx(Clock3, { className: "h-5 w-5 shrink-0" }), _jsx(CardTitle, { children: t("billing.card.progress.title") })] }), _jsx(CardDescription, { children: t("billing.card.progress.description") })] }), _jsx(CardContent, { children: _jsxs("ul", { className: "space-y-2 text-sm", children: [_jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }), " ", t("billing.card.progress.feature.transparentPlans")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }), " ", t("billing.card.progress.feature.fairValue")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }), " ", t("billing.card.progress.feature.simpleBilling")] })] }) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2 text-amber-600 dark:text-amber-500", children: [_jsx(Bell, { className: "h-5 w-5 shrink-0" }), _jsx(CardTitle, { children: t("billing.card.notice.title") })] }), _jsx(CardDescription, { children: t("billing.card.notice.description") })] }), _jsx(CardContent, { children: _jsxs("ul", { className: "space-y-2 text-sm", children: [_jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }), " ", t("billing.card.notice.feature.timeToDecide")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }), " ", t("billing.card.notice.feature.safeData")] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }), " ", t("billing.card.notice.feature.autoFreeTier")] })] }) })] })] }), footer] }));
8
+ //#region src/modules/billing/components/BillingBetaPage.tsx
9
+ function BillingBetaPage({ appName, className, footer }) {
10
+ const { t } = useTranslation("web-ui");
11
+ return /* @__PURE__ */ jsxs("div", {
12
+ className: cn("mx-auto max-w-5xl px-4 py-12 md:py-16", className),
13
+ children: [
14
+ /* @__PURE__ */ jsxs("div", {
15
+ className: "flex flex-col items-center text-center gap-4",
16
+ children: [/* @__PURE__ */ jsx(Badge, {
17
+ variant: "secondary",
18
+ className: "uppercase tracking-wide",
19
+ children: t("billing.beta.badge")
20
+ }), /* @__PURE__ */ jsxs("div", {
21
+ className: "space-y-3",
22
+ children: [/* @__PURE__ */ jsx("h1", {
23
+ className: "text-3xl md:text-4xl font-semibold tracking-tight",
24
+ children: t("billing.title")
25
+ }), /* @__PURE__ */ jsx("p", {
26
+ className: "text-muted-foreground max-w-2xl",
27
+ children: t("billing.subtitle", { appName })
28
+ })]
29
+ })]
30
+ }),
31
+ /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
32
+ /* @__PURE__ */ jsxs("div", {
33
+ className: "grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-6",
34
+ children: [
35
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
36
+ className: "space-y-2",
37
+ children: [/* @__PURE__ */ jsxs("div", {
38
+ className: "flex items-center gap-2 text-green-600 dark:text-green-500",
39
+ children: [/* @__PURE__ */ jsx(Sparkles, { className: "h-5 w-5 shrink-0" }), /* @__PURE__ */ jsx(CardTitle, { children: t("billing.card.free.title") })]
40
+ }), /* @__PURE__ */ jsx(CardDescription, { children: t("billing.card.free.description") })]
41
+ }), /* @__PURE__ */ jsxs(CardContent, { children: [/* @__PURE__ */ jsxs("div", {
42
+ className: "flex items-baseline gap-2",
43
+ children: [/* @__PURE__ */ jsx("span", {
44
+ className: "text-4xl font-bold tracking-tight",
45
+ children: t("billing.card.free.price")
46
+ }), /* @__PURE__ */ jsx("span", {
47
+ className: "text-muted-foreground",
48
+ children: t("billing.card.free.priceSuffix")
49
+ })]
50
+ }), /* @__PURE__ */ jsxs("ul", {
51
+ className: "mt-4 space-y-2 text-sm",
52
+ children: [
53
+ /* @__PURE__ */ jsxs("li", {
54
+ className: "flex items-center gap-2",
55
+ children: [
56
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }),
57
+ " ",
58
+ t("billing.card.free.feature.fullAccess")
59
+ ]
60
+ }),
61
+ /* @__PURE__ */ jsxs("li", {
62
+ className: "flex items-center gap-2",
63
+ children: [
64
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }),
65
+ " ",
66
+ t("billing.card.free.feature.noCard")
67
+ ]
68
+ }),
69
+ /* @__PURE__ */ jsxs("li", {
70
+ className: "flex items-center gap-2",
71
+ children: [
72
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-green-600" }),
73
+ " ",
74
+ t("billing.card.free.feature.riskFree")
75
+ ]
76
+ })
77
+ ]
78
+ })] })] }),
79
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
80
+ className: "space-y-2",
81
+ children: [/* @__PURE__ */ jsxs("div", {
82
+ className: "flex items-center gap-2 text-blue-600 dark:text-blue-500",
83
+ children: [/* @__PURE__ */ jsx(Clock3, { className: "h-5 w-5 shrink-0" }), /* @__PURE__ */ jsx(CardTitle, { children: t("billing.card.progress.title") })]
84
+ }), /* @__PURE__ */ jsx(CardDescription, { children: t("billing.card.progress.description") })]
85
+ }), /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs("ul", {
86
+ className: "space-y-2 text-sm",
87
+ children: [
88
+ /* @__PURE__ */ jsxs("li", {
89
+ className: "flex items-center gap-2",
90
+ children: [
91
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }),
92
+ " ",
93
+ t("billing.card.progress.feature.transparentPlans")
94
+ ]
95
+ }),
96
+ /* @__PURE__ */ jsxs("li", {
97
+ className: "flex items-center gap-2",
98
+ children: [
99
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }),
100
+ " ",
101
+ t("billing.card.progress.feature.fairValue")
102
+ ]
103
+ }),
104
+ /* @__PURE__ */ jsxs("li", {
105
+ className: "flex items-center gap-2",
106
+ children: [
107
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-blue-600" }),
108
+ " ",
109
+ t("billing.card.progress.feature.simpleBilling")
110
+ ]
111
+ })
112
+ ]
113
+ }) })] }),
114
+ /* @__PURE__ */ jsxs(Card, { children: [/* @__PURE__ */ jsxs(CardHeader, {
115
+ className: "space-y-2",
116
+ children: [/* @__PURE__ */ jsxs("div", {
117
+ className: "flex items-center gap-2 text-amber-600 dark:text-amber-500",
118
+ children: [/* @__PURE__ */ jsx(Bell, { className: "h-5 w-5 shrink-0" }), /* @__PURE__ */ jsx(CardTitle, { children: t("billing.card.notice.title") })]
119
+ }), /* @__PURE__ */ jsx(CardDescription, { children: t("billing.card.notice.description") })]
120
+ }), /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs("ul", {
121
+ className: "space-y-2 text-sm",
122
+ children: [
123
+ /* @__PURE__ */ jsxs("li", {
124
+ className: "flex items-center gap-2",
125
+ children: [
126
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }),
127
+ " ",
128
+ t("billing.card.notice.feature.timeToDecide")
129
+ ]
130
+ }),
131
+ /* @__PURE__ */ jsxs("li", {
132
+ className: "flex items-center gap-2",
133
+ children: [
134
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }),
135
+ " ",
136
+ t("billing.card.notice.feature.safeData")
137
+ ]
138
+ }),
139
+ /* @__PURE__ */ jsxs("li", {
140
+ className: "flex items-center gap-2",
141
+ children: [
142
+ /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-amber-600" }),
143
+ " ",
144
+ t("billing.card.notice.feature.autoFreeTier")
145
+ ]
146
+ })
147
+ ]
148
+ }) })] })
149
+ ]
150
+ }),
151
+ footer
152
+ ]
153
+ });
11
154
  }
155
+ //#endregion
156
+ export { BillingBetaPage };
157
+
158
+ //# sourceMappingURL=BillingBetaPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BillingBetaPage.js","names":[],"sources":["../../../../../src/modules/billing/components/BillingBetaPage.tsx"],"sourcesContent":["import { Bell, CheckCircle2, Clock3, Sparkles } from \"lucide-react\";\r\nimport type { ReactNode } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Badge } from \"../../../components/ui/badge\";\r\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"../../../components/ui/card\";\r\nimport { Separator } from \"../../../components/ui/separator\";\r\nimport { cn } from \"../../../lib/utils\";\r\n\r\ninterface BillingBetaPageProps {\r\n appName: string;\r\n className?: string;\r\n footer?: ReactNode;\r\n}\r\n\r\nexport function BillingBetaPage({ appName, className, footer }: BillingBetaPageProps) {\r\n const { t } = useTranslation(\"web-ui\");\r\n return (\r\n <div className={cn(\"mx-auto max-w-5xl px-4 py-12 md:py-16\", className)}>\r\n {/* Heading */}\r\n <div className=\"flex flex-col items-center text-center gap-4\">\r\n <Badge variant=\"secondary\" className=\"uppercase tracking-wide\">\r\n {t(\"billing.beta.badge\")}\r\n </Badge>\r\n <div className=\"space-y-3\">\r\n <h1 className=\"text-3xl md:text-4xl font-semibold tracking-tight\">\r\n {t(\"billing.title\")}\r\n </h1>\r\n <p className=\"text-muted-foreground max-w-2xl\">{t(\"billing.subtitle\", { appName })}</p>\r\n </div>\r\n </div>\r\n\r\n <Separator className=\"my-8\" />\r\n\r\n {/* Info Cards */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-6\">\r\n <Card>\r\n <CardHeader className=\"space-y-2\">\r\n <div className=\"flex items-center gap-2 text-green-600 dark:text-green-500\">\r\n <Sparkles className=\"h-5 w-5 shrink-0\" />\r\n <CardTitle>{t(\"billing.card.free.title\")}</CardTitle>\r\n </div>\r\n <CardDescription>{t(\"billing.card.free.description\")}</CardDescription>\r\n </CardHeader>\r\n <CardContent>\r\n <div className=\"flex items-baseline gap-2\">\r\n <span className=\"text-4xl font-bold tracking-tight\">\r\n {t(\"billing.card.free.price\")}\r\n </span>\r\n <span className=\"text-muted-foreground\">{t(\"billing.card.free.priceSuffix\")}</span>\r\n </div>\r\n <ul className=\"mt-4 space-y-2 text-sm\">\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-green-600\" />{\" \"}\r\n {t(\"billing.card.free.feature.fullAccess\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-green-600\" />{\" \"}\r\n {t(\"billing.card.free.feature.noCard\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-green-600\" />{\" \"}\r\n {t(\"billing.card.free.feature.riskFree\")}\r\n </li>\r\n </ul>\r\n </CardContent>\r\n </Card>\r\n\r\n <Card>\r\n <CardHeader className=\"space-y-2\">\r\n <div className=\"flex items-center gap-2 text-blue-600 dark:text-blue-500\">\r\n <Clock3 className=\"h-5 w-5 shrink-0\" />\r\n <CardTitle>{t(\"billing.card.progress.title\")}</CardTitle>\r\n </div>\r\n <CardDescription>{t(\"billing.card.progress.description\")}</CardDescription>\r\n </CardHeader>\r\n <CardContent>\r\n <ul className=\"space-y-2 text-sm\">\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-blue-600\" />{\" \"}\r\n {t(\"billing.card.progress.feature.transparentPlans\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-blue-600\" />{\" \"}\r\n {t(\"billing.card.progress.feature.fairValue\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-blue-600\" />{\" \"}\r\n {t(\"billing.card.progress.feature.simpleBilling\")}\r\n </li>\r\n </ul>\r\n </CardContent>\r\n </Card>\r\n\r\n <Card>\r\n <CardHeader className=\"space-y-2\">\r\n <div className=\"flex items-center gap-2 text-amber-600 dark:text-amber-500\">\r\n <Bell className=\"h-5 w-5 shrink-0\" />\r\n <CardTitle>{t(\"billing.card.notice.title\")}</CardTitle>\r\n </div>\r\n <CardDescription>{t(\"billing.card.notice.description\")}</CardDescription>\r\n </CardHeader>\r\n <CardContent>\r\n <ul className=\"space-y-2 text-sm\">\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-amber-600\" />{\" \"}\r\n {t(\"billing.card.notice.feature.timeToDecide\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-amber-600\" />{\" \"}\r\n {t(\"billing.card.notice.feature.safeData\")}\r\n </li>\r\n <li className=\"flex items-center gap-2\">\r\n <CheckCircle2 className=\"h-4 w-4 shrink-0 text-amber-600\" />{\" \"}\r\n {t(\"billing.card.notice.feature.autoFreeTier\")}\r\n </li>\r\n </ul>\r\n </CardContent>\r\n </Card>\r\n </div>\r\n\r\n {footer}\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;;;AAcA,SAAgB,gBAAgB,EAAE,SAAS,WAAW,UAAgC;CACpF,MAAM,EAAE,MAAM,eAAe,SAAS;AACtC,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,yCAAyC,UAAU;YAAtE;GAEE,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,OAAD;KAAO,SAAQ;KAAY,WAAU;eAClC,EAAE,qBAAqB;KAClB,CAAA,EACR,qBAAC,OAAD;KAAK,WAAU;eAAf,CACE,oBAAC,MAAD;MAAI,WAAU;gBACX,EAAE,gBAAgB;MAChB,CAAA,EACL,oBAAC,KAAD;MAAG,WAAU;gBAAmC,EAAE,oBAAoB,EAAE,SAAS,CAAC;MAAK,CAAA,CACnF;OACF;;GAEN,oBAAC,WAAD,EAAW,WAAU,QAAS,CAAA;GAG9B,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;MAAY,WAAU;gBAAtB,CACE,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,UAAD,EAAU,WAAU,oBAAqB,CAAA,EACzC,oBAAC,WAAD,EAAA,UAAY,EAAE,0BAA0B,EAAa,CAAA,CACjD;UACN,oBAAC,iBAAD,EAAA,UAAkB,EAAE,gCAAgC,EAAmB,CAAA,CAC5D;SACb,qBAAC,aAAD,EAAA,UAAA,CACE,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,oBAAC,QAAD;OAAM,WAAU;iBACb,EAAE,0BAA0B;OACxB,CAAA,EACP,oBAAC,QAAD;OAAM,WAAU;iBAAyB,EAAE,gCAAgC;OAAQ,CAAA,CAC/E;SACN,qBAAC,MAAD;MAAI,WAAU;gBAAd;OACE,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,uCAAuC;SACvC;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,mCAAmC;SACnC;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,qCAAqC;SACrC;;OACF;QACO,EAAA,CAAA,CACT,EAAA,CAAA;KAEP,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;MAAY,WAAU;gBAAtB,CACE,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,QAAD,EAAQ,WAAU,oBAAqB,CAAA,EACvC,oBAAC,WAAD,EAAA,UAAY,EAAE,8BAA8B,EAAa,CAAA,CACrD;UACN,oBAAC,iBAAD,EAAA,UAAkB,EAAE,oCAAoC,EAAmB,CAAA,CAChE;SACb,oBAAC,aAAD,EAAA,UACE,qBAAC,MAAD;MAAI,WAAU;gBAAd;OACE,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,kCAAmC,CAAA;SAAC;SAC3D,EAAE,iDAAiD;SACjD;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,kCAAmC,CAAA;SAAC;SAC3D,EAAE,0CAA0C;SAC1C;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,kCAAmC,CAAA;SAAC;SAC3D,EAAE,8CAA8C;SAC9C;;OACF;SACO,CAAA,CACT,EAAA,CAAA;KAEP,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,YAAD;MAAY,WAAU;gBAAtB,CACE,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,MAAD,EAAM,WAAU,oBAAqB,CAAA,EACrC,oBAAC,WAAD,EAAA,UAAY,EAAE,4BAA4B,EAAa,CAAA,CACnD;UACN,oBAAC,iBAAD,EAAA,UAAkB,EAAE,kCAAkC,EAAmB,CAAA,CAC9D;SACb,oBAAC,aAAD,EAAA,UACE,qBAAC,MAAD;MAAI,WAAU;gBAAd;OACE,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,2CAA2C;SAC3C;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,uCAAuC;SACvC;;OACL,qBAAC,MAAD;QAAI,WAAU;kBAAd;SACE,oBAAC,cAAD,EAAc,WAAU,mCAAoC,CAAA;SAAC;SAC5D,EAAE,2CAA2C;SAC3C;;OACF;SACO,CAAA,CACT,EAAA,CAAA;KACH;;GAEL;GACG"}
@@ -1,7 +1,15 @@
1
- import type { UseBackendTRPC } from "../../../types";
1
+ import { UseBackendTRPC } from "../../../types.js";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/modules/billing/components/BillingInvoicePage.d.ts
2
5
  interface BillingInvoicePageProps {
3
- useTRPC: UseBackendTRPC;
4
- serverUrl: string;
6
+ useTRPC: UseBackendTRPC;
7
+ serverUrl: string;
5
8
  }
6
- export declare function BillingInvoicePage({ useTRPC, serverUrl }: BillingInvoicePageProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
9
+ declare function BillingInvoicePage({
10
+ useTRPC,
11
+ serverUrl
12
+ }: BillingInvoicePageProps): _$react_jsx_runtime0.JSX.Element;
13
+ //#endregion
14
+ export { BillingInvoicePage };
15
+ //# sourceMappingURL=BillingInvoicePage.d.ts.map