@cedros/login-react 0.0.29 → 0.0.30

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 (175) hide show
  1. package/README.md +2 -0
  2. package/dist/{AdminDepositList-CyT4VBH8.js → AdminDepositList-BUm_ZcAW.js} +1 -1
  3. package/dist/{AdminDepositList-CyT4VBH8.js.map → AdminDepositList-BUm_ZcAW.js.map} +1 -1
  4. package/dist/{AdminDepositList-b2AXtLg0.cjs → AdminDepositList-B_z6x3j5.cjs} +1 -1
  5. package/dist/{AdminDepositList-b2AXtLg0.cjs.map → AdminDepositList-B_z6x3j5.cjs.map} +1 -1
  6. package/dist/{AdminWithdrawalHistory-DL9zbu2b.cjs → AdminWithdrawalHistory-B2EY2ZmH.cjs} +1 -1
  7. package/dist/{AdminWithdrawalHistory-DL9zbu2b.cjs.map → AdminWithdrawalHistory-B2EY2ZmH.cjs.map} +1 -1
  8. package/dist/{AdminWithdrawalHistory-Cud-yuWy.js → AdminWithdrawalHistory-C76bkbjX.js} +1 -1
  9. package/dist/{AdminWithdrawalHistory-Cud-yuWy.js.map → AdminWithdrawalHistory-C76bkbjX.js.map} +1 -1
  10. package/dist/{AuthenticationSettings-D6GvSw3g.cjs → AuthenticationSettings-C-aYDXNH.cjs} +1 -1
  11. package/dist/{AuthenticationSettings-D6GvSw3g.cjs.map → AuthenticationSettings-C-aYDXNH.cjs.map} +1 -1
  12. package/dist/AuthenticationSettings-CoTic-d_.cjs +1 -0
  13. package/dist/AuthenticationSettings-CoTic-d_.cjs.map +1 -0
  14. package/dist/{AuthenticationSettings-rb4Fksw5.js → AuthenticationSettings-CsPbxwP7.js} +1 -1
  15. package/dist/{AuthenticationSettings-rb4Fksw5.js.map → AuthenticationSettings-CsPbxwP7.js.map} +1 -1
  16. package/dist/AuthenticationSettings-DIVk0OP8.js +712 -0
  17. package/dist/AuthenticationSettings-DIVk0OP8.js.map +1 -0
  18. package/dist/AutosaveStatus-DGNI4lXn.cjs +1 -0
  19. package/dist/AutosaveStatus-DGNI4lXn.cjs.map +1 -0
  20. package/dist/{AutosaveStatus-vkJxtuEw.js → AutosaveStatus-f-jw25Ay.js} +141 -93
  21. package/dist/AutosaveStatus-f-jw25Ay.js.map +1 -0
  22. package/dist/{CreditSystemSettings-ChA_lbef.cjs → CreditSystemSettings-BNkvsgsk.cjs} +1 -1
  23. package/dist/{CreditSystemSettings-ChA_lbef.cjs.map → CreditSystemSettings-BNkvsgsk.cjs.map} +1 -1
  24. package/dist/{CreditSystemSettings-DsRipb2R.js → CreditSystemSettings-C6ed3yp7.js} +1 -1
  25. package/dist/{CreditSystemSettings-DsRipb2R.js.map → CreditSystemSettings-C6ed3yp7.js.map} +1 -1
  26. package/dist/{CreditSystemSettings-r3gnGjiU.cjs → CreditSystemSettings-DM9ep1TF.cjs} +1 -1
  27. package/dist/{CreditSystemSettings-r3gnGjiU.cjs.map → CreditSystemSettings-DM9ep1TF.cjs.map} +1 -1
  28. package/dist/{CreditSystemSettings-a31pqSYS.js → CreditSystemSettings-uinhzoha.js} +1 -1
  29. package/dist/{CreditSystemSettings-a31pqSYS.js.map → CreditSystemSettings-uinhzoha.js.map} +1 -1
  30. package/dist/{DepositsSection-DD9MKUFt.js → DepositsSection-Bb4ISzvE.js} +1 -1
  31. package/dist/{DepositsSection-DD9MKUFt.js.map → DepositsSection-Bb4ISzvE.js.map} +1 -1
  32. package/dist/{DepositsSection-BkKUS4vk.cjs → DepositsSection-uQUdGeVb.cjs} +1 -1
  33. package/dist/{DepositsSection-BkKUS4vk.cjs.map → DepositsSection-uQUdGeVb.cjs.map} +1 -1
  34. package/dist/EmailRegisterForm-B_TiJkD6.cjs +1 -0
  35. package/dist/EmailRegisterForm-B_TiJkD6.cjs.map +1 -0
  36. package/dist/EmailRegisterForm-CCEuQA-w.js +773 -0
  37. package/dist/EmailRegisterForm-CCEuQA-w.js.map +1 -0
  38. package/dist/{EmailSettings-BVJ4vz0Y.js → EmailSettings-BAuQtEfM.js} +1 -1
  39. package/dist/{EmailSettings-BVJ4vz0Y.js.map → EmailSettings-BAuQtEfM.js.map} +1 -1
  40. package/dist/{EmailSettings-Dg2SAiHj.cjs → EmailSettings-BC0f1PCI.cjs} +1 -1
  41. package/dist/{EmailSettings-Dg2SAiHj.cjs.map → EmailSettings-BC0f1PCI.cjs.map} +1 -1
  42. package/dist/{EmailSettings-CM5l8qqK.cjs → EmailSettings-BF5EiPl9.cjs} +1 -1
  43. package/dist/{EmailSettings-CM5l8qqK.cjs.map → EmailSettings-BF5EiPl9.cjs.map} +1 -1
  44. package/dist/{EmailSettings-xtVl4kXD.js → EmailSettings-BKuXy8sc.js} +1 -1
  45. package/dist/{EmailSettings-xtVl4kXD.js.map → EmailSettings-BKuXy8sc.js.map} +1 -1
  46. package/dist/{EmbeddedWalletSettings-Bmx8x21f.cjs → EmbeddedWalletSettings-BRjt2PAj.cjs} +1 -1
  47. package/dist/{EmbeddedWalletSettings-Bmx8x21f.cjs.map → EmbeddedWalletSettings-BRjt2PAj.cjs.map} +1 -1
  48. package/dist/{EmbeddedWalletSettings-BuDgqv-K.js → EmbeddedWalletSettings-C27X9He2.js} +1 -1
  49. package/dist/{EmbeddedWalletSettings-BuDgqv-K.js.map → EmbeddedWalletSettings-C27X9He2.js.map} +1 -1
  50. package/dist/{EmbeddedWalletSettings-BXN9VbNJ.cjs → EmbeddedWalletSettings-CJY39UZN.cjs} +1 -1
  51. package/dist/{EmbeddedWalletSettings-BXN9VbNJ.cjs.map → EmbeddedWalletSettings-CJY39UZN.cjs.map} +1 -1
  52. package/dist/{EmbeddedWalletSettings-DY5iJhS0.js → EmbeddedWalletSettings-Dmi-EQ7W.js} +1 -1
  53. package/dist/{EmbeddedWalletSettings-DY5iJhS0.js.map → EmbeddedWalletSettings-Dmi-EQ7W.js.map} +1 -1
  54. package/dist/GoogleLoginButton-CjBO3Rf1.cjs +1 -0
  55. package/dist/GoogleLoginButton-CjBO3Rf1.cjs.map +1 -0
  56. package/dist/{GoogleLoginButton-B6qnNMZp.js → GoogleLoginButton-DEbiQngr.js} +51 -51
  57. package/dist/GoogleLoginButton-DEbiQngr.js.map +1 -0
  58. package/dist/LoadingSpinner-6vml-zwr.js.map +1 -1
  59. package/dist/LoadingSpinner-d6sSxgQN.cjs.map +1 -1
  60. package/dist/{PermissionsSection-BPbE-hNx.cjs → PermissionsSection-DEMVp7X3.cjs} +1 -1
  61. package/dist/PermissionsSection-DEMVp7X3.cjs.map +1 -0
  62. package/dist/{PermissionsSection-CighC1p6.js → PermissionsSection-DNzOL1xW.js} +27 -25
  63. package/dist/PermissionsSection-DNzOL1xW.js.map +1 -0
  64. package/dist/{ServerSettings-BAstMKHS.js → ServerSettings-BT9weFPz.js} +1 -1
  65. package/dist/{ServerSettings-BAstMKHS.js.map → ServerSettings-BT9weFPz.js.map} +1 -1
  66. package/dist/{ServerSettings-LIIP5TPz.cjs → ServerSettings-CKfiLfXi.cjs} +1 -1
  67. package/dist/{ServerSettings-LIIP5TPz.cjs.map → ServerSettings-CKfiLfXi.cjs.map} +1 -1
  68. package/dist/{ServerSettings-9Q091f3o.js → ServerSettings-CZfBdMxG.js} +1 -1
  69. package/dist/{ServerSettings-9Q091f3o.js.map → ServerSettings-CZfBdMxG.js.map} +1 -1
  70. package/dist/{ServerSettings-PH7T8JKI.cjs → ServerSettings-rHrVN8O8.cjs} +1 -1
  71. package/dist/{ServerSettings-PH7T8JKI.cjs.map → ServerSettings-rHrVN8O8.cjs.map} +1 -1
  72. package/dist/SolanaLoginButton-DAV3r4oB.cjs +1 -0
  73. package/dist/SolanaLoginButton-DAV3r4oB.cjs.map +1 -0
  74. package/dist/{mobileWalletAdapter-Cm_AUXhg.js → SolanaLoginButton-DFOoLqoj.js} +75 -74
  75. package/dist/SolanaLoginButton-DFOoLqoj.js.map +1 -0
  76. package/dist/{TeamSection-BIECkp7g.js → TeamSection-CoMXyFtz.js} +2 -2
  77. package/dist/{TeamSection-BIECkp7g.js.map → TeamSection-CoMXyFtz.js.map} +1 -1
  78. package/dist/{TeamSection-BOH9pv_E.cjs → TeamSection-DopbZClq.cjs} +1 -1
  79. package/dist/{TeamSection-BOH9pv_E.cjs.map → TeamSection-DopbZClq.cjs.map} +1 -1
  80. package/dist/{UsersSection-t-zm0jZW.js → UsersSection--PAE1XRh.js} +1 -1
  81. package/dist/{UsersSection-t-zm0jZW.js.map → UsersSection--PAE1XRh.js.map} +1 -1
  82. package/dist/{UsersSection-e6q7FHzx.cjs → UsersSection-C7aRNkK2.cjs} +1 -1
  83. package/dist/{UsersSection-e6q7FHzx.cjs.map → UsersSection-C7aRNkK2.cjs.map} +1 -1
  84. package/dist/{WebhookSettings-D0F8ESlB.js → WebhookSettings-Bgld6D_T.js} +1 -1
  85. package/dist/{WebhookSettings-D0F8ESlB.js.map → WebhookSettings-Bgld6D_T.js.map} +1 -1
  86. package/dist/{WebhookSettings-2p9abGm5.cjs → WebhookSettings-DXjnq-c7.cjs} +1 -1
  87. package/dist/{WebhookSettings-2p9abGm5.cjs.map → WebhookSettings-DXjnq-c7.cjs.map} +1 -1
  88. package/dist/{WebhookSettings-CdFM7_V-.cjs → WebhookSettings-DnLk97Mr.cjs} +1 -1
  89. package/dist/{WebhookSettings-CdFM7_V-.cjs.map → WebhookSettings-DnLk97Mr.cjs.map} +1 -1
  90. package/dist/{WebhookSettings-CXMBju7N.js → WebhookSettings-ufiGTmbG.js} +1 -1
  91. package/dist/{WebhookSettings-CXMBju7N.js.map → WebhookSettings-ufiGTmbG.js.map} +1 -1
  92. package/dist/{WithdrawalsSection-yRDTVFsb.js → WithdrawalsSection-BN-FjTEV.js} +1 -1
  93. package/dist/{WithdrawalsSection-yRDTVFsb.js.map → WithdrawalsSection-BN-FjTEV.js.map} +1 -1
  94. package/dist/{WithdrawalsSection-sljIyeaz.cjs → WithdrawalsSection-BhuCwFat.cjs} +1 -1
  95. package/dist/{WithdrawalsSection-sljIyeaz.cjs.map → WithdrawalsSection-BhuCwFat.cjs.map} +1 -1
  96. package/dist/admin-only.cjs +1 -1
  97. package/dist/admin-only.js +1 -1
  98. package/dist/email-only.cjs +1 -1
  99. package/dist/email-only.d.ts +17 -1
  100. package/dist/email-only.js +3 -3
  101. package/dist/google-only.cjs +1 -1
  102. package/dist/google-only.d.ts +16 -0
  103. package/dist/google-only.js +3 -3
  104. package/dist/index.cjs +12 -12
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.d.ts +246 -10
  107. package/dist/index.js +3384 -2508
  108. package/dist/index.js.map +1 -1
  109. package/dist/login-react.css +1 -1
  110. package/dist/{plugin-DbkijwEV.js → plugin-BbExid4E.js} +1 -1
  111. package/dist/{plugin-DbkijwEV.js.map → plugin-BbExid4E.js.map} +1 -1
  112. package/dist/{plugin-PU2vAozn.cjs → plugin-Xca67fp7.cjs} +1 -1
  113. package/dist/{plugin-PU2vAozn.cjs.map → plugin-Xca67fp7.cjs.map} +1 -1
  114. package/dist/{shamir-CiBczzDN.cjs → shamir-DBpHm7WN.cjs} +1 -1
  115. package/dist/{shamir-CiBczzDN.cjs.map → shamir-DBpHm7WN.cjs.map} +1 -1
  116. package/dist/{shamir-OAB2zD9Y.js → shamir-R8ddesFt.js} +1 -1
  117. package/dist/{shamir-OAB2zD9Y.js.map → shamir-R8ddesFt.js.map} +1 -1
  118. package/dist/{silentWalletEnroll-FqXS7Rvh.js → silentWalletEnroll-Dp1GTeNr.js} +3 -3
  119. package/dist/{silentWalletEnroll-FqXS7Rvh.js.map → silentWalletEnroll-Dp1GTeNr.js.map} +1 -1
  120. package/dist/{silentWalletEnroll-wnkcB9HP.cjs → silentWalletEnroll-HPvsbd2J.cjs} +1 -1
  121. package/dist/{silentWalletEnroll-wnkcB9HP.cjs.map → silentWalletEnroll-HPvsbd2J.cjs.map} +1 -1
  122. package/dist/solana-only.cjs +1 -1
  123. package/dist/solana-only.d.ts +16 -0
  124. package/dist/solana-only.js +3 -3
  125. package/dist/{useAdminDeposits-BTSyeAfg.js → useAdminDeposits-C76B2Q_8.js} +1 -1
  126. package/dist/{useAdminDeposits-BTSyeAfg.js.map → useAdminDeposits-C76B2Q_8.js.map} +1 -1
  127. package/dist/{useAdminDeposits-BkkCwHWp.cjs → useAdminDeposits-CpLd68oP.cjs} +1 -1
  128. package/dist/{useAdminDeposits-BkkCwHWp.cjs.map → useAdminDeposits-CpLd68oP.cjs.map} +1 -1
  129. package/dist/{useAuth-m5Hf89v8.js → useAuth-CVLv2oKA.js} +547 -545
  130. package/dist/useAuth-CVLv2oKA.js.map +1 -0
  131. package/dist/useAuth-XZaciuLg.cjs +1 -0
  132. package/dist/useAuth-XZaciuLg.cjs.map +1 -0
  133. package/dist/useCedrosLogin-CFfID-0i.js +228 -0
  134. package/dist/useCedrosLogin-CFfID-0i.js.map +1 -0
  135. package/dist/useCedrosLogin-DtJorrE7.cjs +1 -0
  136. package/dist/useCedrosLogin-DtJorrE7.cjs.map +1 -0
  137. package/dist/{useOrgs-C3pzMA9h.js → useOrgs-C90KT9KP.js} +1 -1
  138. package/dist/{useOrgs-C3pzMA9h.js.map → useOrgs-C90KT9KP.js.map} +1 -1
  139. package/dist/{useOrgs-DDVRCaVi.cjs → useOrgs-CNqfn-fk.cjs} +1 -1
  140. package/dist/{useOrgs-DDVRCaVi.cjs.map → useOrgs-CNqfn-fk.cjs.map} +1 -1
  141. package/dist/{useSystemSettings-DRrreszl.cjs → useSystemSettings-B2jY51ob.cjs} +1 -1
  142. package/dist/{useSystemSettings-DRrreszl.cjs.map → useSystemSettings-B2jY51ob.cjs.map} +1 -1
  143. package/dist/{useSystemSettings-DBlAMjFi.js → useSystemSettings-rgskaDqP.js} +1 -1
  144. package/dist/{useSystemSettings-DBlAMjFi.js.map → useSystemSettings-rgskaDqP.js.map} +1 -1
  145. package/dist/{useUsersStatsSummary-NjEFvWuz.js → useUsersStatsSummary-5DJwzntC.js} +2 -2
  146. package/dist/{useUsersStatsSummary-NjEFvWuz.js.map → useUsersStatsSummary-5DJwzntC.js.map} +1 -1
  147. package/dist/{useUsersStatsSummary-8qY7iP4G.cjs → useUsersStatsSummary-DgKaUIfs.cjs} +1 -1
  148. package/dist/{useUsersStatsSummary-8qY7iP4G.cjs.map → useUsersStatsSummary-DgKaUIfs.cjs.map} +1 -1
  149. package/package.json +1 -1
  150. package/dist/AuthenticationSettings-C9f5MKgj.cjs +0 -1
  151. package/dist/AuthenticationSettings-C9f5MKgj.cjs.map +0 -1
  152. package/dist/AuthenticationSettings-DC64o_J6.js +0 -525
  153. package/dist/AuthenticationSettings-DC64o_J6.js.map +0 -1
  154. package/dist/AutosaveStatus-BFj5GIab.cjs +0 -1
  155. package/dist/AutosaveStatus-BFj5GIab.cjs.map +0 -1
  156. package/dist/AutosaveStatus-vkJxtuEw.js.map +0 -1
  157. package/dist/EmailRegisterForm-B1DB-bqe.cjs +0 -1
  158. package/dist/EmailRegisterForm-B1DB-bqe.cjs.map +0 -1
  159. package/dist/EmailRegisterForm-BAX_uBIt.js +0 -927
  160. package/dist/EmailRegisterForm-BAX_uBIt.js.map +0 -1
  161. package/dist/GoogleLoginButton-B6qnNMZp.js.map +0 -1
  162. package/dist/GoogleLoginButton-D7CoMXLq.cjs +0 -1
  163. package/dist/GoogleLoginButton-D7CoMXLq.cjs.map +0 -1
  164. package/dist/PermissionsSection-BPbE-hNx.cjs.map +0 -1
  165. package/dist/PermissionsSection-CighC1p6.js.map +0 -1
  166. package/dist/mobileWalletAdapter-B6ELaZp1.cjs +0 -1
  167. package/dist/mobileWalletAdapter-B6ELaZp1.cjs.map +0 -1
  168. package/dist/mobileWalletAdapter-Cm_AUXhg.js.map +0 -1
  169. package/dist/useAuth-X6Ds6WW4.cjs +0 -1
  170. package/dist/useAuth-X6Ds6WW4.cjs.map +0 -1
  171. package/dist/useAuth-m5Hf89v8.js.map +0 -1
  172. package/dist/useCedrosLogin-C9MrcZvh.cjs +0 -1
  173. package/dist/useCedrosLogin-C9MrcZvh.cjs.map +0 -1
  174. package/dist/useCedrosLogin-_94MmGGq.js +0 -216
  175. package/dist/useCedrosLogin-_94MmGGq.js.map +0 -1
@@ -1,15 +1,15 @@
1
1
  import { jsx as t, jsxs as u, Fragment as f } from "react/jsx-runtime";
2
- import { useMemo as T, useCallback as d, useState as w, useRef as S, useEffect as O } from "react";
3
- import { u as E } from "./useSystemSettings-DBlAMjFi.js";
4
- function I(e) {
5
- const s = Math.floor(e / 86400), a = Math.floor(e % 86400 / 3600), r = Math.floor(e % 3600 / 60), l = e % 60;
6
- return { days: s, hours: a, minutes: r, seconds: l };
2
+ import { useMemo as S, useCallback as d, useState as w, useRef as T, useEffect as O } from "react";
3
+ import { u as E } from "./useSystemSettings-rgskaDqP.js";
4
+ function R(e) {
5
+ const s = Math.floor(e / 86400), a = Math.floor(e % 86400 / 3600), r = Math.floor(e % 3600 / 60), i = e % 60;
6
+ return { days: s, hours: a, minutes: r, seconds: i };
7
7
  }
8
- function M(e) {
9
- const { days: s, hours: a, minutes: r } = I(e), l = [];
10
- return s > 0 && l.push(`${s}d`), a > 0 && l.push(`${a}h`), r > 0 && l.push(`${r}m`), l.length === 0 && l.push(`${e}s`), l.join(" ");
8
+ function I(e) {
9
+ const { days: s, hours: a, minutes: r } = R(e), i = [];
10
+ return s > 0 && i.push(`${s}d`), a > 0 && i.push(`${a}h`), r > 0 && i.push(`${r}m`), i.length === 0 && i.push(`${e}s`), i.join(" ");
11
11
  }
12
- const R = {
12
+ const M = {
13
13
  // ============= Authentication Providers =============
14
14
  // Email auth
15
15
  auth_email_enabled: {
@@ -155,7 +155,7 @@ const R = {
155
155
  feature_mfa: {
156
156
  key: "feature_mfa",
157
157
  label: "Two-Factor Authentication",
158
- description: "Allow users to enable TOTP-based two-factor authentication.",
158
+ description: "Allow users to enable TOTP-based two-factor authentication for email/password sign-in. OAuth (Google, Apple) and passkey logins are not affected — those providers handle their own verification.",
159
159
  inputType: "boolean"
160
160
  },
161
161
  feature_wallet_signing: {
@@ -188,6 +188,12 @@ const R = {
188
188
  inputType: "boolean"
189
189
  },
190
190
  // ============= Security Settings =============
191
+ security_require_mfa: {
192
+ key: "security_require_mfa",
193
+ label: "Require Two-Factor Authentication",
194
+ description: 'Require users with email/password credentials to set up TOTP two-factor authentication. Users will be prompted to enroll after their next sign-in. Does not affect OAuth, passkey, or wallet sign-in methods. Works independently of the "Two-Factor Authentication" feature flag (which controls UI visibility).',
195
+ inputType: "boolean"
196
+ },
191
197
  security_cors_origins: {
192
198
  key: "security_cors_origins",
193
199
  label: "CORS Origins",
@@ -868,6 +874,33 @@ const R = {
868
874
  below: 5e8,
869
875
  message: "Very small withdrawals may lose significant value to fees."
870
876
  }
877
+ },
878
+ // ============= Post-Login Flow =============
879
+ postlogin_redirect_url: {
880
+ key: "postlogin_redirect_url",
881
+ label: "Redirect URL",
882
+ description: "URL to redirect to after login. Leave empty for default behavior (consumer app decides).",
883
+ inputType: "text",
884
+ placeholder: "https://example.com/dashboard"
885
+ },
886
+ postlogin_welcome_enabled: {
887
+ key: "postlogin_welcome_enabled",
888
+ label: "Enable Welcome Page",
889
+ description: "Show a one-time welcome/onboarding page to new users after their first login.",
890
+ inputType: "boolean"
891
+ },
892
+ postlogin_welcome_route: {
893
+ key: "postlogin_welcome_route",
894
+ label: "Welcome Route",
895
+ description: "Route for the welcome/onboarding page.",
896
+ inputType: "text",
897
+ placeholder: "/welcome"
898
+ },
899
+ postlogin_complete_enabled: {
900
+ key: "postlogin_complete_enabled",
901
+ label: "Prompt Profile Completion",
902
+ description: "Prompt users to fill in missing name or email after login. Shows every login until the user completes or skips.",
903
+ inputType: "boolean"
871
904
  }
872
905
  }, X = {
873
906
  // Auth providers (sorted alphabetically by subcategory)
@@ -906,6 +939,21 @@ const R = {
906
939
  description: "Core deposit and credit system configuration.",
907
940
  icon: ""
908
941
  },
942
+ postlogin: {
943
+ label: "Post-Login",
944
+ description: "Configure what happens after a user logs in.",
945
+ icon: ""
946
+ },
947
+ "postlogin.welcome": {
948
+ label: "Welcome Page",
949
+ description: "One-time onboarding page shown to new users after first login.",
950
+ icon: ""
951
+ },
952
+ "postlogin.complete": {
953
+ label: "Profile Completion",
954
+ description: "Prompt users to fill in missing profile information.",
955
+ icon: ""
956
+ },
909
957
  deposit: {
910
958
  label: "Deposit Settings",
911
959
  description: "Configure deposit tokens, fees, and related settings.",
@@ -951,7 +999,7 @@ const R = {
951
999
  description: "Configure how the automated withdrawal processor handles pending withdrawals. These settings affect throughput and privacy.",
952
1000
  icon: ""
953
1001
  }
954
- }, C = [
1002
+ }, A = [
955
1003
  "SOL",
956
1004
  "USDC",
957
1005
  "USDT",
@@ -963,11 +1011,11 @@ const R = {
963
1011
  "BONK",
964
1012
  "ORE"
965
1013
  ];
966
- function P(e) {
1014
+ function N(e) {
967
1015
  const s = e.split(/(<a\s[^>]*>.*?<\/a>)/g);
968
1016
  return s.length === 1 ? e : s.map((a, r) => {
969
- const l = a.match(/^<a\s+href="([^"]+)"[^>]*>([^<]+)<\/a>$/);
970
- return l ? /* @__PURE__ */ t("a", { href: l[1], target: "_blank", rel: "noopener noreferrer", children: l[2] }, r) : a;
1017
+ const i = a.match(/^<a\s+href="([^"]+)"[^>]*>([^<]+)<\/a>$/);
1018
+ return i ? /* @__PURE__ */ t("a", { href: i[1], target: "_blank", rel: "noopener noreferrer", children: i[2] }, r) : a;
971
1019
  });
972
1020
  }
973
1021
  function Q({
@@ -976,27 +1024,27 @@ function Q({
976
1024
  onChange: a,
977
1025
  externalWarnings: r
978
1026
  }) {
979
- return /* @__PURE__ */ t("div", { className: "cedros-settings-grid", children: e.map((l) => /* @__PURE__ */ t(
1027
+ return /* @__PURE__ */ t("div", { className: "cedros-settings-grid", children: e.map((i) => /* @__PURE__ */ t(
980
1028
  U,
981
1029
  {
982
- setting: l,
983
- editValue: s[l.key],
1030
+ setting: i,
1031
+ editValue: s[i.key],
984
1032
  onChange: a,
985
- externalWarning: r?.[l.key]
1033
+ externalWarning: r?.[i.key]
986
1034
  },
987
- l.key
1035
+ i.key
988
1036
  )) });
989
1037
  }
990
1038
  function U({ setting: e, editValue: s, onChange: a, externalWarning: r }) {
991
- const l = R[e.key], i = s ?? e.value, p = s !== void 0 && s !== e.value, n = l?.inputType === "boolean", o = T(() => {
1039
+ const i = M[e.key], l = s ?? e.value, p = s !== void 0 && s !== e.value, n = i?.inputType === "boolean", o = S(() => {
992
1040
  if (r) return r;
993
- if (!l?.warningThreshold) return null;
994
- const c = parseInt(i, 10);
1041
+ if (!i?.warningThreshold) return null;
1042
+ const c = parseInt(l, 10);
995
1043
  if (isNaN(c)) return null;
996
- const { above: m, below: y, message: _ } = l.warningThreshold;
1044
+ const { above: m, below: y, message: _ } = i.warningThreshold;
997
1045
  return m !== void 0 && c > m || y !== void 0 && c < y ? _ : null;
998
- }, [i, l?.warningThreshold, r]);
999
- return l ? /* @__PURE__ */ t(
1046
+ }, [l, i?.warningThreshold, r]);
1047
+ return i ? /* @__PURE__ */ t(
1000
1048
  "div",
1001
1049
  {
1002
1050
  className: `cedros-setting-row ${p ? "cedros-setting-row-changed" : ""} ${o ? "cedros-setting-row-warning" : ""} ${n ? "cedros-setting-row-toggle" : ""}`,
@@ -1005,28 +1053,28 @@ function U({ setting: e, editValue: s, onChange: a, externalWarning: r }) {
1005
1053
  /* @__PURE__ */ t(
1006
1054
  x,
1007
1055
  {
1008
- meta: l,
1009
- value: i,
1056
+ meta: i,
1057
+ value: l,
1010
1058
  onChange: (c) => a(e.key, c)
1011
1059
  }
1012
1060
  ),
1013
1061
  o && /* @__PURE__ */ t("div", { className: "cedros-setting-warning", children: o })
1014
1062
  ] }),
1015
1063
  /* @__PURE__ */ u("div", { className: "cedros-setting-label", children: [
1016
- /* @__PURE__ */ t("span", { className: "cedros-setting-name", children: l.label }),
1017
- /* @__PURE__ */ t("span", { className: "cedros-setting-description", children: P(l.description) })
1064
+ /* @__PURE__ */ t("span", { className: "cedros-setting-name", children: i.label }),
1065
+ /* @__PURE__ */ t("span", { className: "cedros-setting-description", children: N(i.description) })
1018
1066
  ] })
1019
1067
  ] }) : /* @__PURE__ */ u(f, { children: [
1020
1068
  /* @__PURE__ */ u("div", { className: "cedros-setting-label", children: [
1021
- /* @__PURE__ */ t("span", { className: "cedros-setting-name", children: l.label }),
1022
- /* @__PURE__ */ t("span", { className: "cedros-setting-description", children: P(l.description) })
1069
+ /* @__PURE__ */ t("span", { className: "cedros-setting-name", children: i.label }),
1070
+ /* @__PURE__ */ t("span", { className: "cedros-setting-description", children: N(i.description) })
1023
1071
  ] }),
1024
1072
  /* @__PURE__ */ u("div", { className: "cedros-setting-control", children: [
1025
1073
  /* @__PURE__ */ t(
1026
1074
  x,
1027
1075
  {
1028
- meta: l,
1029
- value: i,
1076
+ meta: i,
1077
+ value: l,
1030
1078
  onChange: (c) => a(e.key, c)
1031
1079
  }
1032
1080
  ),
@@ -1043,7 +1091,7 @@ function U({ setting: e, editValue: s, onChange: a, externalWarning: r }) {
1043
1091
  "input",
1044
1092
  {
1045
1093
  type: "text",
1046
- value: i,
1094
+ value: l,
1047
1095
  onChange: (c) => a(e.key, c.target.value),
1048
1096
  className: "cedros-setting-input"
1049
1097
  }
@@ -1088,7 +1136,7 @@ function x({ meta: e, value: s, onChange: a }) {
1088
1136
  }
1089
1137
  );
1090
1138
  case "tokenList":
1091
- return /* @__PURE__ */ t(B, { value: s, onChange: a });
1139
+ return /* @__PURE__ */ t(G, { value: s, onChange: a });
1092
1140
  case "text":
1093
1141
  return /* @__PURE__ */ t(
1094
1142
  "input",
@@ -1105,7 +1153,7 @@ function x({ meta: e, value: s, onChange: a }) {
1105
1153
  case "secret":
1106
1154
  return /* @__PURE__ */ t(J, { value: s, onChange: a, multiline: e.multiline });
1107
1155
  case "tokenSymbolList":
1108
- return /* @__PURE__ */ t(G, { value: s, onChange: a });
1156
+ return /* @__PURE__ */ t(B, { value: s, onChange: a });
1109
1157
  default:
1110
1158
  return /* @__PURE__ */ t(
1111
1159
  "input",
@@ -1119,7 +1167,7 @@ function x({ meta: e, value: s, onChange: a }) {
1119
1167
  }
1120
1168
  }
1121
1169
  function F({ value: e, onChange: s, presets: a, min: r = 0 }) {
1122
- const l = parseInt(e, 10) || 0, i = M(l), p = d(
1170
+ const i = parseInt(e, 10) || 0, l = I(i), p = d(
1123
1171
  (o) => {
1124
1172
  o.target.value && s(o.target.value);
1125
1173
  },
@@ -1149,7 +1197,7 @@ function F({ value: e, onChange: s, presets: a, min: r = 0 }) {
1149
1197
  "input",
1150
1198
  {
1151
1199
  type: "number",
1152
- value: l,
1200
+ value: i,
1153
1201
  onChange: n,
1154
1202
  min: r,
1155
1203
  className: "cedros-setting-input cedros-setting-input-sm"
@@ -1158,7 +1206,7 @@ function F({ value: e, onChange: s, presets: a, min: r = 0 }) {
1158
1206
  /* @__PURE__ */ t("span", { className: "cedros-setting-unit", children: "seconds" }),
1159
1207
  /* @__PURE__ */ u("span", { className: "cedros-duration-display", children: [
1160
1208
  "= ",
1161
- i
1209
+ l
1162
1210
  ] })
1163
1211
  ] })
1164
1212
  ] });
@@ -1168,8 +1216,8 @@ function W({
1168
1216
  onChange: s,
1169
1217
  min: a,
1170
1218
  max: r,
1171
- step: l,
1172
- presets: i
1219
+ step: i,
1220
+ presets: l
1173
1221
  }) {
1174
1222
  const p = parseInt(e, 10) || a, n = d(
1175
1223
  (c) => {
@@ -1192,7 +1240,7 @@ function W({
1192
1240
  onChange: n,
1193
1241
  min: a,
1194
1242
  max: r,
1195
- step: l,
1243
+ step: i,
1196
1244
  className: "cedros-percentage-slider"
1197
1245
  }
1198
1246
  ),
@@ -1201,7 +1249,7 @@ function W({
1201
1249
  "%"
1202
1250
  ] })
1203
1251
  ] }),
1204
- i && i.length > 0 && /* @__PURE__ */ t("div", { className: "cedros-preset-buttons", children: i.map((c) => /* @__PURE__ */ t(
1252
+ l && l.length > 0 && /* @__PURE__ */ t("div", { className: "cedros-preset-buttons", children: l.map((c) => /* @__PURE__ */ t(
1205
1253
  "button",
1206
1254
  {
1207
1255
  type: "button",
@@ -1214,7 +1262,7 @@ function W({
1214
1262
  ] });
1215
1263
  }
1216
1264
  function q({ value: e, onChange: s, presets: a, unit: r }) {
1217
- const l = !a.some((n) => n.value === e), i = d(
1265
+ const i = !a.some((n) => n.value === e), l = d(
1218
1266
  (n) => {
1219
1267
  n.target.value !== "__custom__" && s(n.target.value);
1220
1268
  },
@@ -1229,8 +1277,8 @@ function q({ value: e, onChange: s, presets: a, unit: r }) {
1229
1277
  /* @__PURE__ */ u(
1230
1278
  "select",
1231
1279
  {
1232
- value: l ? "__custom__" : e,
1233
- onChange: i,
1280
+ value: i ? "__custom__" : e,
1281
+ onChange: l,
1234
1282
  className: "cedros-setting-select",
1235
1283
  children: [
1236
1284
  a.map((n) => /* @__PURE__ */ t("option", { value: n.value, children: n.label }, n.value)),
@@ -1238,7 +1286,7 @@ function q({ value: e, onChange: s, presets: a, unit: r }) {
1238
1286
  ]
1239
1287
  }
1240
1288
  ),
1241
- l && /* @__PURE__ */ u("div", { className: "cedros-select-custom", children: [
1289
+ i && /* @__PURE__ */ u("div", { className: "cedros-select-custom", children: [
1242
1290
  /* @__PURE__ */ t(
1243
1291
  "input",
1244
1292
  {
@@ -1252,8 +1300,8 @@ function q({ value: e, onChange: s, presets: a, unit: r }) {
1252
1300
  ] })
1253
1301
  ] });
1254
1302
  }
1255
- function $({ value: e, onChange: s, min: a, max: r, unit: l }) {
1256
- const i = d(
1303
+ function $({ value: e, onChange: s, min: a, max: r, unit: i }) {
1304
+ const l = d(
1257
1305
  (p) => {
1258
1306
  s(p.target.value);
1259
1307
  },
@@ -1265,13 +1313,13 @@ function $({ value: e, onChange: s, min: a, max: r, unit: l }) {
1265
1313
  {
1266
1314
  type: "number",
1267
1315
  value: e,
1268
- onChange: i,
1316
+ onChange: l,
1269
1317
  min: a,
1270
1318
  max: r,
1271
1319
  className: "cedros-setting-input"
1272
1320
  }
1273
1321
  ),
1274
- l && /* @__PURE__ */ t("span", { className: "cedros-setting-unit", children: l })
1322
+ i && /* @__PURE__ */ t("span", { className: "cedros-setting-unit", children: i })
1275
1323
  ] });
1276
1324
  }
1277
1325
  function j({ value: e, onChange: s }) {
@@ -1294,10 +1342,10 @@ function j({ value: e, onChange: s }) {
1294
1342
  );
1295
1343
  }
1296
1344
  function J({ value: e, onChange: s, multiline: a }) {
1297
- const [r, l] = w(!1), [i, p] = w(!1), n = e && e.length > 0, o = d(() => {
1298
- l(!0), p(!0);
1345
+ const [r, i] = w(!1), [l, p] = w(!1), n = e && e.length > 0, o = d(() => {
1346
+ i(!0), p(!0);
1299
1347
  }, []), c = d(() => {
1300
- l(!1), p(!1);
1348
+ i(!1), p(!1);
1301
1349
  }, []), m = d(
1302
1350
  (y) => {
1303
1351
  s(y.target.value);
@@ -1320,7 +1368,7 @@ function J({ value: e, onChange: s, multiline: a }) {
1320
1368
  ) : /* @__PURE__ */ t(
1321
1369
  "input",
1322
1370
  {
1323
- type: i ? "text" : "password",
1371
+ type: l ? "text" : "password",
1324
1372
  value: e,
1325
1373
  onChange: m,
1326
1374
  className: "cedros-setting-input",
@@ -1333,16 +1381,16 @@ function J({ value: e, onChange: s, multiline: a }) {
1333
1381
  {
1334
1382
  type: "button",
1335
1383
  className: "cedros-secret-toggle-btn",
1336
- onClick: () => p(!i),
1337
- children: i ? "Hide" : "Show"
1384
+ onClick: () => p(!l),
1385
+ children: l ? "Hide" : "Show"
1338
1386
  }
1339
1387
  ),
1340
1388
  r && /* @__PURE__ */ t("button", { type: "button", className: "cedros-secret-done-btn", onClick: c, children: "Done" })
1341
1389
  ] })
1342
1390
  ] });
1343
1391
  }
1344
- function B({ value: e, onChange: s }) {
1345
- const a = T(() => {
1392
+ function G({ value: e, onChange: s }) {
1393
+ const a = S(() => {
1346
1394
  try {
1347
1395
  return JSON.parse(e || "[]");
1348
1396
  } catch {
@@ -1353,9 +1401,9 @@ function B({ value: e, onChange: s }) {
1353
1401
  s(JSON.stringify(n));
1354
1402
  },
1355
1403
  [s]
1356
- ), l = d(() => {
1404
+ ), i = d(() => {
1357
1405
  r([...a, { symbol: "", mint: "", decimals: 6 }]);
1358
- }, [a, r]), i = d(
1406
+ }, [a, r]), l = d(
1359
1407
  (n, o, c) => {
1360
1408
  const m = [...a];
1361
1409
  m[n] = { ...m[n], [o]: c }, r(m);
@@ -1370,7 +1418,7 @@ function B({ value: e, onChange: s }) {
1370
1418
  return /* @__PURE__ */ u("div", { className: "cedros-token-list-input", children: [
1371
1419
  /* @__PURE__ */ u("div", { className: "cedros-token-presets", children: [
1372
1420
  /* @__PURE__ */ t("span", { className: "cedros-token-presets-label", children: "Built-in tokens:" }),
1373
- /* @__PURE__ */ t("div", { className: "cedros-token-presets-list", children: C.map((n) => /* @__PURE__ */ t("span", { className: "cedros-token-preset-chip", children: n }, n)) })
1421
+ /* @__PURE__ */ t("div", { className: "cedros-token-presets-list", children: A.map((n) => /* @__PURE__ */ t("span", { className: "cedros-token-preset-chip", children: n }, n)) })
1374
1422
  ] }),
1375
1423
  a.length === 0 && /* @__PURE__ */ t("p", { className: "cedros-token-list-empty", children: "No custom tokens added. Use the built-in tokens above or add your own." }),
1376
1424
  a.map((n, o) => /* @__PURE__ */ u("div", { className: "cedros-token-row", children: [
@@ -1381,7 +1429,7 @@ function B({ value: e, onChange: s }) {
1381
1429
  type: "text",
1382
1430
  placeholder: "Symbol",
1383
1431
  value: n.symbol,
1384
- onChange: (c) => i(o, "symbol", c.target.value.toUpperCase()),
1432
+ onChange: (c) => l(o, "symbol", c.target.value.toUpperCase()),
1385
1433
  className: "cedros-setting-input cedros-token-input-symbol",
1386
1434
  maxLength: 10
1387
1435
  }
@@ -1392,7 +1440,7 @@ function B({ value: e, onChange: s }) {
1392
1440
  type: "text",
1393
1441
  placeholder: "Mint address",
1394
1442
  value: n.mint,
1395
- onChange: (c) => i(o, "mint", c.target.value),
1443
+ onChange: (c) => l(o, "mint", c.target.value),
1396
1444
  className: "cedros-setting-input cedros-token-input-mint"
1397
1445
  }
1398
1446
  ),
@@ -1402,7 +1450,7 @@ function B({ value: e, onChange: s }) {
1402
1450
  type: "number",
1403
1451
  placeholder: "Decimals",
1404
1452
  value: n.decimals,
1405
- onChange: (c) => i(o, "decimals", parseInt(c.target.value, 10) || 0),
1453
+ onChange: (c) => l(o, "decimals", parseInt(c.target.value, 10) || 0),
1406
1454
  className: "cedros-setting-input cedros-token-input-decimals",
1407
1455
  min: 0,
1408
1456
  max: 18
@@ -1414,7 +1462,7 @@ function B({ value: e, onChange: s }) {
1414
1462
  type: "text",
1415
1463
  placeholder: "Logo URL (optional)",
1416
1464
  value: n.logoUrl || "",
1417
- onChange: (c) => i(o, "logoUrl", c.target.value || void 0),
1465
+ onChange: (c) => l(o, "logoUrl", c.target.value || void 0),
1418
1466
  className: "cedros-setting-input cedros-token-input-logo"
1419
1467
  }
1420
1468
  )
@@ -1430,20 +1478,20 @@ function B({ value: e, onChange: s }) {
1430
1478
  }
1431
1479
  )
1432
1480
  ] }, o)),
1433
- /* @__PURE__ */ t("button", { type: "button", className: "cedros-token-add-btn", onClick: l, children: "+ Add Token" })
1481
+ /* @__PURE__ */ t("button", { type: "button", className: "cedros-token-add-btn", onClick: i, children: "+ Add Token" })
1434
1482
  ] });
1435
1483
  }
1436
- function G({ value: e, onChange: s }) {
1437
- const a = T(() => e.split(",").map((i) => i.trim()).filter(Boolean), [e]), r = d(
1438
- (i) => {
1439
- if (!i || a.includes(i)) return;
1440
- const p = [...a, i].join(", ");
1484
+ function B({ value: e, onChange: s }) {
1485
+ const a = S(() => e.split(",").map((l) => l.trim()).filter(Boolean), [e]), r = d(
1486
+ (l) => {
1487
+ if (!l || a.includes(l)) return;
1488
+ const p = [...a, l].join(", ");
1441
1489
  s(p);
1442
1490
  },
1443
1491
  [a, s]
1444
- ), l = d(
1445
- (i) => {
1446
- const p = a.filter((n) => n !== i).join(", ");
1492
+ ), i = d(
1493
+ (l) => {
1494
+ const p = a.filter((n) => n !== l).join(", ");
1447
1495
  s(p);
1448
1496
  },
1449
1497
  [a, s]
@@ -1451,21 +1499,21 @@ function G({ value: e, onChange: s }) {
1451
1499
  return /* @__PURE__ */ u("div", { className: "cedros-token-symbol-list-input", children: [
1452
1500
  /* @__PURE__ */ u("div", { className: "cedros-token-presets", children: [
1453
1501
  /* @__PURE__ */ t("span", { className: "cedros-token-presets-label", children: "Click to add:" }),
1454
- /* @__PURE__ */ t("div", { className: "cedros-token-presets-list", children: C.map((i) => {
1455
- const p = a.includes(i);
1502
+ /* @__PURE__ */ t("div", { className: "cedros-token-presets-list", children: A.map((l) => {
1503
+ const p = a.includes(l);
1456
1504
  return /* @__PURE__ */ u(
1457
1505
  "button",
1458
1506
  {
1459
1507
  type: "button",
1460
1508
  className: `cedros-token-preset-chip ${p ? "cedros-token-preset-chip-selected" : ""}`,
1461
- onClick: () => p ? l(i) : r(i),
1462
- title: p ? `Remove ${i}` : `Add ${i}`,
1509
+ onClick: () => p ? i(l) : r(l),
1510
+ title: p ? `Remove ${l}` : `Add ${l}`,
1463
1511
  children: [
1464
- i,
1512
+ l,
1465
1513
  p && /* @__PURE__ */ t("span", { className: "cedros-token-chip-check", children: "✓" })
1466
1514
  ]
1467
1515
  },
1468
- i
1516
+ l
1469
1517
  );
1470
1518
  }) })
1471
1519
  ] }),
@@ -1474,7 +1522,7 @@ function G({ value: e, onChange: s }) {
1474
1522
  {
1475
1523
  type: "text",
1476
1524
  value: e,
1477
- onChange: (i) => s(i.target.value),
1525
+ onChange: (l) => s(l.target.value),
1478
1526
  className: "cedros-setting-input",
1479
1527
  placeholder: "USDC, SOL, BONK..."
1480
1528
  }
@@ -1483,11 +1531,11 @@ function G({ value: e, onChange: s }) {
1483
1531
  }
1484
1532
  const H = 800, V = 2e3;
1485
1533
  function Z() {
1486
- const { settings: e, isLoading: s, error: a, fetchSettings: r, updateSettings: l } = E(), [i, p] = w({}), [n, o] = w("idle"), [c, m] = w(null), y = S(null), _ = S(null), k = S({});
1534
+ const { settings: e, isLoading: s, error: a, fetchSettings: r, updateSettings: i } = E(), [l, p] = w({}), [n, o] = w("idle"), [c, m] = w(null), y = T(null), _ = T(null), k = T({});
1487
1535
  O(() => () => {
1488
1536
  y.current && clearTimeout(y.current), _.current && clearTimeout(_.current);
1489
1537
  }, []);
1490
- const N = d(async () => {
1538
+ const P = d(async () => {
1491
1539
  const h = { ...k.current };
1492
1540
  if (Object.keys(h).length === 0) {
1493
1541
  o("idle");
@@ -1499,7 +1547,7 @@ function Z() {
1499
1547
  value: g
1500
1548
  }));
1501
1549
  try {
1502
- await l(v), p((b) => {
1550
+ await i(v), p((b) => {
1503
1551
  const g = { ...b };
1504
1552
  for (const D of Object.keys(h))
1505
1553
  delete g[D];
@@ -1513,33 +1561,33 @@ function Z() {
1513
1561
  } catch (b) {
1514
1562
  o("error"), m(b instanceof Error ? b.message : "Failed to save");
1515
1563
  }
1516
- }, [l]), A = d(
1564
+ }, [i]), C = d(
1517
1565
  (h, v) => {
1518
1566
  p((b) => ({ ...b, [h]: v })), k.current[h] = v, m(null), o("pending"), y.current && clearTimeout(y.current), y.current = setTimeout(() => {
1519
- N();
1567
+ P();
1520
1568
  }, H);
1521
1569
  },
1522
- [N]
1570
+ [P]
1523
1571
  ), L = d(
1524
1572
  (h) => {
1525
- if (i[h] !== void 0) return i[h];
1573
+ if (l[h] !== void 0) return l[h];
1526
1574
  for (const v of Object.values(e)) {
1527
1575
  const b = v.find((g) => g.key === h);
1528
1576
  if (b) return b.value;
1529
1577
  }
1530
1578
  return "";
1531
1579
  },
1532
- [i, e]
1580
+ [l, e]
1533
1581
  );
1534
1582
  return {
1535
1583
  settings: e,
1536
- edits: i,
1584
+ edits: l,
1537
1585
  isLoading: s,
1538
1586
  autosaveStatus: n,
1539
1587
  autosaveError: c,
1540
1588
  error: a,
1541
1589
  fetchSettings: r,
1542
- handleChange: A,
1590
+ handleChange: C,
1543
1591
  getEffectiveValue: L
1544
1592
  };
1545
1593
  }
@@ -1567,6 +1615,6 @@ export {
1567
1615
  ee as A,
1568
1616
  X as C,
1569
1617
  Q as S,
1570
- R as a,
1618
+ M as a,
1571
1619
  Z as u
1572
1620
  };