moonhead 1.0.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 (631) hide show
  1. package/README.md +32 -0
  2. package/dist/components/layout/app-header.d.ts +1 -0
  3. package/dist/components/layout/app-header.js +1 -0
  4. package/dist/components/layout/app-sidebar.d.ts +9 -0
  5. package/dist/components/layout/app-sidebar.js +1 -0
  6. package/dist/components/layout/brand-logo.d.ts +2 -0
  7. package/dist/components/layout/brand-logo.js +1 -0
  8. package/dist/components/layout/user-menu.d.ts +6 -0
  9. package/dist/components/layout/user-menu.js +1 -0
  10. package/dist/components/ui/action-form.d.ts +10 -0
  11. package/dist/components/ui/action-form.js +1 -0
  12. package/dist/components/ui/alert-dialog.d.ts +14 -0
  13. package/dist/components/ui/alert-dialog.js +1 -0
  14. package/dist/components/ui/alert.d.ts +12 -0
  15. package/dist/components/ui/alert.js +1 -0
  16. package/dist/components/ui/avatar.d.ts +12 -0
  17. package/dist/components/ui/avatar.js +1 -0
  18. package/dist/components/ui/badge.d.ts +2 -0
  19. package/dist/components/ui/badge.js +1 -0
  20. package/dist/components/ui/button.d.ts +12 -0
  21. package/dist/components/ui/button.js +1 -0
  22. package/dist/components/ui/card.d.ts +2 -0
  23. package/dist/components/ui/card.js +1 -0
  24. package/dist/components/ui/checkbox.d.ts +5 -0
  25. package/dist/components/ui/checkbox.js +1 -0
  26. package/dist/components/ui/combobox.d.ts +18 -0
  27. package/dist/components/ui/combobox.js +1 -0
  28. package/dist/components/ui/copy-button.d.ts +8 -0
  29. package/dist/components/ui/copy-button.js +1 -0
  30. package/dist/components/ui/country-select.d.ts +12 -0
  31. package/dist/components/ui/country-select.js +1 -0
  32. package/dist/components/ui/data-table.d.ts +11 -0
  33. package/dist/components/ui/data-table.js +1 -0
  34. package/dist/components/ui/date-range-picker.d.ts +25 -0
  35. package/dist/components/ui/date-range-picker.js +1 -0
  36. package/dist/components/ui/dialog.d.ts +19 -0
  37. package/dist/components/ui/dialog.js +1 -0
  38. package/dist/components/ui/drawer.d.ts +24 -0
  39. package/dist/components/ui/drawer.js +1 -0
  40. package/dist/components/ui/dropdown-menu.d.ts +17 -0
  41. package/dist/components/ui/dropdown-menu.js +1 -0
  42. package/dist/components/ui/field.d.ts +7 -0
  43. package/dist/components/ui/field.js +1 -0
  44. package/dist/components/ui/fieldset.d.ts +4 -0
  45. package/dist/components/ui/fieldset.js +1 -0
  46. package/dist/components/ui/form-field.d.ts +17 -0
  47. package/dist/components/ui/form-field.js +1 -0
  48. package/dist/components/ui/form.d.ts +3 -0
  49. package/dist/components/ui/form.js +1 -0
  50. package/dist/components/ui/icon-tile.d.ts +5 -0
  51. package/dist/components/ui/icon-tile.js +1 -0
  52. package/dist/components/ui/identity.d.ts +6 -0
  53. package/dist/components/ui/identity.js +1 -0
  54. package/dist/components/ui/input.d.ts +4 -0
  55. package/dist/components/ui/input.js +1 -0
  56. package/dist/components/ui/number-input.d.ts +19 -0
  57. package/dist/components/ui/number-input.js +1 -0
  58. package/dist/components/ui/otp-field.d.ts +6 -0
  59. package/dist/components/ui/otp-field.js +1 -0
  60. package/dist/components/ui/page-toolbar.d.ts +9 -0
  61. package/dist/components/ui/page-toolbar.js +1 -0
  62. package/dist/components/ui/password-input.d.ts +7 -0
  63. package/dist/components/ui/password-input.js +1 -0
  64. package/dist/components/ui/radio-group.d.ts +5 -0
  65. package/dist/components/ui/radio-group.js +1 -0
  66. package/dist/components/ui/search-input.d.ts +4 -0
  67. package/dist/components/ui/search-input.js +1 -0
  68. package/dist/components/ui/section-card.d.ts +7 -0
  69. package/dist/components/ui/section-card.js +1 -0
  70. package/dist/components/ui/select-field.d.ts +19 -0
  71. package/dist/components/ui/select-field.js +1 -0
  72. package/dist/components/ui/select.d.ts +17 -0
  73. package/dist/components/ui/select.js +1 -0
  74. package/dist/components/ui/sidebar.d.ts +27 -0
  75. package/dist/components/ui/sidebar.js +1 -0
  76. package/dist/components/ui/slider.d.ts +10 -0
  77. package/dist/components/ui/slider.js +1 -0
  78. package/dist/components/ui/sort-button.d.ts +5 -0
  79. package/dist/components/ui/sort-button.js +1 -0
  80. package/dist/components/ui/spinner.d.ts +4 -0
  81. package/dist/components/ui/spinner.js +1 -0
  82. package/dist/components/ui/status-badge.d.ts +11 -0
  83. package/dist/components/ui/status-badge.js +1 -0
  84. package/dist/components/ui/switch-field.d.ts +18 -0
  85. package/dist/components/ui/switch-field.js +1 -0
  86. package/dist/components/ui/switch.d.ts +3 -0
  87. package/dist/components/ui/switch.js +1 -0
  88. package/dist/components/ui/table-pagination.d.ts +9 -0
  89. package/dist/components/ui/table-pagination.js +1 -0
  90. package/dist/components/ui/table.d.ts +18 -0
  91. package/dist/components/ui/table.js +1 -0
  92. package/dist/components/ui/tabs.d.ts +8 -0
  93. package/dist/components/ui/tabs.js +1 -0
  94. package/dist/components/ui/tag-input.d.ts +9 -0
  95. package/dist/components/ui/tag-input.js +1 -0
  96. package/dist/components/ui/text-link.d.ts +10 -0
  97. package/dist/components/ui/text-link.js +1 -0
  98. package/dist/components/ui/textarea.d.ts +2 -0
  99. package/dist/components/ui/textarea.js +1 -0
  100. package/dist/components/ui/toast.d.ts +1 -0
  101. package/dist/components/ui/toast.js +1 -0
  102. package/dist/components/ui/tree.d.ts +32 -0
  103. package/dist/components/ui/tree.js +1 -0
  104. package/dist/db/client.d.ts +8 -0
  105. package/dist/db/client.js +1 -0
  106. package/dist/db/index.d.ts +3 -0
  107. package/dist/db/index.js +1 -0
  108. package/dist/db/logger.d.ts +2 -0
  109. package/dist/db/logger.js +1 -0
  110. package/dist/db/migrations/20260628182304_wonderful_groot/migration.sql +289 -0
  111. package/dist/db/migrations/20260628182304_wonderful_groot/snapshot.json +3750 -0
  112. package/dist/db/migrations/20260630082829_wet_robin_chapel/migration.sql +2 -0
  113. package/dist/db/migrations/20260630082829_wet_robin_chapel/snapshot.json +3791 -0
  114. package/dist/db/migrations/20260702132335_wooden_iron_monger/migration.sql +48 -0
  115. package/dist/db/migrations/20260702132335_wooden_iron_monger/snapshot.json +4407 -0
  116. package/dist/db/migrations/20260702142948_vengeful_rhino/migration.sql +1 -0
  117. package/dist/db/migrations/20260702142948_vengeful_rhino/snapshot.json +4420 -0
  118. package/dist/db/migrations/20260702185813_curved_pyro/migration.sql +16 -0
  119. package/dist/db/migrations/20260702185813_curved_pyro/snapshot.json +4646 -0
  120. package/dist/db/migrations/20260702192041_shiny_franklin_storm/migration.sql +16 -0
  121. package/dist/db/migrations/20260702192041_shiny_franklin_storm/snapshot.json +4872 -0
  122. package/dist/db/migrations/20260704101548_bizarre_namorita/migration.sql +1 -0
  123. package/dist/db/migrations/20260704101548_bizarre_namorita/snapshot.json +4885 -0
  124. package/dist/db/migrations/20260704105911_sleepy_juggernaut/migration.sql +1 -0
  125. package/dist/db/migrations/20260704105911_sleepy_juggernaut/snapshot.json +4898 -0
  126. package/dist/db/migrations/20260704115959_lean_sandman/migration.sql +1 -0
  127. package/dist/db/migrations/20260704115959_lean_sandman/snapshot.json +4885 -0
  128. package/dist/db/migrations/20260707231532_daffy_captain_stacy/migration.sql +10 -0
  129. package/dist/db/migrations/20260707231532_daffy_captain_stacy/snapshot.json +4919 -0
  130. package/dist/db/migrations/20260708190355_spooky_jimmy_woo/migration.sql +3 -0
  131. package/dist/db/migrations/20260708190355_spooky_jimmy_woo/snapshot.json +4970 -0
  132. package/dist/db/migrations/20260711145212_drop_legacy_earning_status/migration.sql +7 -0
  133. package/dist/db/migrations/20260711145212_drop_legacy_earning_status/snapshot.json +4968 -0
  134. package/dist/db/migrations/20260712161249_dashboard_stat_indexes/migration.sql +3 -0
  135. package/dist/db/migrations/20260712161249_dashboard_stat_indexes/snapshot.json +5038 -0
  136. package/dist/db/migrations/20260713013911_add_payout_paid_at/migration.sql +2 -0
  137. package/dist/db/migrations/20260713013911_add_payout_paid_at/snapshot.json +5072 -0
  138. package/dist/db/schema/analytics-outbox.d.ts +145 -0
  139. package/dist/db/schema/analytics-outbox.js +1 -0
  140. package/dist/db/schema/audit-logs.d.ts +204 -0
  141. package/dist/db/schema/audit-logs.js +1 -0
  142. package/dist/db/schema/campaigns.d.ts +180 -0
  143. package/dist/db/schema/campaigns.js +1 -0
  144. package/dist/db/schema/casinos.d.ts +129 -0
  145. package/dist/db/schema/casinos.js +1 -0
  146. package/dist/db/schema/commission-rule-groups.d.ts +84 -0
  147. package/dist/db/schema/commission-rule-groups.js +1 -0
  148. package/dist/db/schema/commission-rules.d.ts +145 -0
  149. package/dist/db/schema/commission-rules.js +1 -0
  150. package/dist/db/schema/commissions.d.ts +242 -0
  151. package/dist/db/schema/commissions.js +1 -0
  152. package/dist/db/schema/conversions.d.ts +302 -0
  153. package/dist/db/schema/conversions.js +1 -0
  154. package/dist/db/schema/deals.d.ts +180 -0
  155. package/dist/db/schema/deals.js +1 -0
  156. package/dist/db/schema/earnings.d.ts +262 -0
  157. package/dist/db/schema/earnings.js +1 -0
  158. package/dist/db/schema/groups.d.ts +214 -0
  159. package/dist/db/schema/groups.js +1 -0
  160. package/dist/db/schema/index.d.ts +18 -0
  161. package/dist/db/schema/index.js +1 -0
  162. package/dist/db/schema/payouts.d.ts +182 -0
  163. package/dist/db/schema/payouts.js +1 -0
  164. package/dist/db/schema/platform-settings.d.ts +84 -0
  165. package/dist/db/schema/platform-settings.js +1 -0
  166. package/dist/db/schema/player-activity.d.ts +159 -0
  167. package/dist/db/schema/player-activity.js +1 -0
  168. package/dist/db/schema/revshare-carryover.d.ts +129 -0
  169. package/dist/db/schema/revshare-carryover.js +1 -0
  170. package/dist/db/schema/sessions.d.ts +213 -0
  171. package/dist/db/schema/sessions.js +1 -0
  172. package/dist/db/schema/table.d.ts +1 -0
  173. package/dist/db/schema/table.js +1 -0
  174. package/dist/db/schema/users.d.ts +609 -0
  175. package/dist/db/schema/users.js +1 -0
  176. package/dist/db/schema/verification-tokens.d.ts +106 -0
  177. package/dist/db/schema/verification-tokens.js +1 -0
  178. package/dist/db/types/branded.d.ts +3 -0
  179. package/dist/db/types/branded.js +0 -0
  180. package/dist/db/types/commission-rules.d.ts +70 -0
  181. package/dist/db/types/commission-rules.js +1 -0
  182. package/dist/db/types/index.d.ts +2 -0
  183. package/dist/db/types/index.js +1 -0
  184. package/dist/emails/admin/support-message.d.ts +39 -0
  185. package/dist/emails/admin/support-message.js +5 -0
  186. package/dist/emails/affiliate/activated.d.ts +33 -0
  187. package/dist/emails/affiliate/activated.js +1 -0
  188. package/dist/emails/affiliate/deal-notice.d.ts +35 -0
  189. package/dist/emails/affiliate/deal-notice.js +1 -0
  190. package/dist/emails/affiliate/invite.d.ts +35 -0
  191. package/dist/emails/affiliate/invite.js +1 -0
  192. package/dist/emails/affiliate/signup-verify.d.ts +35 -0
  193. package/dist/emails/affiliate/signup-verify.js +1 -0
  194. package/dist/emails/auth/password-reset.d.ts +37 -0
  195. package/dist/emails/auth/password-reset.js +1 -0
  196. package/dist/emails/layout.d.ts +10 -0
  197. package/dist/emails/layout.js +1 -0
  198. package/dist/emails/manager/affiliate-activated.d.ts +33 -0
  199. package/dist/emails/manager/affiliate-activated.js +1 -0
  200. package/dist/emails/manager/bulk-affiliates-activated.d.ts +33 -0
  201. package/dist/emails/manager/bulk-affiliates-activated.js +1 -0
  202. package/dist/emails/manager/invite.d.ts +35 -0
  203. package/dist/emails/manager/invite.js +1 -0
  204. package/dist/emails/manager/pending-approval.d.ts +33 -0
  205. package/dist/emails/manager/pending-approval.js +1 -0
  206. package/dist/emails/preview-env.d.ts +2 -0
  207. package/dist/emails/preview-env.js +1 -0
  208. package/dist/features/affiliates/actions.d.ts +60 -0
  209. package/dist/features/affiliates/actions.js +1 -0
  210. package/dist/features/affiliates/activation-email.d.ts +8 -0
  211. package/dist/features/affiliates/activation-email.js +1 -0
  212. package/dist/features/affiliates/bulk-approve.d.ts +2 -0
  213. package/dist/features/affiliates/bulk-approve.js +1 -0
  214. package/dist/features/affiliates/components/affiliate-actions-menu.d.ts +6 -0
  215. package/dist/features/affiliates/components/affiliate-actions-menu.js +1 -0
  216. package/dist/features/affiliates/components/affiliate-create-button.d.ts +1 -0
  217. package/dist/features/affiliates/components/affiliate-create-button.js +1 -0
  218. package/dist/features/affiliates/components/affiliate-detail-tabs.d.ts +6 -0
  219. package/dist/features/affiliates/components/affiliate-detail-tabs.js +1 -0
  220. package/dist/features/affiliates/components/affiliate-dialog.d.ts +11 -0
  221. package/dist/features/affiliates/components/affiliate-dialog.js +1 -0
  222. package/dist/features/affiliates/components/affiliate-profile-fields.d.ts +6 -0
  223. package/dist/features/affiliates/components/affiliate-profile-fields.js +1 -0
  224. package/dist/features/affiliates/components/affiliate-status-badge.d.ts +4 -0
  225. package/dist/features/affiliates/components/affiliate-status-badge.js +1 -0
  226. package/dist/features/affiliates/components/affiliate-status-tabs.d.ts +4 -0
  227. package/dist/features/affiliates/components/affiliate-status-tabs.js +1 -0
  228. package/dist/features/affiliates/components/affiliates-table.d.ts +10 -0
  229. package/dist/features/affiliates/components/affiliates-table.js +1 -0
  230. package/dist/features/affiliates/components/assign-parent-dialog.d.ts +5 -0
  231. package/dist/features/affiliates/components/assign-parent-dialog.js +1 -0
  232. package/dist/features/affiliates/components/detach-affiliate-confirm.d.ts +5 -0
  233. package/dist/features/affiliates/components/detach-affiliate-confirm.js +1 -0
  234. package/dist/features/affiliates/components/reject-affiliate-confirm.d.ts +5 -0
  235. package/dist/features/affiliates/components/reject-affiliate-confirm.js +1 -0
  236. package/dist/features/affiliates/components/sub-affiliate-invite-button.d.ts +3 -0
  237. package/dist/features/affiliates/components/sub-affiliate-invite-button.js +1 -0
  238. package/dist/features/affiliates/invite.d.ts +6 -0
  239. package/dist/features/affiliates/invite.js +1 -0
  240. package/dist/features/affiliates/list-params.d.ts +27 -0
  241. package/dist/features/affiliates/list-params.js +1 -0
  242. package/dist/features/affiliates/pending-notification.d.ts +18 -0
  243. package/dist/features/affiliates/pending-notification.js +1 -0
  244. package/dist/features/affiliates/sub-invite.d.ts +7 -0
  245. package/dist/features/affiliates/sub-invite.js +1 -0
  246. package/dist/features/audit/action-labels.d.ts +15 -0
  247. package/dist/features/audit/action-labels.js +1 -0
  248. package/dist/features/audit/components/audit-log-table.d.ts +5 -0
  249. package/dist/features/audit/components/audit-log-table.js +1 -0
  250. package/dist/features/audit/list-params.d.ts +2 -0
  251. package/dist/features/audit/list-params.js +1 -0
  252. package/dist/features/audit/read.d.ts +27 -0
  253. package/dist/features/audit/read.js +1 -0
  254. package/dist/features/auth/actions.d.ts +33 -0
  255. package/dist/features/auth/actions.js +1 -0
  256. package/dist/features/auth/authorization.d.ts +14 -0
  257. package/dist/features/auth/authorization.js +1 -0
  258. package/dist/features/auth/components/accept-invite-form.d.ts +3 -0
  259. package/dist/features/auth/components/accept-invite-form.js +1 -0
  260. package/dist/features/auth/components/forgot-password-form.d.ts +1 -0
  261. package/dist/features/auth/components/forgot-password-form.js +1 -0
  262. package/dist/features/auth/components/permissions-form.d.ts +5 -0
  263. package/dist/features/auth/components/permissions-form.js +1 -0
  264. package/dist/features/auth/components/reset-password-form.d.ts +3 -0
  265. package/dist/features/auth/components/reset-password-form.js +1 -0
  266. package/dist/features/auth/components/signin-form.d.ts +5 -0
  267. package/dist/features/auth/components/signin-form.js +1 -0
  268. package/dist/features/auth/components/signup-form.d.ts +1 -0
  269. package/dist/features/auth/components/signup-form.js +1 -0
  270. package/dist/features/auth/components/verify-email-form.d.ts +3 -0
  271. package/dist/features/auth/components/verify-email-form.js +1 -0
  272. package/dist/features/auth/password-reset.d.ts +6 -0
  273. package/dist/features/auth/password-reset.js +1 -0
  274. package/dist/features/auth/permissions.d.ts +49 -0
  275. package/dist/features/auth/permissions.js +1 -0
  276. package/dist/features/auth/require.d.ts +3 -0
  277. package/dist/features/auth/require.js +1 -0
  278. package/dist/features/auth/signup-email.d.ts +6 -0
  279. package/dist/features/auth/signup-email.js +1 -0
  280. package/dist/features/campaigns/actions.d.ts +53 -0
  281. package/dist/features/campaigns/actions.js +1 -0
  282. package/dist/features/campaigns/components/campaign-dialog.d.ts +7 -0
  283. package/dist/features/campaigns/components/campaign-dialog.js +1 -0
  284. package/dist/features/campaigns/components/campaign-row-actions.d.ts +8 -0
  285. package/dist/features/campaigns/components/campaign-row-actions.js +1 -0
  286. package/dist/features/campaigns/components/campaign-status-badge.d.ts +6 -0
  287. package/dist/features/campaigns/components/campaign-status-badge.js +1 -0
  288. package/dist/features/campaigns/components/campaign-status-tabs.d.ts +1 -0
  289. package/dist/features/campaigns/components/campaign-status-tabs.js +1 -0
  290. package/dist/features/campaigns/components/campaigns-table.d.ts +7 -0
  291. package/dist/features/campaigns/components/campaigns-table.js +1 -0
  292. package/dist/features/campaigns/components/create-campaign-button.d.ts +5 -0
  293. package/dist/features/campaigns/components/create-campaign-button.js +1 -0
  294. package/dist/features/campaigns/components/sub-id-builder.d.ts +4 -0
  295. package/dist/features/campaigns/components/sub-id-builder.js +1 -0
  296. package/dist/features/campaigns/components/tracking-link-box.d.ts +3 -0
  297. package/dist/features/campaigns/components/tracking-link-box.js +1 -0
  298. package/dist/features/campaigns/components/tracking-link-cell.d.ts +4 -0
  299. package/dist/features/campaigns/components/tracking-link-cell.js +1 -0
  300. package/dist/features/campaigns/components/tracking-link-dialog.d.ts +6 -0
  301. package/dist/features/campaigns/components/tracking-link-dialog.js +1 -0
  302. package/dist/features/campaigns/list-params.d.ts +14 -0
  303. package/dist/features/campaigns/list-params.js +1 -0
  304. package/dist/features/campaigns/tracking-url.d.ts +8 -0
  305. package/dist/features/campaigns/tracking-url.js +1 -0
  306. package/dist/features/casinos/actions.d.ts +39 -0
  307. package/dist/features/casinos/actions.js +1 -0
  308. package/dist/features/casinos/components/casino-create-button.d.ts +1 -0
  309. package/dist/features/casinos/components/casino-create-button.js +1 -0
  310. package/dist/features/casinos/components/casino-dialog.d.ts +11 -0
  311. package/dist/features/casinos/components/casino-dialog.js +1 -0
  312. package/dist/features/casinos/components/casino-form-fields.d.ts +7 -0
  313. package/dist/features/casinos/components/casino-form-fields.js +1 -0
  314. package/dist/features/casinos/components/casino-status-tabs.d.ts +1 -0
  315. package/dist/features/casinos/components/casino-status-tabs.js +1 -0
  316. package/dist/features/casinos/components/casinos-table.d.ts +6 -0
  317. package/dist/features/casinos/components/casinos-table.js +1 -0
  318. package/dist/features/casinos/components/delete-casino-confirm.d.ts +5 -0
  319. package/dist/features/casinos/components/delete-casino-confirm.js +1 -0
  320. package/dist/features/casinos/list-params.d.ts +14 -0
  321. package/dist/features/casinos/list-params.js +1 -0
  322. package/dist/features/commissions/actions.d.ts +76 -0
  323. package/dist/features/commissions/actions.js +1 -0
  324. package/dist/features/commissions/components/casino-bindings-field.d.ts +10 -0
  325. package/dist/features/commissions/components/casino-bindings-field.js +1 -0
  326. package/dist/features/commissions/components/commission-create-button.d.ts +1 -0
  327. package/dist/features/commissions/components/commission-create-button.js +1 -0
  328. package/dist/features/commissions/components/commission-detail-dialog.d.ts +5 -0
  329. package/dist/features/commissions/components/commission-detail-dialog.js +1 -0
  330. package/dist/features/commissions/components/commission-editor.d.ts +8 -0
  331. package/dist/features/commissions/components/commission-editor.js +1 -0
  332. package/dist/features/commissions/components/commission-read-view.d.ts +5 -0
  333. package/dist/features/commissions/components/commission-read-view.js +1 -0
  334. package/dist/features/commissions/components/commission-status-badge.d.ts +4 -0
  335. package/dist/features/commissions/components/commission-status-badge.js +1 -0
  336. package/dist/features/commissions/components/commission-status-tabs.d.ts +1 -0
  337. package/dist/features/commissions/components/commission-status-tabs.js +1 -0
  338. package/dist/features/commissions/components/commissions-table.d.ts +14 -0
  339. package/dist/features/commissions/components/commissions-table.js +1 -0
  340. package/dist/features/commissions/components/delete-commission-confirm.d.ts +5 -0
  341. package/dist/features/commissions/components/delete-commission-confirm.js +1 -0
  342. package/dist/features/commissions/components/duplicate-commission-dialog.d.ts +6 -0
  343. package/dist/features/commissions/components/duplicate-commission-dialog.js +1 -0
  344. package/dist/features/commissions/components/rule-editor/conditions-block.d.ts +9 -0
  345. package/dist/features/commissions/components/rule-editor/conditions-block.js +1 -0
  346. package/dist/features/commissions/components/rule-editor/modifiers-block.d.ts +9 -0
  347. package/dist/features/commissions/components/rule-editor/modifiers-block.js +1 -0
  348. package/dist/features/commissions/components/rule-editor/qualifiers-block.d.ts +9 -0
  349. package/dist/features/commissions/components/rule-editor/qualifiers-block.js +1 -0
  350. package/dist/features/commissions/components/rule-editor/reducer.d.ts +102 -0
  351. package/dist/features/commissions/components/rule-editor/reducer.js +1 -0
  352. package/dist/features/commissions/components/rule-editor/rewards-block.d.ts +9 -0
  353. package/dist/features/commissions/components/rule-editor/rewards-block.js +1 -0
  354. package/dist/features/commissions/components/rule-editor/rule-card.d.ts +10 -0
  355. package/dist/features/commissions/components/rule-editor/rule-card.js +1 -0
  356. package/dist/features/commissions/components/rule-editor/rule-editor.d.ts +7 -0
  357. package/dist/features/commissions/components/rule-editor/rule-editor.js +1 -0
  358. package/dist/features/commissions/components/rule-editor/rule-group-card.d.ts +9 -0
  359. package/dist/features/commissions/components/rule-editor/rule-group-card.js +1 -0
  360. package/dist/features/commissions/components/rule-editor/state.d.ts +21 -0
  361. package/dist/features/commissions/components/rule-editor/state.js +1 -0
  362. package/dist/features/commissions/components/rule-groups-read-view.d.ts +4 -0
  363. package/dist/features/commissions/components/rule-groups-read-view.js +1 -0
  364. package/dist/features/commissions/list-params.d.ts +14 -0
  365. package/dist/features/commissions/list-params.js +1 -0
  366. package/dist/features/commissions/rule-validation.d.ts +173 -0
  367. package/dist/features/commissions/rule-validation.js +1 -0
  368. package/dist/features/dashboard/affiliate-queries.d.ts +14 -0
  369. package/dist/features/dashboard/affiliate-queries.js +1 -0
  370. package/dist/features/dashboard/clickhouse.d.ts +3 -0
  371. package/dist/features/dashboard/clickhouse.js +2 -0
  372. package/dist/features/dashboard/components/affiliate-charts.d.ts +5 -0
  373. package/dist/features/dashboard/components/affiliate-charts.js +1 -0
  374. package/dist/features/dashboard/components/affiliate-stats.d.ts +5 -0
  375. package/dist/features/dashboard/components/affiliate-stats.js +1 -0
  376. package/dist/features/dashboard/components/charts/funnel-chart.d.ts +11 -0
  377. package/dist/features/dashboard/components/charts/funnel-chart.js +1 -0
  378. package/dist/features/dashboard/components/charts/rank-bar-chart.d.ts +10 -0
  379. package/dist/features/dashboard/components/charts/rank-bar-chart.js +1 -0
  380. package/dist/features/dashboard/components/charts/time-series-chart.d.ts +12 -0
  381. package/dist/features/dashboard/components/charts/time-series-chart.js +1 -0
  382. package/dist/features/dashboard/components/charts-grid.d.ts +8 -0
  383. package/dist/features/dashboard/components/charts-grid.js +1 -0
  384. package/dist/features/dashboard/components/dashboard-charts.d.ts +4 -0
  385. package/dist/features/dashboard/components/dashboard-charts.js +1 -0
  386. package/dist/features/dashboard/components/dashboard-period-tabs.d.ts +1 -0
  387. package/dist/features/dashboard/components/dashboard-period-tabs.js +1 -0
  388. package/dist/features/dashboard/components/money-stat-card.d.ts +6 -0
  389. package/dist/features/dashboard/components/money-stat-card.js +1 -0
  390. package/dist/features/dashboard/components/stat-card.d.ts +6 -0
  391. package/dist/features/dashboard/components/stat-card.js +1 -0
  392. package/dist/features/dashboard/components/top-affiliates.d.ts +4 -0
  393. package/dist/features/dashboard/components/top-affiliates.js +1 -0
  394. package/dist/features/dashboard/list-params.d.ts +24 -0
  395. package/dist/features/dashboard/list-params.js +1 -0
  396. package/dist/features/dashboard/queries.d.ts +63 -0
  397. package/dist/features/dashboard/queries.js +1 -0
  398. package/dist/features/dashboard/series.d.ts +32 -0
  399. package/dist/features/dashboard/series.js +1 -0
  400. package/dist/features/deals/actions.d.ts +60 -0
  401. package/dist/features/deals/actions.js +1 -0
  402. package/dist/features/deals/components/affiliate-deals.d.ts +10 -0
  403. package/dist/features/deals/components/affiliate-deals.js +1 -0
  404. package/dist/features/deals/components/assign-deal-button.d.ts +9 -0
  405. package/dist/features/deals/components/assign-deal-button.js +1 -0
  406. package/dist/features/deals/components/deal-dialog.d.ts +19 -0
  407. package/dist/features/deals/components/deal-dialog.js +1 -0
  408. package/dist/features/deals/components/deal-row-actions.d.ts +6 -0
  409. package/dist/features/deals/components/deal-row-actions.js +1 -0
  410. package/dist/features/deals/components/deal-status-badge.d.ts +10 -0
  411. package/dist/features/deals/components/deal-status-badge.js +1 -0
  412. package/dist/features/deals/components/deal-status-tabs.d.ts +1 -0
  413. package/dist/features/deals/components/deal-status-tabs.js +1 -0
  414. package/dist/features/deals/components/delegate-deal-button.d.ts +8 -0
  415. package/dist/features/deals/components/delegate-deal-button.js +1 -0
  416. package/dist/features/deals/deal-assigned-email.d.ts +11 -0
  417. package/dist/features/deals/deal-assigned-email.js +1 -0
  418. package/dist/features/deals/deal-delegated-email.d.ts +13 -0
  419. package/dist/features/deals/deal-delegated-email.js +1 -0
  420. package/dist/features/deals/list-params.d.ts +14 -0
  421. package/dist/features/deals/list-params.js +1 -0
  422. package/dist/features/earnings/components/earnings-balances.d.ts +4 -0
  423. package/dist/features/earnings/components/earnings-balances.js +1 -0
  424. package/dist/features/earnings/components/earnings-ledger.d.ts +5 -0
  425. package/dist/features/earnings/components/earnings-ledger.js +1 -0
  426. package/dist/features/earnings/components/earnings-status-badge.d.ts +4 -0
  427. package/dist/features/earnings/components/earnings-status-badge.js +1 -0
  428. package/dist/features/earnings/components/earnings-status-tabs.d.ts +1 -0
  429. package/dist/features/earnings/components/earnings-status-tabs.js +1 -0
  430. package/dist/features/earnings/components/sub-affiliate-earnings.d.ts +4 -0
  431. package/dist/features/earnings/components/sub-affiliate-earnings.js +1 -0
  432. package/dist/features/earnings/list-params.d.ts +14 -0
  433. package/dist/features/earnings/list-params.js +1 -0
  434. package/dist/features/earnings/queries.d.ts +30 -0
  435. package/dist/features/earnings/queries.js +1 -0
  436. package/dist/features/groups/actions.d.ts +36 -0
  437. package/dist/features/groups/actions.js +1 -0
  438. package/dist/features/groups/components/delete-group-confirm.d.ts +5 -0
  439. package/dist/features/groups/components/delete-group-confirm.js +1 -0
  440. package/dist/features/groups/components/group-create-button.d.ts +1 -0
  441. package/dist/features/groups/components/group-create-button.js +1 -0
  442. package/dist/features/groups/components/group-dialog.d.ts +11 -0
  443. package/dist/features/groups/components/group-dialog.js +1 -0
  444. package/dist/features/groups/components/group-form-fields.d.ts +10 -0
  445. package/dist/features/groups/components/group-form-fields.js +1 -0
  446. package/dist/features/groups/components/group-status-tabs.d.ts +1 -0
  447. package/dist/features/groups/components/group-status-tabs.js +1 -0
  448. package/dist/features/groups/components/groups-table.d.ts +9 -0
  449. package/dist/features/groups/components/groups-table.js +1 -0
  450. package/dist/features/groups/list-params.d.ts +14 -0
  451. package/dist/features/groups/list-params.js +1 -0
  452. package/dist/features/managers/actions.d.ts +43 -0
  453. package/dist/features/managers/actions.js +1 -0
  454. package/dist/features/managers/components/manager-create-button.d.ts +1 -0
  455. package/dist/features/managers/components/manager-create-button.js +1 -0
  456. package/dist/features/managers/components/manager-dialog.d.ts +11 -0
  457. package/dist/features/managers/components/manager-dialog.js +1 -0
  458. package/dist/features/managers/components/manager-permissions-dialog.d.ts +7 -0
  459. package/dist/features/managers/components/manager-permissions-dialog.js +1 -0
  460. package/dist/features/managers/components/manager-profile-fields.d.ts +7 -0
  461. package/dist/features/managers/components/manager-profile-fields.js +1 -0
  462. package/dist/features/managers/components/manager-status-tabs.d.ts +1 -0
  463. package/dist/features/managers/components/manager-status-tabs.js +1 -0
  464. package/dist/features/managers/components/managers-table.d.ts +8 -0
  465. package/dist/features/managers/components/managers-table.js +1 -0
  466. package/dist/features/managers/invite.d.ts +6 -0
  467. package/dist/features/managers/invite.js +1 -0
  468. package/dist/features/managers/list-params.d.ts +14 -0
  469. package/dist/features/managers/list-params.js +1 -0
  470. package/dist/features/payouts/actions.d.ts +12 -0
  471. package/dist/features/payouts/actions.js +1 -0
  472. package/dist/features/payouts/balance.d.ts +2 -0
  473. package/dist/features/payouts/balance.js +1 -0
  474. package/dist/features/payouts/components/my-payouts-table.d.ts +5 -0
  475. package/dist/features/payouts/components/my-payouts-table.js +1 -0
  476. package/dist/features/payouts/components/payout-row-actions.d.ts +5 -0
  477. package/dist/features/payouts/components/payout-row-actions.js +1 -0
  478. package/dist/features/payouts/components/payout-status-badge.d.ts +4 -0
  479. package/dist/features/payouts/components/payout-status-badge.js +1 -0
  480. package/dist/features/payouts/components/payout-status-tabs.d.ts +1 -0
  481. package/dist/features/payouts/components/payout-status-tabs.js +1 -0
  482. package/dist/features/payouts/components/payouts-table.d.ts +6 -0
  483. package/dist/features/payouts/components/payouts-table.js +1 -0
  484. package/dist/features/payouts/components/request-payout-dialog.d.ts +4 -0
  485. package/dist/features/payouts/components/request-payout-dialog.js +1 -0
  486. package/dist/features/payouts/constants.d.ts +2 -0
  487. package/dist/features/payouts/constants.js +1 -0
  488. package/dist/features/payouts/list-params.d.ts +14 -0
  489. package/dist/features/payouts/list-params.js +1 -0
  490. package/dist/features/payouts/my-queries.d.ts +14 -0
  491. package/dist/features/payouts/my-queries.js +1 -0
  492. package/dist/features/payouts/queries.d.ts +14 -0
  493. package/dist/features/payouts/queries.js +1 -0
  494. package/dist/features/postbacks/actions.d.ts +27 -0
  495. package/dist/features/postbacks/actions.js +1 -0
  496. package/dist/features/postbacks/components/integration-dialog.d.ts +6 -0
  497. package/dist/features/postbacks/components/integration-dialog.js +1 -0
  498. package/dist/features/postbacks/components/postback-editor.d.ts +5 -0
  499. package/dist/features/postbacks/components/postback-editor.js +1 -0
  500. package/dist/features/postbacks/components/postbacks-table.d.ts +4 -0
  501. package/dist/features/postbacks/components/postbacks-table.js +1 -0
  502. package/dist/features/settings/actions.d.ts +2 -0
  503. package/dist/features/settings/actions.js +1 -0
  504. package/dist/features/settings/components/affiliate-approval-setting.d.ts +3 -0
  505. package/dist/features/settings/components/affiliate-approval-setting.js +1 -0
  506. package/dist/features/settings/components/manager-totp-setting.d.ts +3 -0
  507. package/dist/features/settings/components/manager-totp-setting.js +1 -0
  508. package/dist/features/support/actions.d.ts +12 -0
  509. package/dist/features/support/actions.js +1 -0
  510. package/dist/features/support/components/support-page.d.ts +4 -0
  511. package/dist/features/support/components/support-page.js +1 -0
  512. package/dist/features/support/email.d.ts +13 -0
  513. package/dist/features/support/email.js +1 -0
  514. package/dist/features/users/actions.d.ts +4 -0
  515. package/dist/features/users/actions.js +1 -0
  516. package/dist/features/users/components/password-section.d.ts +1 -0
  517. package/dist/features/users/components/password-section.js +1 -0
  518. package/dist/features/users/components/preferences-section.d.ts +4 -0
  519. package/dist/features/users/components/preferences-section.js +1 -0
  520. package/dist/features/users/components/settings-tabs.d.ts +1 -0
  521. package/dist/features/users/components/settings-tabs.js +1 -0
  522. package/dist/features/users/components/totp-section.d.ts +4 -0
  523. package/dist/features/users/components/totp-section.js +1 -0
  524. package/dist/features/users/list-params.d.ts +12 -0
  525. package/dist/features/users/list-params.js +1 -0
  526. package/dist/features/users/totp.d.ts +7 -0
  527. package/dist/features/users/totp.js +1 -0
  528. package/dist/i18n/config.d.ts +5 -0
  529. package/dist/i18n/config.js +1 -0
  530. package/dist/i18n/get-locale.d.ts +3 -0
  531. package/dist/i18n/get-locale.js +1 -0
  532. package/dist/i18n/locale.d.ts +2 -0
  533. package/dist/i18n/locale.js +1 -0
  534. package/dist/lib/actions/parse-form.d.ts +3 -0
  535. package/dist/lib/actions/parse-form.js +1 -0
  536. package/dist/lib/actions/state.d.ts +22 -0
  537. package/dist/lib/actions/state.js +0 -0
  538. package/dist/lib/audit/actions.d.ts +9 -0
  539. package/dist/lib/audit/actions.js +1 -0
  540. package/dist/lib/audit/record.d.ts +4 -0
  541. package/dist/lib/audit/record.js +1 -0
  542. package/dist/lib/auth/action.d.ts +45 -0
  543. package/dist/lib/auth/action.js +1 -0
  544. package/dist/lib/auth/config.d.ts +24 -0
  545. package/dist/lib/auth/config.js +1 -0
  546. package/dist/lib/auth/jwt.d.ts +17 -0
  547. package/dist/lib/auth/jwt.js +1 -0
  548. package/dist/lib/auth/password-options.d.ts +6 -0
  549. package/dist/lib/auth/password-options.js +1 -0
  550. package/dist/lib/auth/password.d.ts +3 -0
  551. package/dist/lib/auth/password.js +1 -0
  552. package/dist/lib/auth/session.d.ts +26 -0
  553. package/dist/lib/auth/session.js +1 -0
  554. package/dist/lib/auth/tokens.d.ts +43 -0
  555. package/dist/lib/auth/tokens.js +1 -0
  556. package/dist/lib/auth/totp-challenge.d.ts +4 -0
  557. package/dist/lib/auth/totp-challenge.js +1 -0
  558. package/dist/lib/auth/totp.d.ts +7 -0
  559. package/dist/lib/auth/totp.js +1 -0
  560. package/dist/lib/auth/verification-tokens.d.ts +19 -0
  561. package/dist/lib/auth/verification-tokens.js +1 -0
  562. package/dist/lib/cn.d.ts +2 -0
  563. package/dist/lib/cn.js +1 -0
  564. package/dist/lib/countries.d.ts +18 -0
  565. package/dist/lib/countries.js +1 -0
  566. package/dist/lib/currencies.d.ts +6 -0
  567. package/dist/lib/currencies.js +1 -0
  568. package/dist/lib/data/countries-by-continent.json +257 -0
  569. package/dist/lib/db/errors.d.ts +4 -0
  570. package/dist/lib/db/errors.js +1 -0
  571. package/dist/lib/email/client.d.ts +6 -0
  572. package/dist/lib/email/client.js +1 -0
  573. package/dist/lib/email/env.d.ts +12 -0
  574. package/dist/lib/email/env.js +1 -0
  575. package/dist/lib/email/format.d.ts +5 -0
  576. package/dist/lib/email/format.js +1 -0
  577. package/dist/lib/email/locale.d.ts +3 -0
  578. package/dist/lib/email/locale.js +1 -0
  579. package/dist/lib/email/send.d.ts +12 -0
  580. package/dist/lib/email/send.js +1 -0
  581. package/dist/lib/env.d.ts +20 -0
  582. package/dist/lib/env.js +1 -0
  583. package/dist/lib/errors/codes.d.ts +72 -0
  584. package/dist/lib/errors/codes.js +1 -0
  585. package/dist/lib/errors/server.d.ts +10 -0
  586. package/dist/lib/errors/server.js +1 -0
  587. package/dist/lib/format.d.ts +3 -0
  588. package/dist/lib/format.js +1 -0
  589. package/dist/lib/hooks/use-deferred-dialog.d.ts +11 -0
  590. package/dist/lib/hooks/use-deferred-dialog.js +1 -0
  591. package/dist/lib/hooks/use-form-reset.d.ts +2 -0
  592. package/dist/lib/hooks/use-form-reset.js +1 -0
  593. package/dist/lib/hooks/use-form-toast.d.ts +2 -0
  594. package/dist/lib/hooks/use-form-toast.js +1 -0
  595. package/dist/lib/i18n/format-datetime.d.ts +1 -0
  596. package/dist/lib/i18n/format-datetime.js +1 -0
  597. package/dist/lib/i18n/relative-time.d.ts +1 -0
  598. package/dist/lib/i18n/relative-time.js +1 -0
  599. package/dist/lib/list-params.d.ts +51 -0
  600. package/dist/lib/list-params.js +1 -0
  601. package/dist/lib/money.d.ts +2 -0
  602. package/dist/lib/money.js +1 -0
  603. package/dist/lib/platform-settings.d.ts +5 -0
  604. package/dist/lib/platform-settings.js +1 -0
  605. package/dist/lib/preferences/actions.d.ts +1 -0
  606. package/dist/lib/preferences/actions.js +1 -0
  607. package/dist/lib/preferences/index.d.ts +15 -0
  608. package/dist/lib/preferences/index.js +1 -0
  609. package/dist/lib/preferences/read.d.ts +2 -0
  610. package/dist/lib/preferences/read.js +1 -0
  611. package/dist/lib/slug.d.ts +1 -0
  612. package/dist/lib/slug.js +1 -0
  613. package/dist/lib/toast.d.ts +13 -0
  614. package/dist/lib/toast.js +1 -0
  615. package/dist/lib/tracking-cache.d.ts +2 -0
  616. package/dist/lib/tracking-cache.js +1 -0
  617. package/dist/lib/users.d.ts +12 -0
  618. package/dist/lib/users.js +1 -0
  619. package/dist/lib/validation/zod.d.ts +30 -0
  620. package/dist/lib/validation/zod.js +1 -0
  621. package/dist/messages/de/emails.json +136 -0
  622. package/dist/messages/de/index.json +1104 -0
  623. package/dist/messages/en/emails.json +136 -0
  624. package/dist/messages/en/index.json +1104 -0
  625. package/dist/theme/config.d.ts +8 -0
  626. package/dist/theme/config.js +1 -0
  627. package/dist/theme/get-theme.d.ts +3 -0
  628. package/dist/theme/get-theme.js +1 -0
  629. package/dist/theme/theme.d.ts +2 -0
  630. package/dist/theme/theme.js +1 -0
  631. package/package.json +131 -0
@@ -0,0 +1,106 @@
1
+ export declare const verificationTokenPurpose: import("drizzle-orm/pg-core").PgEnum<["invite", "password_reset", "email_verify"]>;
2
+ export type VerificationTokenPurpose = (typeof verificationTokenPurpose.enumValues)[number];
3
+ export declare const VERIFICATION_PURPOSE: {
4
+ readonly invite: "invite";
5
+ readonly password_reset: "password_reset";
6
+ readonly email_verify: "email_verify";
7
+ };
8
+ export declare const verificationTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
9
+ name: "verification_tokens";
10
+ schema: undefined;
11
+ columns: {
12
+ id: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgUUIDBuilder>>, {
13
+ name: string;
14
+ tableName: "verification_tokens";
15
+ dataType: "string uuid";
16
+ data: string;
17
+ driverParam: string;
18
+ notNull: true;
19
+ hasDefault: true;
20
+ isPrimaryKey: false;
21
+ isAutoincrement: false;
22
+ hasRuntimeDefault: false;
23
+ enumValues: undefined;
24
+ identity: undefined;
25
+ generated: undefined;
26
+ }>;
27
+ userId: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgUUIDBuilder>, {
28
+ name: string;
29
+ tableName: "verification_tokens";
30
+ dataType: "string uuid";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: false;
35
+ isPrimaryKey: false;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: undefined;
39
+ identity: undefined;
40
+ generated: undefined;
41
+ }>;
42
+ purpose: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgEnumColumnBuilder<["invite", "password_reset", "email_verify"]>>, {
43
+ name: string;
44
+ tableName: "verification_tokens";
45
+ dataType: "string enum";
46
+ data: "invite" | "password_reset" | "email_verify";
47
+ driverParam: string;
48
+ notNull: true;
49
+ hasDefault: false;
50
+ isPrimaryKey: false;
51
+ isAutoincrement: false;
52
+ hasRuntimeDefault: false;
53
+ enumValues: ["invite", "password_reset", "email_verify"];
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }>;
57
+ tokenHash: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
58
+ name: string;
59
+ tableName: "verification_tokens";
60
+ dataType: "string";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: true;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: undefined;
69
+ identity: undefined;
70
+ generated: undefined;
71
+ }>;
72
+ createdAt: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>>, {
73
+ name: string;
74
+ tableName: "verification_tokens";
75
+ dataType: "object date";
76
+ data: Date;
77
+ driverParam: string;
78
+ notNull: true;
79
+ hasDefault: true;
80
+ isPrimaryKey: false;
81
+ isAutoincrement: false;
82
+ hasRuntimeDefault: false;
83
+ enumValues: undefined;
84
+ identity: undefined;
85
+ generated: undefined;
86
+ }>;
87
+ expiresAt: import("drizzle-orm/pg-core").PgBuildColumn<"verification_tokens", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>, {
88
+ name: string;
89
+ tableName: "verification_tokens";
90
+ dataType: "object date";
91
+ data: Date;
92
+ driverParam: string;
93
+ notNull: true;
94
+ hasDefault: false;
95
+ isPrimaryKey: false;
96
+ isAutoincrement: false;
97
+ hasRuntimeDefault: false;
98
+ enumValues: undefined;
99
+ identity: undefined;
100
+ generated: undefined;
101
+ }>;
102
+ };
103
+ dialect: "pg";
104
+ }>;
105
+ export type VerificationToken = typeof verificationTokens.$inferSelect;
106
+ export type NewVerificationToken = typeof verificationTokens.$inferInsert;
@@ -0,0 +1 @@
1
+ import{pgEnum as t,text as r,timestamp as i,uniqueIndex as n,uuid as o}from"drizzle-orm/pg-core";import{pgTable as s}from"./table.js";import{users as p}from"./users.js";const a=t("verification_token_purpose",["invite","password_reset","email_verify"]),l={invite:"invite",password_reset:"password_reset",email_verify:"email_verify"},m=s("verification_tokens",{id:o().primaryKey().defaultRandom(),userId:o().notNull().references(()=>p.id,{onDelete:"cascade"}),purpose:a().notNull(),tokenHash:r().notNull().unique(),createdAt:i({withTimezone:!0}).notNull().defaultNow(),expiresAt:i({withTimezone:!0}).notNull()},e=>[n("verification_tokens_user_purpose_idx").on(e.userId,e.purpose)]);export{l as VERIFICATION_PURPOSE,a as verificationTokenPurpose,m as verificationTokens};
@@ -0,0 +1,3 @@
1
+ export type Locale = "de" | "en";
2
+ export type Theme = "light" | "dark" | "system";
3
+ export type StoredPermission = `${string}:${string}` | "*";
File without changes
@@ -0,0 +1,70 @@
1
+ export declare const OPERATORS: readonly ["=", "IN", ">", "<", ">=", "<="];
2
+ export type Operator = (typeof OPERATORS)[number];
3
+ export declare const QUALIFIER_TYPES: readonly ["first_deposit", "deposits_sum", "deposits_count", "casino_wager"];
4
+ export type QualifierType = (typeof QUALIFIER_TYPES)[number];
5
+ export type Qualifier = {
6
+ id: string;
7
+ type: QualifierType;
8
+ value: number;
9
+ };
10
+ export declare const CONDITION_FIELD_KEYS: readonly ["country", "product", "deposits_sum", "since_registration_days"];
11
+ export type ConditionFieldKey = (typeof CONDITION_FIELD_KEYS)[number];
12
+ export declare const CONDITION_PRODUCT_VALUES: readonly ["casino", "sportsbook"];
13
+ export type ConditionValueType = "country" | "enum" | "number";
14
+ /**
15
+ * Canonical per-field spec, shared by the editor UI and the Zod validation so
16
+ * the allowed operators and the value shape for each condition field stay in
17
+ * lock-step. Value shapes by valueType:
18
+ * - country: a single ISO-3166-1 alpha-2 code (`=`) or a non-empty array of
19
+ * codes (`IN`)
20
+ * - enum: one of `options`
21
+ * - number: a finite number
22
+ */
23
+ export type ConditionFieldSpec = {
24
+ valueType: ConditionValueType;
25
+ operators: readonly Operator[];
26
+ options?: readonly string[];
27
+ };
28
+ export declare const CONDITION_FIELD_SPECS: Record<ConditionFieldKey, ConditionFieldSpec>;
29
+ export declare const CONDITION_GROUP_TYPES: readonly ["AND", "OR"];
30
+ export type ConditionGroupType = (typeof CONDITION_GROUP_TYPES)[number];
31
+ export type ConditionFieldNode = {
32
+ id: string;
33
+ type: "FIELD";
34
+ field: ConditionFieldKey;
35
+ op: Operator;
36
+ value: unknown;
37
+ };
38
+ export type ConditionGroupNode = {
39
+ id: string;
40
+ type: ConditionGroupType;
41
+ children: ConditionNode[];
42
+ };
43
+ export type ConditionNode = ConditionFieldNode | ConditionGroupNode;
44
+ export declare const MODIFIER_KEYS: readonly ["omit_duplicates", "omit_self_exclusions", "omit_disabled_players", "omit_unverified_players", "omit_cross_brand_duplicates"];
45
+ export type ModifierKey = (typeof MODIFIER_KEYS)[number];
46
+ export type Modifiers = Partial<Record<ModifierKey, boolean>>;
47
+ export declare const REWARD_EVENT_TRIGGERS: readonly ["registration", "ftd", "deposit"];
48
+ export type RewardEventTrigger = (typeof REWARD_EVENT_TRIGGERS)[number];
49
+ export declare const REWARD_METRICS: readonly ["casino_ngr", "deposits_sum", "casino_wager"];
50
+ export type RewardMetric = (typeof REWARD_METRICS)[number];
51
+ export type FixedReward = {
52
+ id: string;
53
+ type: "fixed";
54
+ event: RewardEventTrigger;
55
+ value: number;
56
+ };
57
+ export type RewardTier = {
58
+ id: string;
59
+ min: number;
60
+ rate: number;
61
+ };
62
+ export type PercentageReward = {
63
+ id: string;
64
+ type: "percentage";
65
+ metric: RewardMetric;
66
+ value: number;
67
+ tiers?: RewardTier[];
68
+ };
69
+ export type Reward = FixedReward | PercentageReward;
70
+ export declare const EMPTY_CONDITION_ROOT: ConditionGroupNode;
@@ -0,0 +1 @@
1
+ const o=["=","IN",">","<",">=","<="],t=["first_deposit","deposits_sum","deposits_count","casino_wager"],r=["country","product","deposits_sum","since_registration_days"],e=["casino","sportsbook"],i={country:{valueType:"country",operators:["=","IN"]},product:{valueType:"enum",operators:["="],options:e},deposits_sum:{valueType:"number",operators:["=",">","<",">=","<="]},since_registration_days:{valueType:"number",operators:["=",">","<",">=","<="]}},n=["AND","OR"],p=["omit_duplicates","omit_self_exclusions","omit_disabled_players","omit_unverified_players","omit_cross_brand_duplicates"],s=["registration","ftd","deposit"],d=["casino_ngr","deposits_sum","casino_wager"],a={id:"root",type:"AND",children:[]};export{r as CONDITION_FIELD_KEYS,i as CONDITION_FIELD_SPECS,n as CONDITION_GROUP_TYPES,e as CONDITION_PRODUCT_VALUES,a as EMPTY_CONDITION_ROOT,p as MODIFIER_KEYS,o as OPERATORS,t as QUALIFIER_TYPES,s as REWARD_EVENT_TRIGGERS,d as REWARD_METRICS};
@@ -0,0 +1,2 @@
1
+ export * from "./branded.js";
2
+ export * from "./commission-rules.js";
@@ -0,0 +1 @@
1
+ export*from"./branded.js";export*from"./commission-rules.js";
@@ -0,0 +1,39 @@
1
+ export type AdminSupportMessageStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ intro: string;
5
+ fromLabel: string;
6
+ subjectLabel: string;
7
+ messageLabel: string;
8
+ brandName: string;
9
+ footerNote: string;
10
+ };
11
+ type AdminSupportMessageEmailProps = {
12
+ senderName: string;
13
+ senderEmail: string;
14
+ subject: string;
15
+ message: string;
16
+ lang: string;
17
+ strings: AdminSupportMessageStrings;
18
+ };
19
+ export declare function AdminSupportMessageEmail({ senderName, senderEmail, subject, message, lang, strings, }: AdminSupportMessageEmailProps): import("react").JSX.Element;
20
+ export declare namespace AdminSupportMessageEmail {
21
+ var PreviewProps: {
22
+ senderName: string;
23
+ senderEmail: string;
24
+ subject: string;
25
+ message: string;
26
+ lang: string;
27
+ strings: {
28
+ preview: string;
29
+ heading: string;
30
+ intro: string;
31
+ fromLabel: string;
32
+ subjectLabel: string;
33
+ messageLabel: string;
34
+ brandName: string;
35
+ footerNote: string;
36
+ };
37
+ };
38
+ }
39
+ export default AdminSupportMessageEmail;
@@ -0,0 +1,5 @@
1
+ import{jsx as a,jsxs as s}from"react/jsx-runtime";import{Heading as p,Section as u,Text as t}from"@react-email/components";import{EmailLayout as d}from"../layout.js";import{previewBrandName as g}from"../preview-env.js";function r({senderName:n,senderEmail:m,subject:o,message:i,lang:l,strings:e}){return s(d,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:l,children:[a(p,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),a(t,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.intro}),s(u,{className:"mt-2 mb-4 rounded-md border border-solid border-neutral-200 bg-neutral-50 px-4 py-3",children:[a(t,{className:"m-0 mb-1 text-xs font-medium tracking-wide text-neutral-500 uppercase",children:e.fromLabel}),s(t,{className:"m-0 mb-4 text-sm text-neutral-900",children:[n," ",s("a",{href:`mailto:${m}`,className:"text-neutral-700 underline",children:["<",m,">"]})]}),a(t,{className:"m-0 mb-1 text-xs font-medium tracking-wide text-neutral-500 uppercase",children:e.subjectLabel}),a(t,{className:"m-0 mb-4 text-sm font-medium text-neutral-900",children:o}),a(t,{className:"m-0 mb-1 text-xs font-medium tracking-wide text-neutral-500 uppercase",children:e.messageLabel}),a(t,{className:"m-0 text-sm whitespace-pre-line text-neutral-800",children:i})]})]})}r.PreviewProps={senderName:"Sam Manager",senderEmail:"sam@example.com",subject:"Question about commission setup",message:`Hi,
2
+
3
+ We have a few affiliates that don't see their commission updates. Can you take a look?
4
+
5
+ Thanks!`,lang:"en",strings:{preview:"Support message: Question about commission setup",heading:"Support message",intro:"A support message was sent through the platform.",fromLabel:"From",subjectLabel:"Subject",messageLabel:"Message",brandName:g,footerNote:"This is an automated message. Please do not reply directly to this email."}};var f=r;export{r as AdminSupportMessageEmail,f as default};
@@ -0,0 +1,33 @@
1
+ export type AffiliateActivatedStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ fallback: string;
8
+ brandName: string;
9
+ footerNote: string;
10
+ };
11
+ type AffiliateActivatedEmailProps = {
12
+ signinUrl: string;
13
+ lang: string;
14
+ strings: AffiliateActivatedStrings;
15
+ };
16
+ export declare function AffiliateActivatedEmail({ signinUrl, lang, strings, }: AffiliateActivatedEmailProps): import("react").JSX.Element;
17
+ export declare namespace AffiliateActivatedEmail {
18
+ var PreviewProps: {
19
+ signinUrl: string;
20
+ lang: string;
21
+ strings: {
22
+ preview: string;
23
+ heading: string;
24
+ greeting: string;
25
+ body: string;
26
+ cta: string;
27
+ fallback: string;
28
+ brandName: string;
29
+ footerNote: string;
30
+ };
31
+ };
32
+ }
33
+ export default AffiliateActivatedEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as g}from"react/jsx-runtime";import{Button as l,Heading as s,Link as m,Text as i}from"@react-email/components";import{EmailLayout as d}from"../layout.js";import{previewBaseUrl as f,previewBrandName as n}from"../preview-env.js";function r({signinUrl:a,lang:o,strings:e}){return g(d,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:o,children:[t(s,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(i,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(i,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(l,{href:a,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(i,{className:"mt-6 m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(m,{href:a,className:"break-all text-xs text-neutral-700 underline",children:a})]})}r.PreviewProps={signinUrl:`${f}/signin`,lang:"en",strings:{preview:`Your ${n} account is now active`,heading:"Your account is active",greeting:"Hi Alex,",body:"A manager has approved your affiliate account. You can now sign in and start using the platform.",cta:`Sign in to ${n}`,fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:n,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var x=r;export{r as AffiliateActivatedEmail,x as default};
@@ -0,0 +1,35 @@
1
+ export type DealNoticeStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ detail: string;
7
+ cta: string;
8
+ fallback: string;
9
+ brandName: string;
10
+ footerNote: string;
11
+ };
12
+ type DealNoticeEmailProps = {
13
+ dealsUrl: string;
14
+ lang: string;
15
+ strings: DealNoticeStrings;
16
+ };
17
+ export declare function DealNoticeEmail({ dealsUrl, lang, strings, }: DealNoticeEmailProps): import("react").JSX.Element;
18
+ export declare namespace DealNoticeEmail {
19
+ var PreviewProps: {
20
+ dealsUrl: string;
21
+ lang: string;
22
+ strings: {
23
+ preview: string;
24
+ heading: string;
25
+ greeting: string;
26
+ body: string;
27
+ detail: string;
28
+ cta: string;
29
+ fallback: string;
30
+ brandName: string;
31
+ footerNote: string;
32
+ };
33
+ };
34
+ }
35
+ export default DealNoticeEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as g}from"react/jsx-runtime";import{Button as n,Heading as m,Link as s,Text as a}from"@react-email/components";import{EmailLayout as d}from"../layout.js";import{previewBaseUrl as x,previewBrandName as l}from"../preview-env.js";function o({dealsUrl:i,lang:r,strings:e}){return g(d,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:r,children:[t(m,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(a,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(a,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.body}),t(a,{className:"m-0 mb-6 rounded-md bg-neutral-100 px-4 py-3 text-sm leading-relaxed text-neutral-800",children:e.detail}),t(n,{href:i,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(a,{className:"mt-6 m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(s,{href:i,className:"break-all text-xs text-neutral-700 underline",children:i})]})}o.PreviewProps={dealsUrl:`${x}/deals`,lang:"en",strings:{preview:"A new commission deal is available to you",heading:"New commission deal",greeting:"Hi Alex,",body:`A new commission deal is available to you on ${l}.`,detail:"RevShare 30% \xB7 valid 1 July 2026 \u2013 31 December 2026",cta:"View your deals",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:l,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var b=o;export{o as DealNoticeEmail,b as default};
@@ -0,0 +1,35 @@
1
+ export type AffiliateInviteStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ expiresAtMessage: string;
8
+ fallback: string;
9
+ brandName: string;
10
+ footerNote: string;
11
+ };
12
+ type AffiliateInviteEmailProps = {
13
+ inviteUrl: string;
14
+ lang: string;
15
+ strings: AffiliateInviteStrings;
16
+ };
17
+ export declare function AffiliateInviteEmail({ inviteUrl, lang, strings, }: AffiliateInviteEmailProps): import("react").JSX.Element;
18
+ export declare namespace AffiliateInviteEmail {
19
+ var PreviewProps: {
20
+ inviteUrl: string;
21
+ lang: string;
22
+ strings: {
23
+ preview: string;
24
+ heading: string;
25
+ greeting: string;
26
+ body: string;
27
+ cta: string;
28
+ expiresAtMessage: string;
29
+ fallback: string;
30
+ brandName: string;
31
+ footerNote: string;
32
+ };
33
+ };
34
+ }
35
+ export default AffiliateInviteEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as f}from"react/jsx-runtime";import{Button as l,Heading as s,Link as m,Text as a}from"@react-email/components";import{EmailLayout as d}from"../layout.js";import{previewBaseUrl as x,previewBrandName as n}from"../preview-env.js";function r({inviteUrl:i,lang:o,strings:e}){return f(d,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:o,children:[t(s,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(a,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(a,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(l,{href:i,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(a,{className:"mt-6 mb-2 text-xs text-neutral-500",children:e.expiresAtMessage}),t(a,{className:"m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(m,{href:i,className:"break-all text-xs text-neutral-700 underline",children:i})]})}r.PreviewProps={inviteUrl:`${x}/accept-invite/abc123`,lang:"en",strings:{preview:`You've been invited to ${n}`,heading:"You're invited",greeting:"Hi Alex,",body:`You've been invited to join ${n} as an affiliate. Click the button below to set a password and activate your account.`,cta:"Set up your account",expiresAtMessage:"This invitation expires on May 1, 2026.",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:n,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var b=r;export{r as AffiliateInviteEmail,b as default};
@@ -0,0 +1,35 @@
1
+ export type AffiliateSignupVerifyStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ expiresAtMessage: string;
8
+ fallback: string;
9
+ brandName: string;
10
+ footerNote: string;
11
+ };
12
+ type AffiliateSignupVerifyEmailProps = {
13
+ verifyUrl: string;
14
+ lang: string;
15
+ strings: AffiliateSignupVerifyStrings;
16
+ };
17
+ export declare function AffiliateSignupVerifyEmail({ verifyUrl, lang, strings, }: AffiliateSignupVerifyEmailProps): import("react").JSX.Element;
18
+ export declare namespace AffiliateSignupVerifyEmail {
19
+ var PreviewProps: {
20
+ verifyUrl: string;
21
+ lang: string;
22
+ strings: {
23
+ preview: string;
24
+ heading: string;
25
+ greeting: string;
26
+ body: string;
27
+ cta: string;
28
+ expiresAtMessage: string;
29
+ fallback: string;
30
+ brandName: string;
31
+ footerNote: string;
32
+ };
33
+ };
34
+ }
35
+ export default AffiliateSignupVerifyEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as p}from"react/jsx-runtime";import{Button as o,Heading as s,Link as m,Text as i}from"@react-email/components";import{EmailLayout as f}from"../layout.js";import{previewBaseUrl as g,previewBrandName as r}from"../preview-env.js";function n({verifyUrl:a,lang:l,strings:e}){return p(f,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:l,children:[t(s,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(i,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(i,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(o,{href:a,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(i,{className:"mt-6 mb-2 text-xs text-neutral-500",children:e.expiresAtMessage}),t(i,{className:"m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(m,{href:a,className:"break-all text-xs text-neutral-700 underline",children:a})]})}n.PreviewProps={verifyUrl:`${g}/verify-email/abc123`,lang:"en",strings:{preview:`Welcome to ${r} \u2014 verify your email`,heading:`Welcome to ${r}`,greeting:"Hi Alex,",body:"Thanks for signing up! Click the button below to verify your email and access your affiliate account.",cta:"Verify and continue",expiresAtMessage:"This verification link expires on May 1, 2026.",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:r,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var y=n;export{n as AffiliateSignupVerifyEmail,y as default};
@@ -0,0 +1,37 @@
1
+ export type PasswordResetStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ expiresAtMessage: string;
8
+ fallback: string;
9
+ ignoreNotice: string;
10
+ brandName: string;
11
+ footerNote: string;
12
+ };
13
+ type PasswordResetEmailProps = {
14
+ resetUrl: string;
15
+ lang: string;
16
+ strings: PasswordResetStrings;
17
+ };
18
+ export declare function PasswordResetEmail({ resetUrl, lang, strings, }: PasswordResetEmailProps): import("react").JSX.Element;
19
+ export declare namespace PasswordResetEmail {
20
+ var PreviewProps: {
21
+ resetUrl: string;
22
+ lang: string;
23
+ strings: {
24
+ preview: string;
25
+ heading: string;
26
+ greeting: string;
27
+ body: string;
28
+ cta: string;
29
+ expiresAtMessage: string;
30
+ ignoreNotice: string;
31
+ fallback: string;
32
+ brandName: string;
33
+ footerNote: string;
34
+ };
35
+ };
36
+ }
37
+ export default PasswordResetEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as g}from"react/jsx-runtime";import{Button as n,Heading as l,Link as d,Text as a}from"@react-email/components";import{EmailLayout as m}from"../layout.js";import{previewBaseUrl as x,previewBrandName as s}from"../preview-env.js";function o({resetUrl:r,lang:i,strings:e}){return g(m,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:i,children:[t(l,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(a,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(a,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(n,{href:r,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(a,{className:"mt-6 mb-2 text-xs text-neutral-500",children:e.expiresAtMessage}),t(a,{className:"m-0 mb-2 text-xs leading-relaxed text-neutral-500",children:e.ignoreNotice}),t(a,{className:"m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(d,{href:r,className:"break-all text-xs text-neutral-700 underline",children:r})]})}o.PreviewProps={resetUrl:`${x}/reset-password/abc123`,lang:"en",strings:{preview:`Reset your ${s} password`,heading:"Reset your password",greeting:"Hi,",body:`We received a request to reset the password for your ${s} account. Click the button below to choose a new password.`,cta:"Reset password",expiresAtMessage:"This link expires on May 1, 2026.",ignoreNotice:"If you didn't request a reset, you can safely ignore this email \u2014 your password won't change.",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:s,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var w=o;export{o as PasswordResetEmail,w as default};
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ type EmailLayoutProps = {
3
+ preview: string;
4
+ brandName: string;
5
+ footerNote: string;
6
+ lang: string;
7
+ children: ReactNode;
8
+ };
9
+ export declare function EmailLayout({ preview, brandName, footerNote, lang, children, }: EmailLayoutProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Body as m,Container as d,Head as c,Hr as p,Html as x,Preview as b,Section as t,Tailwind as u,Text as a}from"@react-email/components";function N({preview:o,brandName:l,footerNote:n,lang:i,children:s}){return r(x,{lang:i,children:[e(c,{}),e(b,{children:o}),e(u,{children:e(m,{className:"m-0 bg-neutral-50 p-0 font-sans",children:r(d,{className:"mx-auto my-10 w-full max-w-140 rounded-lg border border-solid border-neutral-200 bg-white",children:[e(t,{className:"border-b border-solid border-neutral-200 px-8 py-5",children:e(a,{className:"m-0 text-base font-semibold tracking-tight text-neutral-900",children:l})}),e(t,{className:"px-8 py-6",children:s}),e(p,{className:"m-0 border-neutral-200"}),e(t,{className:"px-8 py-5",children:e(a,{className:"m-0 text-xs leading-relaxed text-neutral-500",children:n})})]})})})]})}export{N as EmailLayout};
@@ -0,0 +1,33 @@
1
+ export type ManagerAffiliateActivatedStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ fallback: string;
8
+ brandName: string;
9
+ footerNote: string;
10
+ };
11
+ type ManagerAffiliateActivatedEmailProps = {
12
+ affiliatesUrl: string;
13
+ lang: string;
14
+ strings: ManagerAffiliateActivatedStrings;
15
+ };
16
+ export declare function ManagerAffiliateActivatedEmail({ affiliatesUrl, lang, strings, }: ManagerAffiliateActivatedEmailProps): import("react").JSX.Element;
17
+ export declare namespace ManagerAffiliateActivatedEmail {
18
+ var PreviewProps: {
19
+ affiliatesUrl: string;
20
+ lang: string;
21
+ strings: {
22
+ preview: string;
23
+ heading: string;
24
+ greeting: string;
25
+ body: string;
26
+ cta: string;
27
+ fallback: string;
28
+ brandName: string;
29
+ footerNote: string;
30
+ };
31
+ };
32
+ }
33
+ export default ManagerAffiliateActivatedEmail;
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as g}from"react/jsx-runtime";import{Button as l,Heading as o,Link as s,Text as i}from"@react-email/components";import{EmailLayout as m}from"../layout.js";import{previewBaseUrl as f,previewBrandName as d}from"../preview-env.js";function r({affiliatesUrl:t,lang:n,strings:e}){return g(m,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:n,children:[a(o,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),a(i,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),a(i,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),a(l,{href:t,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),a(i,{className:"mt-6 m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),a(s,{href:t,className:"break-all text-xs text-neutral-700 underline",children:t})]})}r.PreviewProps={affiliatesUrl:`${f}/affiliates`,lang:"en",strings:{preview:"New affiliate is now active",heading:"New affiliate is now active",greeting:"Hi Sam,",body:"Alex Doe (alex@example.com) is now active as an affiliate and has access to the platform.",cta:"View affiliates",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:d,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var u=r;export{r as ManagerAffiliateActivatedEmail,u as default};
@@ -0,0 +1,33 @@
1
+ export type ManagerBulkAffiliatesActivatedStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ fallback: string;
8
+ brandName: string;
9
+ footerNote: string;
10
+ };
11
+ type ManagerBulkAffiliatesActivatedEmailProps = {
12
+ affiliatesUrl: string;
13
+ lang: string;
14
+ strings: ManagerBulkAffiliatesActivatedStrings;
15
+ };
16
+ export declare function ManagerBulkAffiliatesActivatedEmail({ affiliatesUrl, lang, strings, }: ManagerBulkAffiliatesActivatedEmailProps): import("react").JSX.Element;
17
+ export declare namespace ManagerBulkAffiliatesActivatedEmail {
18
+ var PreviewProps: {
19
+ affiliatesUrl: string;
20
+ lang: string;
21
+ strings: {
22
+ preview: string;
23
+ heading: string;
24
+ greeting: string;
25
+ body: string;
26
+ cta: string;
27
+ fallback: string;
28
+ brandName: string;
29
+ footerNote: string;
30
+ };
31
+ };
32
+ }
33
+ export default ManagerBulkAffiliatesActivatedEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as g}from"react/jsx-runtime";import{Button as l,Heading as o,Link as s,Text as i}from"@react-email/components";import{EmailLayout as m}from"../layout.js";import{previewBaseUrl as d,previewBrandName as f}from"../preview-env.js";function r({affiliatesUrl:a,lang:n,strings:e}){return g(m,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:n,children:[t(o,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(i,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(i,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(l,{href:a,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(i,{className:"mt-6 m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(s,{href:a,className:"break-all text-xs text-neutral-700 underline",children:a})]})}r.PreviewProps={affiliatesUrl:`${d}/affiliates`,lang:"en",strings:{preview:"5 affiliates are now active",heading:"5 affiliates are now active",greeting:"Hi Sam,",body:"Auto-approval was just enabled in platform settings, so 5 pending affiliates have been activated and now have access to the platform.",cta:"View affiliates",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:f,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var x=r;export{r as ManagerBulkAffiliatesActivatedEmail,x as default};
@@ -0,0 +1,35 @@
1
+ export type ManagerInviteStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ expiresAtMessage: string;
8
+ fallback: string;
9
+ brandName: string;
10
+ footerNote: string;
11
+ };
12
+ type ManagerInviteEmailProps = {
13
+ inviteUrl: string;
14
+ lang: string;
15
+ strings: ManagerInviteStrings;
16
+ };
17
+ export declare function ManagerInviteEmail({ inviteUrl, lang, strings, }: ManagerInviteEmailProps): import("react").JSX.Element;
18
+ export declare namespace ManagerInviteEmail {
19
+ var PreviewProps: {
20
+ inviteUrl: string;
21
+ lang: string;
22
+ strings: {
23
+ preview: string;
24
+ heading: string;
25
+ greeting: string;
26
+ body: string;
27
+ cta: string;
28
+ expiresAtMessage: string;
29
+ fallback: string;
30
+ brandName: string;
31
+ footerNote: string;
32
+ };
33
+ };
34
+ }
35
+ export default ManagerInviteEmail;
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as x}from"react/jsx-runtime";import{Button as s,Heading as l,Link as m,Text as a}from"@react-email/components";import{EmailLayout as d}from"../layout.js";import{previewBaseUrl as g,previewBrandName as i}from"../preview-env.js";function r({inviteUrl:n,lang:o,strings:e}){return x(d,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:o,children:[t(l,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),t(a,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),t(a,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),t(s,{href:n,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),t(a,{className:"mt-6 mb-2 text-xs text-neutral-500",children:e.expiresAtMessage}),t(a,{className:"m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),t(m,{href:n,className:"break-all text-xs text-neutral-700 underline",children:n})]})}r.PreviewProps={inviteUrl:`${g}/accept-invite/abc123`,lang:"en",strings:{preview:`You've been invited to manage on ${i}`,heading:"You're invited",greeting:"Hi Alex,",body:`You've been invited to join ${i} as a manager. Click the button below to set a password and activate your account.`,cta:"Set up your account",expiresAtMessage:"This invitation expires on May 1, 2026.",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:i,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var c=r;export{r as ManagerInviteEmail,c as default};
@@ -0,0 +1,33 @@
1
+ export type AffiliatePendingApprovalStrings = {
2
+ preview: string;
3
+ heading: string;
4
+ greeting: string;
5
+ body: string;
6
+ cta: string;
7
+ fallback: string;
8
+ brandName: string;
9
+ footerNote: string;
10
+ };
11
+ type AffiliatePendingApprovalEmailProps = {
12
+ reviewUrl: string;
13
+ lang: string;
14
+ strings: AffiliatePendingApprovalStrings;
15
+ };
16
+ export declare function AffiliatePendingApprovalEmail({ reviewUrl, lang, strings, }: AffiliatePendingApprovalEmailProps): import("react").JSX.Element;
17
+ export declare namespace AffiliatePendingApprovalEmail {
18
+ var PreviewProps: {
19
+ reviewUrl: string;
20
+ lang: string;
21
+ strings: {
22
+ preview: string;
23
+ heading: string;
24
+ greeting: string;
25
+ body: string;
26
+ cta: string;
27
+ fallback: string;
28
+ brandName: string;
29
+ footerNote: string;
30
+ };
31
+ };
32
+ }
33
+ export default AffiliatePendingApprovalEmail;
@@ -0,0 +1 @@
1
+ import{jsx as a,jsxs as f}from"react/jsx-runtime";import{Button as l,Heading as o,Link as p,Text as i}from"@react-email/components";import{EmailLayout as s}from"../layout.js";import{previewBaseUrl as m,previewBrandName as d}from"../preview-env.js";function r({reviewUrl:t,lang:n,strings:e}){return f(s,{preview:e.preview,brandName:e.brandName,footerNote:e.footerNote,lang:n,children:[a(o,{className:"m-0 mb-4 text-xl font-semibold text-neutral-900",children:e.heading}),a(i,{className:"m-0 mb-4 text-sm leading-relaxed text-neutral-700",children:e.greeting}),a(i,{className:"m-0 mb-6 text-sm leading-relaxed text-neutral-700",children:e.body}),a(l,{href:t,className:"rounded-md bg-neutral-900 px-5 py-3 text-sm font-medium text-white no-underline",children:e.cta}),a(i,{className:"mt-6 m-0 text-xs leading-relaxed text-neutral-500",children:e.fallback}),a(p,{href:t,className:"break-all text-xs text-neutral-700 underline",children:t})]})}r.PreviewProps={reviewUrl:`${m}/affiliates`,lang:"en",strings:{preview:"New affiliate awaiting approval",heading:"New affiliate awaiting approval",greeting:"Hi Sam,",body:"Alex Doe (alex@example.com) has signed up as an affiliate and is waiting for your approval. Review the pending list to activate or remove the request.",cta:"Review affiliates",fallback:"If the button doesn't work, copy and paste this link into your browser:",brandName:d,footerNote:"This is an automated message \u2014 please do not reply directly to this email."}};var v=r;export{r as AffiliatePendingApprovalEmail,v as default};
@@ -0,0 +1,2 @@
1
+ export declare const previewBaseUrl: string;
2
+ export declare const previewBrandName: string;
@@ -0,0 +1 @@
1
+ const e=process.env.APP_URL??"http://localhost:3000",o=process.env.BRAND_NAME??"Myfiliate";export{e as previewBaseUrl,o as previewBrandName};