@m5kdev/web-ui 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/src/animations/card.motion.d.ts +2 -0
  2. package/dist/src/animations/card.motion.js +7 -0
  3. package/dist/src/components/AvatarUpload.d.ts +7 -0
  4. package/dist/src/components/AvatarUpload.js +67 -0
  5. package/dist/src/components/Button.d.ts +5 -0
  6. package/dist/src/components/Button.js +5 -0
  7. package/dist/src/components/Calendar.d.ts +35 -0
  8. package/dist/src/components/Calendar.js +10 -0
  9. package/dist/src/components/CardsSelect.d.ts +23 -0
  10. package/dist/src/components/CardsSelect.js +46 -0
  11. package/dist/src/components/CollapsibleSidebarMenuItem.d.ts +9 -0
  12. package/dist/src/components/CollapsibleSidebarMenuItem.js +11 -0
  13. package/dist/src/components/ColorPicker.d.ts +4 -0
  14. package/dist/src/components/ColorPicker.js +21 -0
  15. package/dist/src/components/CopyButton.d.ts +6 -0
  16. package/dist/src/components/CopyButton.js +24 -0
  17. package/dist/src/components/CropDialog.d.ts +10 -0
  18. package/dist/src/components/CropDialog.js +67 -0
  19. package/dist/src/components/DialogProvider.d.ts +15 -0
  20. package/dist/src/components/DialogProvider.js +50 -0
  21. package/dist/src/components/ErrorFallback.d.ts +4 -0
  22. package/dist/src/components/ErrorFallback.js +5 -0
  23. package/dist/src/components/FileDropzone.d.ts +6 -0
  24. package/dist/src/components/FileDropzone.js +63 -0
  25. package/dist/src/components/MultiSelectDropdown.d.ts +26 -0
  26. package/dist/src/components/MultiSelectDropdown.js +53 -0
  27. package/dist/src/components/Orb.d.ts +6 -0
  28. package/{src/components/Orb.tsx → dist/src/components/Orb.js} +107 -136
  29. package/dist/src/components/PageAlert.d.ts +18 -0
  30. package/dist/src/components/PageAlert.js +48 -0
  31. package/dist/src/components/SelectChips.d.ts +10 -0
  32. package/dist/src/components/SelectChips.js +11 -0
  33. package/dist/src/components/SidebarItem.d.ts +7 -0
  34. package/dist/src/components/SidebarItem.js +6 -0
  35. package/dist/src/components/Steps.d.ts +19 -0
  36. package/dist/src/components/Steps.js +34 -0
  37. package/dist/src/components/TablerIconPicker.d.ts +2 -0
  38. package/dist/src/components/TablerIconPicker.js +4238 -0
  39. package/dist/src/components/app-header.d.ts +6 -0
  40. package/dist/src/components/app-header.js +8 -0
  41. package/dist/src/components/blur-card.d.ts +13 -0
  42. package/dist/src/components/blur-card.js +34 -0
  43. package/dist/src/components/features-section-demo-1.d.ts +6 -0
  44. package/dist/src/components/features-section-demo-1.js +53 -0
  45. package/dist/src/components/features-section-demo-2.d.ts +1 -0
  46. package/dist/src/components/features-section-demo-2.js +51 -0
  47. package/dist/src/components/features-section-demo-3.d.ts +8 -0
  48. package/dist/src/components/features-section-demo-3.js +116 -0
  49. package/dist/src/components/mode-toggle.d.ts +1 -0
  50. package/dist/src/components/mode-toggle.js +9 -0
  51. package/dist/src/components/nav-main.d.ts +13 -0
  52. package/dist/src/components/nav-main.js +9 -0
  53. package/dist/src/components/pricing-cards.d.ts +1 -0
  54. package/dist/src/components/pricing-cards.js +27 -0
  55. package/dist/src/components/shared/ButtonCopy.d.ts +6 -0
  56. package/dist/src/components/shared/ButtonCopy.js +24 -0
  57. package/dist/src/components/team-switcher.d.ts +8 -0
  58. package/dist/src/components/team-switcher.js +10 -0
  59. package/dist/src/components/theme-provider.d.ts +13 -0
  60. package/dist/src/components/theme-provider.js +41 -0
  61. package/dist/src/components/typewriter.d.ts +18 -0
  62. package/dist/src/components/typewriter.js +38 -0
  63. package/dist/src/components/ui/alert-dialog.d.ts +14 -0
  64. package/dist/src/components/ui/alert-dialog.js +38 -0
  65. package/dist/src/components/ui/alert.d.ts +9 -0
  66. package/dist/src/components/ui/alert.js +24 -0
  67. package/dist/src/components/ui/avatar.d.ts +6 -0
  68. package/dist/src/components/ui/avatar.js +12 -0
  69. package/dist/src/components/ui/badge.d.ts +9 -0
  70. package/dist/src/components/ui/badge.js +20 -0
  71. package/dist/src/components/ui/bento-grid.d.ts +11 -0
  72. package/dist/src/components/ui/bento-grid.js +8 -0
  73. package/dist/src/components/ui/bento-grid2.d.ts +15 -0
  74. package/dist/src/components/ui/bento-grid2.js +13 -0
  75. package/dist/src/components/ui/breadcrumb.d.ts +19 -0
  76. package/dist/src/components/ui/breadcrumb.js +23 -0
  77. package/dist/src/components/ui/button.d.ts +11 -0
  78. package/dist/src/components/ui/button.js +33 -0
  79. package/dist/src/components/ui/card.d.ts +8 -0
  80. package/dist/src/components/ui/card.js +16 -0
  81. package/dist/src/components/ui/checkbox.d.ts +4 -0
  82. package/dist/src/components/ui/checkbox.js +8 -0
  83. package/dist/src/components/ui/collapsible.d.ts +5 -0
  84. package/{src/components/ui/collapsible.tsx → dist/src/components/ui/collapsible.js} +5 -9
  85. package/dist/src/components/ui/dialog.d.ts +13 -0
  86. package/dist/src/components/ui/dialog.js +35 -0
  87. package/dist/src/components/ui/dropdown-menu.d.ts +27 -0
  88. package/dist/src/components/ui/dropdown-menu.js +32 -0
  89. package/dist/src/components/ui/floating-navbar.d.ts +9 -0
  90. package/dist/src/components/ui/floating-navbar.js +38 -0
  91. package/dist/src/components/ui/form.d.ts +23 -0
  92. package/dist/src/components/ui/form.js +60 -0
  93. package/dist/src/components/ui/image.d.ts +6 -0
  94. package/dist/src/components/ui/image.js +15 -0
  95. package/dist/src/components/ui/input.d.ts +3 -0
  96. package/dist/src/components/ui/input.js +8 -0
  97. package/dist/src/components/ui/label.d.ts +5 -0
  98. package/dist/src/components/ui/label.js +9 -0
  99. package/dist/src/components/ui/pagination.d.ts +13 -0
  100. package/dist/src/components/ui/pagination.js +29 -0
  101. package/dist/src/components/ui/progress.d.ts +4 -0
  102. package/dist/src/components/ui/progress.js +7 -0
  103. package/dist/src/components/ui/resizable-navbar.d.ts +56 -0
  104. package/dist/src/components/ui/resizable-navbar.js +86 -0
  105. package/dist/src/components/ui/segment-control.d.ts +9 -0
  106. package/dist/src/components/ui/segment-control.js +42 -0
  107. package/dist/src/components/ui/select.d.ts +13 -0
  108. package/dist/src/components/ui/select.js +26 -0
  109. package/dist/src/components/ui/separator.d.ts +4 -0
  110. package/dist/src/components/ui/separator.js +7 -0
  111. package/dist/src/components/ui/sheet.d.ts +25 -0
  112. package/dist/src/components/ui/sheet.js +37 -0
  113. package/dist/src/components/ui/sidebar.d.ts +66 -0
  114. package/dist/src/components/ui/sidebar.js +222 -0
  115. package/dist/src/components/ui/skeleton.d.ts +2 -0
  116. package/dist/src/components/ui/skeleton.js +6 -0
  117. package/dist/src/components/ui/slider.d.ts +4 -0
  118. package/dist/src/components/ui/slider.js +7 -0
  119. package/dist/src/components/ui/sonner.d.ts +4 -0
  120. package/dist/src/components/ui/sonner.js +15 -0
  121. package/dist/src/components/ui/spinner.d.ts +14 -0
  122. package/dist/src/components/ui/spinner.js +30 -0
  123. package/dist/src/components/ui/switch.d.ts +4 -0
  124. package/dist/src/components/ui/switch.js +7 -0
  125. package/dist/src/components/ui/table.d.ts +10 -0
  126. package/dist/src/components/ui/table.js +27 -0
  127. package/dist/src/components/ui/tabs.d.ts +7 -0
  128. package/dist/src/components/ui/tabs.js +16 -0
  129. package/dist/src/components/ui/textarea.d.ts +3 -0
  130. package/dist/src/components/ui/textarea.js +6 -0
  131. package/dist/src/components/ui/timeline.d.ts +11 -0
  132. package/dist/src/components/ui/timeline.js +27 -0
  133. package/dist/src/components/ui/toast.d.ts +15 -0
  134. package/dist/src/components/ui/toast.js +33 -0
  135. package/dist/src/components/ui/tooltip.d.ts +7 -0
  136. package/dist/src/components/ui/tooltip.js +16 -0
  137. package/dist/src/components/ui/typewriter-effect.d.ts +16 -0
  138. package/dist/src/components/ui/typewriter-effect.js +76 -0
  139. package/dist/src/hooks/use-mobile.d.ts +1 -0
  140. package/dist/src/hooks/use-mobile.js +15 -0
  141. package/dist/src/hooks/useDialog.d.ts +4 -0
  142. package/dist/src/hooks/useDialog.js +22 -0
  143. package/dist/src/icons/GoogleIcon.d.ts +5 -0
  144. package/dist/src/icons/GoogleIcon.js +4 -0
  145. package/dist/src/icons/LinkedInIcon.d.ts +5 -0
  146. package/dist/src/icons/LinkedInIcon.js +4 -0
  147. package/dist/src/icons/MicrosoftIcon.d.ts +5 -0
  148. package/dist/src/icons/MicrosoftIcon.js +4 -0
  149. package/dist/src/lib/chatwoot.d.ts +11 -0
  150. package/dist/src/lib/chatwoot.js +28 -0
  151. package/dist/src/lib/utils.d.ts +2 -0
  152. package/dist/src/lib/utils.js +5 -0
  153. package/dist/src/modules/app/components/AppLoader.d.ts +2 -0
  154. package/dist/src/modules/app/components/AppLoader.js +5 -0
  155. package/dist/src/modules/app/components/AppShell.d.ts +7 -0
  156. package/dist/src/modules/app/components/AppShell.js +7 -0
  157. package/dist/src/modules/app/components/AppSidebar.d.ts +7 -0
  158. package/dist/src/modules/app/components/AppSidebar.js +5 -0
  159. package/dist/src/modules/app/components/AppSidebarContent.d.ts +16 -0
  160. package/dist/src/modules/app/components/AppSidebarContent.js +7 -0
  161. package/dist/src/modules/app/components/AppSidebarHeader.d.ts +8 -0
  162. package/dist/src/modules/app/components/AppSidebarHeader.js +10 -0
  163. package/dist/src/modules/app/components/AppSidebarInvites.d.ts +3 -0
  164. package/dist/src/modules/app/components/AppSidebarInvites.js +12 -0
  165. package/dist/src/modules/app/components/AppSidebarUser.d.ts +11 -0
  166. package/dist/src/modules/app/components/AppSidebarUser.js +16 -0
  167. package/dist/src/modules/auth/components/AdminUserManagement.d.ts +6 -0
  168. package/dist/src/modules/auth/components/AdminUserManagement.js +422 -0
  169. package/dist/src/modules/auth/components/AdminWaitlist.d.ts +6 -0
  170. package/dist/src/modules/auth/components/AdminWaitlist.js +118 -0
  171. package/dist/src/modules/auth/components/AuthLayout.d.ts +4 -0
  172. package/dist/src/modules/auth/components/AuthLayout.js +5 -0
  173. package/dist/src/modules/auth/components/AuthProviders.d.ts +6 -0
  174. package/dist/src/modules/auth/components/AuthProviders.js +45 -0
  175. package/dist/src/modules/auth/components/AuthRouter.d.ts +9 -0
  176. package/dist/src/modules/auth/components/AuthRouter.js +12 -0
  177. package/dist/src/modules/auth/components/ClaimAccountRoute.d.ts +4 -0
  178. package/dist/src/modules/auth/components/ClaimAccountRoute.js +143 -0
  179. package/dist/src/modules/auth/components/ErrorAuthRoute.d.ts +1 -0
  180. package/dist/src/modules/auth/components/ErrorAuthRoute.js +93 -0
  181. package/dist/src/modules/auth/components/ForgotPasswordForm.d.ts +1 -0
  182. package/dist/src/modules/auth/components/ForgotPasswordForm.js +27 -0
  183. package/dist/src/modules/auth/components/ForgotPasswordRoute.d.ts +1 -0
  184. package/dist/src/modules/auth/components/ForgotPasswordRoute.js +9 -0
  185. package/dist/src/modules/auth/components/InviteFriends.d.ts +5 -0
  186. package/dist/src/modules/auth/components/InviteFriends.js +74 -0
  187. package/dist/src/modules/auth/components/LastUsedBadge.d.ts +5 -0
  188. package/dist/src/modules/auth/components/LastUsedBadge.js +9 -0
  189. package/dist/src/modules/auth/components/LoginForm.d.ts +3 -0
  190. package/dist/src/modules/auth/components/LoginForm.js +44 -0
  191. package/dist/src/modules/auth/components/LoginRoute.d.ts +3 -0
  192. package/dist/src/modules/auth/components/LoginRoute.js +11 -0
  193. package/dist/src/modules/auth/components/LogoutRoute.d.ts +1 -0
  194. package/dist/src/modules/auth/components/LogoutRoute.js +15 -0
  195. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.d.ts +9 -0
  196. package/dist/src/modules/auth/components/OrganizationAcceptInvitationRoute.js +102 -0
  197. package/dist/src/modules/auth/components/OrganizationMembersRoute.d.ts +51 -0
  198. package/dist/src/modules/auth/components/OrganizationMembersRoute.js +359 -0
  199. package/dist/src/modules/auth/components/OrganizationSettingsRoute.d.ts +20 -0
  200. package/dist/src/modules/auth/components/OrganizationSettingsRoute.js +153 -0
  201. package/dist/src/modules/auth/components/OrganizationSwitcher.d.ts +7 -0
  202. package/dist/src/modules/auth/components/OrganizationSwitcher.js +74 -0
  203. package/dist/src/modules/auth/components/ProfileRoute.d.ts +1 -0
  204. package/dist/src/modules/auth/components/ProfileRoute.js +42 -0
  205. package/dist/src/modules/auth/components/RangeNuqsDatePicker.d.ts +31 -0
  206. package/dist/src/modules/auth/components/RangeNuqsDatePicker.js +236 -0
  207. package/dist/src/modules/auth/components/ResetPasswordForm.d.ts +1 -0
  208. package/dist/src/modules/auth/components/ResetPasswordForm.js +39 -0
  209. package/dist/src/modules/auth/components/ResetPasswordRoute.d.ts +1 -0
  210. package/dist/src/modules/auth/components/ResetPasswordRoute.js +9 -0
  211. package/dist/src/modules/auth/components/SignupFormRoute.d.ts +5 -0
  212. package/dist/src/modules/auth/components/SignupFormRoute.js +106 -0
  213. package/dist/src/modules/auth/components/SignupRoute.d.ts +7 -0
  214. package/dist/src/modules/auth/components/SignupRoute.js +16 -0
  215. package/dist/src/modules/auth/components/UserPreferences.d.ts +30 -0
  216. package/dist/src/modules/auth/components/UserPreferences.js +60 -0
  217. package/dist/src/modules/auth/components/WaitlistCard.d.ts +6 -0
  218. package/dist/src/modules/auth/components/WaitlistCard.js +32 -0
  219. package/dist/src/modules/auth/components/WaitlistCodeValidation.d.ts +7 -0
  220. package/dist/src/modules/auth/components/WaitlistCodeValidation.js +43 -0
  221. package/dist/src/modules/billing/components/BillingBetaPage.d.ts +8 -0
  222. package/dist/src/modules/billing/components/BillingBetaPage.js +11 -0
  223. package/dist/src/modules/billing/components/BillingInvoicePage.d.ts +7 -0
  224. package/dist/src/modules/billing/components/BillingInvoicePage.js +32 -0
  225. package/dist/src/modules/billing/components/BillingPlanSelect.d.ts +6 -0
  226. package/dist/src/modules/billing/components/BillingPlanSelect.js +8 -0
  227. package/dist/src/modules/billing/components/BillingRouter.d.ts +9 -0
  228. package/dist/src/modules/billing/components/BillingRouter.js +8 -0
  229. package/dist/src/modules/billing/components/BillingSinglePlanSelect.d.ts +8 -0
  230. package/dist/src/modules/billing/components/BillingSinglePlanSelect.js +46 -0
  231. package/dist/src/modules/table/components/ColumnOrderAndVisibility.d.ts +10 -0
  232. package/dist/src/modules/table/components/ColumnOrderAndVisibility.js +42 -0
  233. package/dist/src/modules/table/components/NuqsTable.d.ts +23 -0
  234. package/dist/src/modules/table/components/NuqsTable.js +198 -0
  235. package/dist/src/modules/table/components/TableFiltering.d.ts +23 -0
  236. package/dist/src/modules/table/components/TableFiltering.js +236 -0
  237. package/dist/src/modules/table/components/TablePagination.d.ts +9 -0
  238. package/dist/src/modules/table/components/TablePagination.js +21 -0
  239. package/{src/modules/table/components/table.types.ts → dist/src/modules/table/components/table.types.d.ts} +12 -11
  240. package/dist/src/modules/table/components/table.types.js +1 -0
  241. package/dist/src/modules/table/filterTransformers.d.ts +53 -0
  242. package/dist/src/modules/table/filterTransformers.js +276 -0
  243. package/{src/types.ts → dist/src/types.d.ts} +3 -4
  244. package/dist/src/types.js +1 -0
  245. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  246. package/package.json +8 -5
  247. package/.cursor/rules/web-ui.mdc +0 -126
  248. package/.turbo/turbo-build.log +0 -5
  249. package/.turbo/turbo-check-types.log +0 -5
  250. package/.turbo/turbo-lint$colon$fix.log +0 -381
  251. package/.turbo/turbo-lint.log +0 -361
  252. package/CHANGELOG.md +0 -19
  253. package/components.json +0 -21
  254. package/src/animations/card.motion.ts +0 -9
  255. package/src/components/AvatarUpload.tsx +0 -133
  256. package/src/components/Button.tsx +0 -14
  257. package/src/components/Calendar.css +0 -684
  258. package/src/components/Calendar.tsx +0 -32
  259. package/src/components/CardsSelect.tsx +0 -155
  260. package/src/components/CollapsibleSidebarMenuItem.tsx +0 -57
  261. package/src/components/ColorPicker.tsx +0 -56
  262. package/src/components/CopyButton.tsx +0 -45
  263. package/src/components/CropDialog.tsx +0 -154
  264. package/src/components/DialogProvider.tsx +0 -105
  265. package/src/components/ErrorFallback.tsx +0 -17
  266. package/src/components/FileDropzone.tsx +0 -120
  267. package/src/components/MultiSelectDropdown.tsx +0 -233
  268. package/src/components/PageAlert.tsx +0 -121
  269. package/src/components/SelectChips.tsx +0 -40
  270. package/src/components/SidebarItem.tsx +0 -26
  271. package/src/components/Steps.tsx +0 -340
  272. package/src/components/TablerIconPicker.tsx +0 -4260
  273. package/src/components/app-header.tsx +0 -40
  274. package/src/components/blur-card.tsx +0 -132
  275. package/src/components/features-section-demo-1.tsx +0 -127
  276. package/src/components/features-section-demo-2.tsx +0 -102
  277. package/src/components/features-section-demo-3.tsx +0 -272
  278. package/src/components/mode-toggle.tsx +0 -31
  279. package/src/components/nav-main.tsx +0 -69
  280. package/src/components/pricing-cards.tsx +0 -133
  281. package/src/components/shared/ButtonCopy.tsx +0 -50
  282. package/src/components/team-switcher.tsx +0 -83
  283. package/src/components/theme-provider.tsx +0 -74
  284. package/src/components/typewriter.tsx +0 -90
  285. package/src/components/ui/alert-dialog.tsx +0 -133
  286. package/src/components/ui/alert.tsx +0 -60
  287. package/src/components/ui/avatar.tsx +0 -47
  288. package/src/components/ui/badge.tsx +0 -33
  289. package/src/components/ui/bento-grid.tsx +0 -54
  290. package/src/components/ui/bento-grid2.tsx +0 -66
  291. package/src/components/ui/breadcrumb.tsx +0 -101
  292. package/src/components/ui/button.tsx +0 -50
  293. package/src/components/ui/card.tsx +0 -55
  294. package/src/components/ui/checkbox.tsx +0 -26
  295. package/src/components/ui/dialog.tsx +0 -119
  296. package/src/components/ui/dropdown-menu.tsx +0 -186
  297. package/src/components/ui/floating-navbar.tsx +0 -78
  298. package/src/components/ui/form.tsx +0 -167
  299. package/src/components/ui/image.tsx +0 -55
  300. package/src/components/ui/input.tsx +0 -22
  301. package/src/components/ui/label.tsx +0 -19
  302. package/src/components/ui/pagination.tsx +0 -105
  303. package/src/components/ui/progress.tsx +0 -23
  304. package/src/components/ui/resizable-navbar.tsx +0 -260
  305. package/src/components/ui/segment-control.tsx +0 -143
  306. package/src/components/ui/select.tsx +0 -153
  307. package/src/components/ui/separator.tsx +0 -24
  308. package/src/components/ui/sheet.tsx +0 -121
  309. package/src/components/ui/sidebar.tsx +0 -736
  310. package/src/components/ui/skeleton.tsx +0 -7
  311. package/src/components/ui/slider.tsx +0 -23
  312. package/src/components/ui/sonner.tsx +0 -27
  313. package/src/components/ui/spinner.tsx +0 -45
  314. package/src/components/ui/switch.tsx +0 -27
  315. package/src/components/ui/table.tsx +0 -90
  316. package/src/components/ui/tabs.tsx +0 -52
  317. package/src/components/ui/textarea.tsx +0 -18
  318. package/src/components/ui/timeline.tsx +0 -95
  319. package/src/components/ui/toast.tsx +0 -126
  320. package/src/components/ui/tooltip.tsx +0 -55
  321. package/src/components/ui/typewriter-effect.tsx +0 -181
  322. package/src/hooks/use-mobile.ts +0 -19
  323. package/src/hooks/useDialog.ts +0 -25
  324. package/src/icons/GoogleIcon.tsx +0 -32
  325. package/src/icons/LinkedInIcon.tsx +0 -30
  326. package/src/icons/MicrosoftIcon.tsx +0 -21
  327. package/src/lib/chatwoot.ts +0 -51
  328. package/src/lib/utils.ts +0 -6
  329. package/src/modules/app/components/AppLoader.tsx +0 -9
  330. package/src/modules/app/components/AppShell.tsx +0 -21
  331. package/src/modules/app/components/AppSidebar.tsx +0 -26
  332. package/src/modules/app/components/AppSidebarContent.tsx +0 -73
  333. package/src/modules/app/components/AppSidebarHeader.tsx +0 -57
  334. package/src/modules/app/components/AppSidebarInvites.tsx +0 -32
  335. package/src/modules/app/components/AppSidebarUser.tsx +0 -128
  336. package/src/modules/auth/components/AdminUserManagement.tsx +0 -1136
  337. package/src/modules/auth/components/AdminWaitlist.tsx +0 -358
  338. package/src/modules/auth/components/AuthLayout.tsx +0 -13
  339. package/src/modules/auth/components/AuthProviders.tsx +0 -105
  340. package/src/modules/auth/components/AuthRouter.tsx +0 -29
  341. package/src/modules/auth/components/ClaimAccountRoute.tsx +0 -242
  342. package/src/modules/auth/components/ErrorAuthRoute.tsx +0 -121
  343. package/src/modules/auth/components/ForgotPasswordForm.tsx +0 -58
  344. package/src/modules/auth/components/ForgotPasswordRoute.tsx +0 -27
  345. package/src/modules/auth/components/InviteFriends.tsx +0 -273
  346. package/src/modules/auth/components/LastUsedBadge.tsx +0 -22
  347. package/src/modules/auth/components/LoginForm.tsx +0 -104
  348. package/src/modules/auth/components/LoginRoute.tsx +0 -31
  349. package/src/modules/auth/components/LogoutRoute.tsx +0 -21
  350. package/src/modules/auth/components/OrganizationAcceptInvitationRoute.tsx +0 -161
  351. package/src/modules/auth/components/OrganizationMembersRoute.tsx +0 -730
  352. package/src/modules/auth/components/OrganizationSettingsRoute.tsx +0 -280
  353. package/src/modules/auth/components/OrganizationSwitcher.tsx +0 -148
  354. package/src/modules/auth/components/ProfileRoute.tsx +0 -104
  355. package/src/modules/auth/components/RangeNuqsDatePicker.tsx +0 -365
  356. package/src/modules/auth/components/ResetPasswordForm.tsx +0 -103
  357. package/src/modules/auth/components/ResetPasswordRoute.tsx +0 -27
  358. package/src/modules/auth/components/SignupFormRoute.tsx +0 -189
  359. package/src/modules/auth/components/SignupRoute.tsx +0 -53
  360. package/src/modules/auth/components/UserPreferences.tsx +0 -144
  361. package/src/modules/auth/components/WaitlistCard.tsx +0 -78
  362. package/src/modules/auth/components/WaitlistCodeValidation.tsx +0 -79
  363. package/src/modules/billing/components/BillingBetaPage.tsx +0 -124
  364. package/src/modules/billing/components/BillingInvoicePage.tsx +0 -180
  365. package/src/modules/billing/components/BillingPlanSelect.tsx +0 -14
  366. package/src/modules/billing/components/BillingRouter.tsx +0 -20
  367. package/src/modules/billing/components/BillingSinglePlanSelect.tsx +0 -172
  368. package/src/modules/table/components/ColumnOrderAndVisibility.tsx +0 -127
  369. package/src/modules/table/components/NuqsTable.tsx +0 -396
  370. package/src/modules/table/components/TableFiltering.tsx +0 -520
  371. package/src/modules/table/components/TablePagination.tsx +0 -59
  372. package/src/modules/table/filterTransformers.ts +0 -323
  373. package/src/vite-env.d.ts +0 -1
  374. package/translations/en/web-ui.json +0 -192
  375. package/tsconfig.json +0 -30
@@ -1,155 +0,0 @@
1
- import { Check, Edit } from "lucide-react";
2
- import * as React from "react";
3
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "#components/ui/card";
4
- import { cn } from "#utils";
5
-
6
- export interface CardSelectItem {
7
- id: string;
8
- title: string;
9
- description?: string;
10
- content?: React.ReactNode;
11
- disabled?: boolean;
12
- icon?: React.ReactNode;
13
- onEdit?: (id: string) => void;
14
- }
15
-
16
- export interface CardsSelectProps {
17
- items: CardSelectItem[];
18
- selectedIds: string[];
19
- onSelectionChange: (selectedIds: string[]) => void;
20
- maxSelections?: number;
21
- className?: string;
22
- cardClassName?: string;
23
- showCheckbox?: boolean;
24
- disabled?: boolean;
25
- reversed?: boolean;
26
- }
27
-
28
- const CardsSelect = React.forwardRef<HTMLDivElement, CardsSelectProps>(
29
- (
30
- {
31
- items,
32
- selectedIds,
33
- onSelectionChange,
34
- maxSelections,
35
- className,
36
- cardClassName,
37
- showCheckbox = true,
38
- disabled = false,
39
- reversed = false,
40
- ...props
41
- },
42
- ref
43
- ) => {
44
- const handleCardClick = (itemId: string) => {
45
- if (disabled) return;
46
-
47
- const item = items.find((item) => item.id === itemId);
48
- if (item?.disabled) return;
49
-
50
- const isSelected = selectedIds.includes(itemId);
51
-
52
- if (isSelected) {
53
- // Remove from selection
54
- onSelectionChange(selectedIds.filter((id) => id !== itemId));
55
- } else {
56
- // Add to selection
57
- if (maxSelections && selectedIds.length >= maxSelections) {
58
- // If max selections reached, replace the first selection
59
- onSelectionChange([...selectedIds.slice(1), itemId]);
60
- } else {
61
- onSelectionChange([...selectedIds, itemId]);
62
- }
63
- }
64
- };
65
-
66
- const getGridClasses = () => {
67
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-4 justify-items-center";
68
- };
69
-
70
- return (
71
- <div ref={ref} className={cn(getGridClasses(), className)} {...props}>
72
- {items.map((item) => {
73
- const isSelected = reversed
74
- ? !selectedIds.includes(item.id)
75
- : selectedIds.includes(item.id);
76
- const isDisabled = disabled || item.disabled;
77
-
78
- return (
79
- <Card
80
- key={item.id}
81
- className={cn(
82
- "relative cursor-pointer transition-all duration-200 hover:shadow-md w-full",
83
- isSelected && "ring-2 ring-primary bg-primary/5 border-primary",
84
- isDisabled && "opacity-50 cursor-not-allowed",
85
- !isDisabled && "hover:bg-accent/50",
86
- cardClassName
87
- )}
88
- onClick={() => handleCardClick(item.id)}
89
- >
90
- {/* Edit button */}
91
- {item.onEdit && (
92
- <div className="absolute top-3 left-3 z-10">
93
- <button
94
- type="button"
95
- className={cn(
96
- "flex h-6 w-6 items-center justify-center rounded-md transition-colors hover:bg-accent",
97
- "text-muted-foreground hover:text-foreground"
98
- )}
99
- onClick={(e) => {
100
- e.stopPropagation();
101
- item.onEdit?.(item.id);
102
- }}
103
- aria-label="Edit"
104
- >
105
- <Edit className="h-3.5 w-3.5" />
106
- </button>
107
- </div>
108
- )}
109
-
110
- {/* Selection indicator */}
111
- {showCheckbox && (
112
- <div className="absolute top-3 right-3 z-10">
113
- <div
114
- className={cn(
115
- "flex h-5 w-5 items-center justify-center rounded-full border-2 transition-colors",
116
- isSelected
117
- ? "bg-primary border-primary text-primary-foreground"
118
- : "border-muted-foreground/30 bg-background"
119
- )}
120
- >
121
- {isSelected && <Check className="h-3 w-3" />}
122
- </div>
123
- </div>
124
- )}
125
-
126
- {/* Card icon */}
127
- {item.icon && (
128
- <div className="flex items-center justify-center pt-6 pb-4">
129
- <div className="text-5xl text-primary">
130
- <i className={`ti ${item.icon}`} />
131
- </div>
132
- </div>
133
- )}
134
-
135
- <CardHeader className={cn("pb-3 text-center", item.icon && "pt-2")}>
136
- <CardTitle className="text-lg leading-tight">{item.title}</CardTitle>
137
- {item.description && (
138
- <CardDescription className="text-sm">{item.description}</CardDescription>
139
- )}
140
- </CardHeader>
141
-
142
- {item.content && (
143
- <CardContent className="pt-0 text-center">{item.content}</CardContent>
144
- )}
145
- </Card>
146
- );
147
- })}
148
- </div>
149
- );
150
- }
151
- );
152
-
153
- CardsSelect.displayName = "CardsSelect";
154
-
155
- export { CardsSelect };
@@ -1,57 +0,0 @@
1
- import type { CollapsibleProps } from "@radix-ui/react-collapsible";
2
- import { ChevronRight } from "lucide-react";
3
- import type { ReactNode } from "react";
4
- import { Link } from "react-router";
5
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "#components/ui/collapsible";
6
- import {
7
- SidebarMenuButton,
8
- SidebarMenuItem,
9
- SidebarMenuSub,
10
- useSidebar,
11
- } from "#components/ui/sidebar";
12
-
13
- export function CollapsibleSidebarMenuItem({
14
- children,
15
- label,
16
- icon,
17
- link,
18
- badge,
19
- ...props
20
- }: {
21
- children: ReactNode;
22
- label: string;
23
- icon: ReactNode;
24
- link: string;
25
- badge?: ReactNode;
26
- } & CollapsibleProps) {
27
- const { open } = useSidebar();
28
-
29
- if (!open)
30
- return (
31
- <SidebarMenuItem>
32
- <SidebarMenuButton asChild tooltip={label}>
33
- <Link to={link}>
34
- {icon}
35
- <span>{label}</span>
36
- </Link>
37
- </SidebarMenuButton>
38
- </SidebarMenuItem>
39
- );
40
-
41
- return (
42
- <Collapsible asChild className="group/collapsible" {...props}>
43
- <SidebarMenuItem>
44
- <CollapsibleTrigger asChild>
45
- <SidebarMenuButton>
46
- {icon}
47
- {badge ? badge : <span>{label}</span>}
48
- <ChevronRight className="ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" />
49
- </SidebarMenuButton>
50
- </CollapsibleTrigger>
51
- <CollapsibleContent>
52
- <SidebarMenuSub>{children}</SidebarMenuSub>
53
- </CollapsibleContent>
54
- </SidebarMenuItem>
55
- </Collapsible>
56
- );
57
- }
@@ -1,56 +0,0 @@
1
- import {
2
- Button,
3
- Input,
4
- type InputProps,
5
- Popover,
6
- PopoverContent,
7
- PopoverTrigger,
8
- } from "@heroui/react";
9
- import { hexToHsva } from "@uiw/color-convert";
10
- import Colorful from "@uiw/react-color-colorful";
11
- import { PipetteIcon } from "lucide-react";
12
- import { useState } from "react";
13
-
14
- function safeHexToHsva(hex: string) {
15
- try {
16
- return hexToHsva(hex);
17
- } catch (err) {
18
- return { h: 0, s: 0, v: 0, a: 1 };
19
- }
20
- }
21
-
22
- export function ColorPicker({
23
- disableAlpha = true,
24
- value,
25
-
26
- onValueChange,
27
- ...props
28
- }: InputProps & { disableAlpha?: boolean }) {
29
- const [hsva, setHsva] = useState(safeHexToHsva(value || ""));
30
- return (
31
- <Input
32
- onValueChange={onValueChange}
33
- value={value}
34
- endContent={
35
- <Popover placement="bottom">
36
- <PopoverTrigger>
37
- <Button isIconOnly aria-label="Pick color" size="sm" variant="light">
38
- <PipetteIcon className="h-4 w-4 text-foreground" />
39
- </Button>
40
- </PopoverTrigger>
41
- <PopoverContent aria-label="Color picker">
42
- <Colorful
43
- color={hsva}
44
- disableAlpha={disableAlpha}
45
- onChange={(color) => {
46
- setHsva(color.hsva);
47
- onValueChange?.(color.hex);
48
- }}
49
- />
50
- </PopoverContent>
51
- </Popover>
52
- }
53
- {...props}
54
- />
55
- );
56
- }
@@ -1,45 +0,0 @@
1
- import { Button, type ButtonProps } from "@heroui/react";
2
- import { CheckCircle, Copy } from "lucide-react";
3
- import { useState } from "react";
4
- import { useTranslation } from "react-i18next";
5
- import { toast } from "sonner";
6
-
7
- export function CopyButton({
8
- text,
9
- notificationTimeout = 1000,
10
- isIconOnly,
11
- onCopy,
12
- ...props
13
- }: ButtonProps & { text: string; notificationTimeout?: number; onCopy?: () => void }) {
14
- const { t } = useTranslation();
15
- const [isCopied, setIsCopied] = useState(false);
16
-
17
- const handleCopy = async (text: string) => {
18
- try {
19
- await window.navigator.clipboard.writeText(text);
20
- setIsCopied(true);
21
- onCopy?.();
22
- toast.success(t("web-ui:common.copySuccess"));
23
- setTimeout(() => setIsCopied(false), notificationTimeout);
24
- } catch (error) {
25
- toast.error(t("web-ui:common.copyError"));
26
- console.error(error);
27
- }
28
- };
29
-
30
- return (
31
- <Button isIconOnly={isIconOnly} onPress={() => handleCopy(text)} {...props}>
32
- {isCopied ? (
33
- <>
34
- <CheckCircle className="h-4 w-4" />
35
- {!isIconOnly && t("web-ui:common.copied")}
36
- </>
37
- ) : (
38
- <>
39
- <Copy className="h-4 w-4" />
40
- {!isIconOnly && t("web-ui:common.copy")}
41
- </>
42
- )}
43
- </Button>
44
- );
45
- }
@@ -1,154 +0,0 @@
1
- import { ZoomIn, ZoomOut } from "lucide-react";
2
- import { useState } from "react";
3
- import Cropper, { type Area } from "react-easy-crop";
4
- import { useTranslation } from "react-i18next";
5
- import { Button } from "#components/ui/button";
6
- import { Dialog, DialogContent, DialogHeader, DialogTitle } from "#components/ui/dialog";
7
- import { Slider } from "#components/ui/slider";
8
-
9
- interface CropArea {
10
- x: number;
11
- y: number;
12
- width: number;
13
- height: number;
14
- }
15
-
16
- interface CropDialogProps {
17
- open: boolean;
18
- onOpenChange: (open: boolean) => void;
19
- imageUrl: string;
20
- onCropComplete: (croppedBlob: Blob) => void;
21
- onCancel: () => void;
22
- isLoading?: boolean;
23
- }
24
-
25
- async function getCroppedImg(
26
- imageSrc: string,
27
- pixelCrop: CropArea,
28
- t: (key: string) => string
29
- ): Promise<Blob> {
30
- const image = new Image();
31
- image.src = imageSrc;
32
-
33
- // Create canvas
34
- const canvas = document.createElement("canvas");
35
- const ctx = canvas.getContext("2d");
36
-
37
- if (!ctx) {
38
- throw new Error(t("web-ui:image.crop.failedContext"));
39
- }
40
-
41
- // Set canvas size to the crop size
42
- canvas.width = pixelCrop.width;
43
- canvas.height = pixelCrop.height;
44
-
45
- // Draw the cropped image
46
- ctx.drawImage(
47
- image,
48
- pixelCrop.x,
49
- pixelCrop.y,
50
- pixelCrop.width,
51
- pixelCrop.height,
52
- 0,
53
- 0,
54
- pixelCrop.width,
55
- pixelCrop.height
56
- );
57
-
58
- // Get the cropped image as blob
59
- return new Promise((resolve, reject) => {
60
- canvas.toBlob((blob) => {
61
- if (!blob) reject(new Error(t("web-ui:image.crop.failedCrop")));
62
- else resolve(blob);
63
- }, "image/jpeg");
64
- });
65
- }
66
-
67
- export function CropDialog({
68
- open,
69
- onOpenChange,
70
- imageUrl,
71
- onCropComplete,
72
- onCancel,
73
- isLoading = false,
74
- }: CropDialogProps) {
75
- const { t } = useTranslation();
76
- const [crop, setCrop] = useState({ x: 0, y: 0 });
77
- const [zoom, setZoom] = useState(1);
78
- const [croppedAreaPixels, setCroppedAreaPixels] = useState<CropArea | null>(null);
79
-
80
- const handleCropComplete = (_croppedArea: Area, croppedAreaPixels: CropArea) => {
81
- setCroppedAreaPixels(croppedAreaPixels);
82
- };
83
-
84
- const handleSave = async () => {
85
- if (!croppedAreaPixels) return;
86
-
87
- try {
88
- const croppedImageBlob = await getCroppedImg(imageUrl, croppedAreaPixels, t);
89
- onCropComplete(croppedImageBlob);
90
- } catch (error) {
91
- console.error(t("web-ui:image.crop.error"), error);
92
- }
93
- };
94
-
95
- return (
96
- <Dialog open={open} onOpenChange={onOpenChange}>
97
- <DialogContent className="sm:max-w-[600px]">
98
- <DialogHeader>
99
- <DialogTitle>{t("web-ui:image.crop.title")}</DialogTitle>
100
- </DialogHeader>
101
- <div className="relative h-[400px] w-full">
102
- <Cropper
103
- image={imageUrl}
104
- crop={crop}
105
- zoom={zoom}
106
- aspect={1}
107
- onCropChange={setCrop}
108
- onZoomChange={setZoom}
109
- onCropComplete={handleCropComplete}
110
- objectFit="contain"
111
- showGrid={true}
112
- style={{
113
- containerStyle: {
114
- position: "relative",
115
- width: "100%",
116
- height: "100%",
117
- backgroundColor: "#262626",
118
- },
119
- cropAreaStyle: {
120
- border: "2px solid #fff",
121
- color: "rgba(255, 255, 255, 0.9)",
122
- },
123
- mediaStyle: {
124
- backgroundColor: "#262626",
125
- },
126
- }}
127
- />
128
- </div>
129
-
130
- <div className="flex items-center gap-4 px-1">
131
- <ZoomOut className="h-4 w-4" />
132
- <Slider
133
- value={[zoom]}
134
- onValueChange={(values: number[]) => setZoom(values[0])}
135
- min={1}
136
- max={3}
137
- step={0.1}
138
- className="flex-1"
139
- />
140
- <ZoomIn className="h-4 w-4" />
141
- </div>
142
-
143
- <div className="mt-4 flex justify-end space-x-2">
144
- <Button variant="outline" onClick={onCancel}>
145
- {t("web-ui:common.cancel")}
146
- </Button>
147
- <Button onClick={handleSave} disabled={isLoading}>
148
- {isLoading ? t("web-ui:common.saving") : t("web-ui:common.save")}
149
- </Button>
150
- </div>
151
- </DialogContent>
152
- </Dialog>
153
- );
154
- }
@@ -1,105 +0,0 @@
1
- import {
2
- Button,
3
- type ButtonProps,
4
- Modal,
5
- ModalBody,
6
- ModalContent,
7
- ModalFooter,
8
- ModalHeader,
9
- } from "@heroui/react";
10
- import { semanticColors } from "@heroui/theme";
11
- import { createContext, useContext, useRef, useState } from "react";
12
-
13
- export type DialogProps = {
14
- title: React.ReactNode;
15
- description: React.ReactNode;
16
- color?: ButtonProps["color"];
17
- cancelable?: boolean;
18
- onCancel?: () => void;
19
- onConfirm?: () => void;
20
- cancelLabel?: string;
21
- confirmLabel?: string;
22
- };
23
-
24
- const DialogContext = createContext<(dialog: DialogProps) => void>(() => {
25
- console.warn("DialogProvider is not initialized");
26
- });
27
-
28
- export function useDialog() {
29
- const context = useContext(DialogContext);
30
- if (!context) {
31
- throw new Error("useDialog must be used within a DialogProvider");
32
- }
33
- return context;
34
- }
35
-
36
- export function DialogProvider({ children }: { children: React.ReactNode }) {
37
- const [isOpen, setIsOpen] = useState(false);
38
- const [dialog, setDialog] = useState<DialogProps | null>(null);
39
- const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
40
-
41
- const handleSetDialog = (dialog: DialogProps) => {
42
- if (timeoutRef.current) {
43
- clearTimeout(timeoutRef.current);
44
- timeoutRef.current = null;
45
- }
46
- setDialog(dialog);
47
- setIsOpen(true);
48
- };
49
-
50
- const handleUnsetDialog = () => {
51
- setIsOpen(false);
52
- if (timeoutRef.current) {
53
- clearTimeout(timeoutRef.current);
54
- timeoutRef.current = null;
55
- }
56
- timeoutRef.current = setTimeout(() => {
57
- setDialog(null);
58
- }, 500);
59
- };
60
-
61
- const handleCancel = () => {
62
- dialog?.onCancel?.();
63
- handleUnsetDialog();
64
- };
65
-
66
- const handleConfirm = () => {
67
- dialog?.onConfirm?.();
68
- handleUnsetDialog();
69
- };
70
-
71
- return (
72
- <DialogContext.Provider value={handleSetDialog}>
73
- <>
74
- {children}
75
- {dialog && (
76
- <Modal
77
- isOpen={isOpen}
78
- onOpenChange={handleUnsetDialog}
79
- style={{
80
- borderColor: semanticColors.light[dialog.color || "danger"][600],
81
- }}
82
- classNames={{
83
- base: "border-1",
84
- }}
85
- >
86
- <ModalContent>
87
- <ModalHeader>{dialog.title}</ModalHeader>
88
- <ModalBody>{dialog.description}</ModalBody>
89
- <ModalFooter>
90
- <div className="flex flex-row gap-2">
91
- {(dialog.cancelable || dialog.onCancel) && (
92
- <Button onPress={handleCancel}>{dialog.cancelLabel ?? "Cancel"}</Button>
93
- )}
94
- <Button color={dialog.color} onPress={handleConfirm}>
95
- {dialog.confirmLabel ?? "Confirm"}
96
- </Button>
97
- </div>
98
- </ModalFooter>
99
- </ModalContent>
100
- </Modal>
101
- )}
102
- </>
103
- </DialogContext.Provider>
104
- );
105
- }
@@ -1,17 +0,0 @@
1
- export function ErrorFallback({
2
- error,
3
- componentStack,
4
- }: {
5
- error: unknown;
6
- componentStack: string;
7
- }) {
8
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
9
- return (
10
- <div className="flex flex-grow-1 flex-col items-center justify-center h-[100vh]">
11
- <h1 className="text-3xl font-bold">Something went wrong.</h1>
12
- <h1 className="text-2xl text-gray-700 font-bold mb-5">Please try again later.</h1>
13
- <div className="text-lg text-gray-700 mb-5">{errorMessage}</div>
14
- <div className="text-sm text-gray-500 px-10">{componentStack}</div>
15
- </div>
16
- );
17
- }