@digitaldefiance/express-suite-react-components 2.9.38 → 2.9.40

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 (257) hide show
  1. package/package.json +5 -4
  2. package/src/auth/Private.d.ts +6 -0
  3. package/src/auth/Private.d.ts.map +1 -0
  4. package/src/auth/Private.js +14 -0
  5. package/src/auth/PrivateRoute.d.ts +8 -0
  6. package/src/auth/PrivateRoute.d.ts.map +1 -0
  7. package/src/auth/PrivateRoute.js +23 -0
  8. package/src/auth/UnAuth.d.ts +6 -0
  9. package/src/auth/UnAuth.d.ts.map +1 -0
  10. package/src/auth/UnAuth.js +14 -0
  11. package/src/auth/UnAuthRoute.d.ts +8 -0
  12. package/src/auth/UnAuthRoute.d.ts.map +1 -0
  13. package/src/auth/UnAuthRoute.js +22 -0
  14. package/src/auth/{index.ts → index.d.ts} +2 -1
  15. package/src/auth/index.d.ts.map +1 -0
  16. package/src/auth/index.js +10 -0
  17. package/src/components/ApiAccess.d.ts +16 -0
  18. package/src/components/ApiAccess.d.ts.map +1 -0
  19. package/src/components/ApiAccess.js +77 -0
  20. package/src/components/BackupCodeLoginForm.d.ts +43 -0
  21. package/src/components/BackupCodeLoginForm.d.ts.map +1 -0
  22. package/src/components/BackupCodeLoginForm.js +139 -0
  23. package/src/components/BackupCodesForm.d.ts +26 -0
  24. package/src/components/BackupCodesForm.d.ts.map +1 -0
  25. package/src/components/BackupCodesForm.js +120 -0
  26. package/src/components/ChangePasswordForm.d.ts +26 -0
  27. package/src/components/ChangePasswordForm.d.ts.map +1 -0
  28. package/src/components/ChangePasswordForm.js +78 -0
  29. package/src/components/ConfirmationDialog.d.ts +13 -0
  30. package/src/components/ConfirmationDialog.d.ts.map +1 -0
  31. package/src/components/ConfirmationDialog.js +10 -0
  32. package/src/components/CurrencyCodeSelector.d.ts +9 -0
  33. package/src/components/CurrencyCodeSelector.d.ts.map +1 -0
  34. package/src/components/CurrencyCodeSelector.js +31 -0
  35. package/src/components/CurrencyInput.d.ts +13 -0
  36. package/src/components/CurrencyInput.d.ts.map +1 -0
  37. package/src/components/CurrencyInput.js +22 -0
  38. package/src/components/DashboardPage.d.ts +8 -0
  39. package/src/components/DashboardPage.d.ts.map +1 -0
  40. package/src/components/DashboardPage.js +10 -0
  41. package/src/components/DropdownMenu.d.ts +9 -0
  42. package/src/components/DropdownMenu.d.ts.map +1 -0
  43. package/src/components/DropdownMenu.js +56 -0
  44. package/src/components/ExpirationSecondsSelector.d.ts +13 -0
  45. package/src/components/ExpirationSecondsSelector.d.ts.map +1 -0
  46. package/src/components/ExpirationSecondsSelector.js +32 -0
  47. package/src/components/Flag.d.ts +20 -0
  48. package/src/components/Flag.d.ts.map +1 -0
  49. package/src/components/Flag.js +43 -0
  50. package/src/components/ForgotPasswordForm.d.ts +18 -0
  51. package/src/components/ForgotPasswordForm.d.ts.map +1 -0
  52. package/src/components/ForgotPasswordForm.js +61 -0
  53. package/src/components/LoginForm.d.ts +44 -0
  54. package/src/components/LoginForm.d.ts.map +1 -0
  55. package/src/components/LoginForm.js +122 -0
  56. package/src/components/LogoutPage.d.ts +8 -0
  57. package/src/components/LogoutPage.d.ts.map +1 -0
  58. package/src/components/LogoutPage.js +16 -0
  59. package/src/components/RegisterForm.d.ts +56 -0
  60. package/src/components/RegisterForm.d.ts.map +1 -0
  61. package/src/components/RegisterForm.js +140 -0
  62. package/src/components/ResetPasswordForm.d.ts +23 -0
  63. package/src/components/ResetPasswordForm.d.ts.map +1 -0
  64. package/src/components/ResetPasswordForm.js +78 -0
  65. package/src/components/SideMenu.d.ts +8 -0
  66. package/src/components/SideMenu.d.ts.map +1 -0
  67. package/src/components/SideMenu.js +25 -0
  68. package/src/components/SideMenuListItem.d.ts +13 -0
  69. package/src/components/SideMenuListItem.d.ts.map +1 -0
  70. package/src/components/SideMenuListItem.js +44 -0
  71. package/src/components/TopMenu.d.ts +24 -0
  72. package/src/components/TopMenu.d.ts.map +1 -0
  73. package/src/components/TopMenu.js +35 -0
  74. package/src/components/TranslatedTitle.d.ts +7 -0
  75. package/src/components/TranslatedTitle.d.ts.map +1 -0
  76. package/src/components/TranslatedTitle.js +15 -0
  77. package/src/components/UserLanguageSelector.d.ts +4 -0
  78. package/src/components/UserLanguageSelector.d.ts.map +1 -0
  79. package/src/components/UserLanguageSelector.js +31 -0
  80. package/src/components/UserMenu.d.ts +4 -0
  81. package/src/components/UserMenu.d.ts.map +1 -0
  82. package/src/components/UserMenu.js +12 -0
  83. package/src/components/UserSettingsForm.d.ts +57 -0
  84. package/src/components/UserSettingsForm.d.ts.map +1 -0
  85. package/src/components/UserSettingsForm.js +126 -0
  86. package/src/components/VerifyEmailPage.d.ts +23 -0
  87. package/src/components/VerifyEmailPage.d.ts.map +1 -0
  88. package/src/components/VerifyEmailPage.js +70 -0
  89. package/src/components/{index.ts → index.d.ts} +1 -1
  90. package/src/components/index.d.ts.map +1 -0
  91. package/src/components/index.js +28 -0
  92. package/src/contexts/AuthProvider.d.ts +152 -0
  93. package/src/contexts/AuthProvider.d.ts.map +1 -0
  94. package/src/contexts/AuthProvider.js +502 -0
  95. package/src/contexts/I18nProvider.d.ts +16 -0
  96. package/src/contexts/I18nProvider.d.ts.map +1 -0
  97. package/src/contexts/I18nProvider.js +46 -0
  98. package/src/contexts/MenuContext.d.ts +20 -0
  99. package/src/contexts/MenuContext.d.ts.map +1 -0
  100. package/src/contexts/MenuContext.js +273 -0
  101. package/src/contexts/SuiteConfigProvider.d.ts +44 -0
  102. package/src/contexts/SuiteConfigProvider.d.ts.map +1 -0
  103. package/src/contexts/SuiteConfigProvider.js +43 -0
  104. package/src/contexts/ThemeProvider.d.ts +15 -0
  105. package/src/contexts/ThemeProvider.d.ts.map +1 -0
  106. package/src/contexts/ThemeProvider.js +36 -0
  107. package/src/contexts/{index.ts → index.d.ts} +1 -0
  108. package/src/contexts/index.d.ts.map +1 -0
  109. package/src/contexts/index.js +8 -0
  110. package/src/hooks/{index.ts → index.d.ts} +1 -0
  111. package/src/hooks/index.d.ts.map +1 -0
  112. package/src/hooks/index.js +8 -0
  113. package/src/hooks/useBackupCodes.d.ts +15 -0
  114. package/src/hooks/useBackupCodes.d.ts.map +1 -0
  115. package/src/hooks/useBackupCodes.js +74 -0
  116. package/src/hooks/useEmailVerification.d.ts +10 -0
  117. package/src/hooks/useEmailVerification.d.ts.map +1 -0
  118. package/src/hooks/useEmailVerification.js +40 -0
  119. package/src/hooks/useExpiringValue.d.ts +14 -0
  120. package/src/hooks/useExpiringValue.d.ts.map +1 -0
  121. package/src/hooks/useExpiringValue.js +53 -0
  122. package/src/hooks/useLocalStorage.d.ts +2 -0
  123. package/src/hooks/useLocalStorage.d.ts.map +1 -0
  124. package/src/hooks/useLocalStorage.js +15 -0
  125. package/src/hooks/useUserSettings.d.ts +48 -0
  126. package/src/hooks/useUserSettings.d.ts.map +1 -0
  127. package/src/hooks/useUserSettings.js +169 -0
  128. package/src/{index.ts → index.d.ts} +1 -1
  129. package/src/index.d.ts.map +1 -0
  130. package/src/index.js +12 -0
  131. package/src/interfaces/IAppConfig.d.ts +6 -0
  132. package/src/interfaces/IAppConfig.d.ts.map +1 -0
  133. package/src/interfaces/IAppConfig.js +2 -0
  134. package/src/interfaces/IMenuConfig.d.ts +11 -0
  135. package/src/interfaces/IMenuConfig.d.ts.map +1 -0
  136. package/src/interfaces/IMenuConfig.js +2 -0
  137. package/src/interfaces/IMenuOption.d.ts +58 -0
  138. package/src/interfaces/IMenuOption.d.ts.map +1 -0
  139. package/src/interfaces/IMenuOption.js +2 -0
  140. package/src/interfaces/index.d.ts +4 -0
  141. package/src/interfaces/index.d.ts.map +1 -0
  142. package/src/interfaces/index.js +6 -0
  143. package/src/services/__mocks__/authService.d.ts +21 -0
  144. package/src/services/__mocks__/authService.d.ts.map +1 -0
  145. package/src/services/__mocks__/authService.js +15 -0
  146. package/src/services/api.d.ts +3 -0
  147. package/src/services/api.d.ts.map +1 -0
  148. package/src/services/api.js +14 -0
  149. package/src/services/authService.d.ts +72 -0
  150. package/src/services/authService.d.ts.map +1 -0
  151. package/src/services/authService.js +335 -0
  152. package/src/services/authenticatedApi.d.ts +3 -0
  153. package/src/services/authenticatedApi.d.ts.map +1 -0
  154. package/src/services/authenticatedApi.js +18 -0
  155. package/src/services/index.d.ts +4 -0
  156. package/src/services/index.d.ts.map +1 -0
  157. package/src/services/index.js +6 -0
  158. package/src/types/MenuType.d.ts +11 -0
  159. package/src/types/MenuType.d.ts.map +1 -0
  160. package/src/types/MenuType.js +12 -0
  161. package/src/types/expirationSeconds.d.ts +3 -0
  162. package/src/types/expirationSeconds.d.ts.map +1 -0
  163. package/src/types/expirationSeconds.js +17 -0
  164. package/src/types/index.d.ts +2 -0
  165. package/src/types/index.d.ts.map +1 -0
  166. package/src/types/index.js +4 -0
  167. package/src/types/translation.d.ts +10 -0
  168. package/src/types/translation.d.ts.map +1 -0
  169. package/src/types/translation.js +9 -0
  170. package/src/wrappers/BackupCodeLoginWrapper.d.ts +8 -0
  171. package/src/wrappers/BackupCodeLoginWrapper.d.ts.map +1 -0
  172. package/src/wrappers/BackupCodeLoginWrapper.js +20 -0
  173. package/src/wrappers/BackupCodesWrapper.d.ts +7 -0
  174. package/src/wrappers/BackupCodesWrapper.d.ts.map +1 -0
  175. package/src/wrappers/BackupCodesWrapper.js +17 -0
  176. package/src/wrappers/ChangePasswordFormWrapper.d.ts +8 -0
  177. package/src/wrappers/ChangePasswordFormWrapper.d.ts.map +1 -0
  178. package/src/wrappers/ChangePasswordFormWrapper.js +21 -0
  179. package/src/wrappers/LoginFormWrapper.d.ts +9 -0
  180. package/src/wrappers/LoginFormWrapper.d.ts.map +1 -0
  181. package/src/wrappers/LoginFormWrapper.js +43 -0
  182. package/src/wrappers/LogoutPageWrapper.d.ts +9 -0
  183. package/src/wrappers/LogoutPageWrapper.d.ts.map +1 -0
  184. package/src/wrappers/LogoutPageWrapper.js +21 -0
  185. package/src/wrappers/RegisterFormWrapper.d.ts +9 -0
  186. package/src/wrappers/RegisterFormWrapper.d.ts.map +1 -0
  187. package/src/wrappers/RegisterFormWrapper.js +31 -0
  188. package/src/wrappers/UserSettingsFormWrapper.d.ts +8 -0
  189. package/src/wrappers/UserSettingsFormWrapper.d.ts.map +1 -0
  190. package/src/wrappers/UserSettingsFormWrapper.js +24 -0
  191. package/src/wrappers/VerifyEmailPageWrapper.d.ts +8 -0
  192. package/src/wrappers/VerifyEmailPageWrapper.d.ts.map +1 -0
  193. package/src/wrappers/VerifyEmailPageWrapper.js +20 -0
  194. package/src/wrappers/{index.tsx → index.d.ts} +1 -8
  195. package/src/wrappers/index.d.ts.map +1 -0
  196. package/src/wrappers/index.js +20 -0
  197. package/LICENSE +0 -21
  198. package/src/auth/Private.tsx +0 -17
  199. package/src/auth/PrivateRoute.tsx +0 -28
  200. package/src/auth/UnAuth.tsx +0 -16
  201. package/src/auth/UnAuthRoute.tsx +0 -30
  202. package/src/components/ApiAccess.tsx +0 -174
  203. package/src/components/BackupCodeLoginForm.tsx +0 -488
  204. package/src/components/BackupCodesForm.tsx +0 -286
  205. package/src/components/ChangePasswordForm.tsx +0 -272
  206. package/src/components/ConfirmationDialog.tsx +0 -48
  207. package/src/components/CurrencyCodeSelector.tsx +0 -60
  208. package/src/components/CurrencyInput.tsx +0 -80
  209. package/src/components/DashboardPage.tsx +0 -24
  210. package/src/components/DropdownMenu.tsx +0 -92
  211. package/src/components/ExpirationSecondsSelector.tsx +0 -60
  212. package/src/components/Flag.tsx +0 -52
  213. package/src/components/ForgotPasswordForm.tsx +0 -173
  214. package/src/components/LoginForm.tsx +0 -455
  215. package/src/components/LogoutPage.tsx +0 -21
  216. package/src/components/RegisterForm.tsx +0 -602
  217. package/src/components/ResetPasswordForm.tsx +0 -246
  218. package/src/components/SideMenu.tsx +0 -46
  219. package/src/components/SideMenuListItem.tsx +0 -74
  220. package/src/components/TopMenu.tsx +0 -145
  221. package/src/components/TranslatedTitle.tsx +0 -29
  222. package/src/components/UserLanguageSelector.tsx +0 -45
  223. package/src/components/UserMenu.tsx +0 -15
  224. package/src/components/UserSettingsForm.tsx +0 -505
  225. package/src/components/VerifyEmailPage.tsx +0 -184
  226. package/src/contexts/AuthProvider.spec.tsx +0 -1195
  227. package/src/contexts/AuthProvider.tsx +0 -924
  228. package/src/contexts/I18nProvider.tsx +0 -114
  229. package/src/contexts/MenuContext.tsx +0 -398
  230. package/src/contexts/SuiteConfigProvider.tsx +0 -93
  231. package/src/contexts/ThemeProvider.tsx +0 -67
  232. package/src/hooks/useBackupCodes.ts +0 -105
  233. package/src/hooks/useEmailVerification.ts +0 -49
  234. package/src/hooks/useExpiringValue.ts +0 -78
  235. package/src/hooks/useLocalStorage.ts +0 -18
  236. package/src/hooks/useUserSettings.ts +0 -269
  237. package/src/interfaces/IAppConfig.ts +0 -5
  238. package/src/interfaces/IMenuConfig.ts +0 -11
  239. package/src/interfaces/IMenuOption.ts +0 -55
  240. package/src/interfaces/index.ts +0 -3
  241. package/src/services/__mocks__/authService.ts +0 -14
  242. package/src/services/api.ts +0 -13
  243. package/src/services/authService.ts +0 -500
  244. package/src/services/authenticatedApi.ts +0 -17
  245. package/src/services/index.ts +0 -3
  246. package/src/types/MenuType.ts +0 -15
  247. package/src/types/expirationSeconds.ts +0 -18
  248. package/src/types/index.ts +0 -1
  249. package/src/types/translation.ts +0 -20
  250. package/src/wrappers/BackupCodeLoginWrapper.tsx +0 -34
  251. package/src/wrappers/BackupCodesWrapper.tsx +0 -28
  252. package/src/wrappers/ChangePasswordFormWrapper.tsx +0 -34
  253. package/src/wrappers/LoginFormWrapper.tsx +0 -59
  254. package/src/wrappers/LogoutPageWrapper.tsx +0 -30
  255. package/src/wrappers/RegisterFormWrapper.tsx +0 -61
  256. package/src/wrappers/UserSettingsFormWrapper.tsx +0 -39
  257. package/src/wrappers/VerifyEmailPageWrapper.tsx +0 -27
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useExpiringValue = useExpiringValue;
4
+ const react_1 = require("react");
5
+ function useExpiringValue(defaultDurationSeconds, localStorageKey) {
6
+ const [value, _setValue] = (0, react_1.useState)(undefined);
7
+ const [timer, setTimer] = (0, react_1.useState)(undefined);
8
+ const [durationSeconds, _setDurationSeconds] = (0, react_1.useState)(() => {
9
+ if (localStorageKey) {
10
+ const stored = localStorage.getItem(localStorageKey);
11
+ return stored ? parseInt(stored, 10) : defaultDurationSeconds;
12
+ }
13
+ return defaultDurationSeconds;
14
+ });
15
+ const getRemainingTime = (0, react_1.useCallback)(() => {
16
+ if (!timer)
17
+ return 0;
18
+ const elapsed = Date.now() - timer.startTime;
19
+ const remaining = Math.max(0, timer.durationMs - elapsed);
20
+ return Math.ceil(remaining / 1000);
21
+ }, [timer]);
22
+ const setValue = (0, react_1.useCallback)((newValue, customDurationSeconds, saveToStorage) => {
23
+ const finalDurationSeconds = customDurationSeconds ?? durationSeconds;
24
+ if (saveToStorage && customDurationSeconds !== undefined && localStorageKey) {
25
+ _setDurationSeconds(customDurationSeconds);
26
+ localStorage.setItem(localStorageKey, customDurationSeconds.toString());
27
+ }
28
+ _setValue(newValue);
29
+ if (timer) {
30
+ clearTimeout(timer.timeout);
31
+ }
32
+ const startTime = Date.now();
33
+ const durationMs = finalDurationSeconds * 1000;
34
+ const timeout = setTimeout(() => {
35
+ _setValue(undefined);
36
+ setTimer(undefined);
37
+ }, durationMs);
38
+ setTimer({ timeout, startTime, durationMs });
39
+ return () => {
40
+ clearTimeout(timeout);
41
+ setTimer(undefined);
42
+ };
43
+ }, [durationSeconds, timer, localStorageKey]);
44
+ const clearValue = (0, react_1.useCallback)(() => {
45
+ if (timer) {
46
+ clearTimeout(timer.timeout);
47
+ setTimer(undefined);
48
+ }
49
+ _setValue(undefined);
50
+ }, [timer]);
51
+ const isActive = Boolean(timer && value !== undefined);
52
+ return { value, setValue, clearValue, getRemainingTime, isActive };
53
+ }
@@ -0,0 +1,2 @@
1
+ export declare function useLocalStorage<T>(key: string, defaultValue: T): [T, (value: T) => void];
2
+ //# sourceMappingURL=useLocalStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAWzB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLocalStorage = useLocalStorage;
4
+ const react_1 = require("react");
5
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
6
+ function useLocalStorage(key, defaultValue) {
7
+ const [storedValue, setStoredValue] = (0, react_1.useState)(() => {
8
+ return suite_core_lib_1.LocalStorageManager.getValue(key, defaultValue);
9
+ });
10
+ const setValue = (0, react_1.useCallback)((value) => {
11
+ setStoredValue(value);
12
+ suite_core_lib_1.LocalStorageManager.setValue(key, value);
13
+ }, [key]);
14
+ return [storedValue, setValue];
15
+ }
@@ -0,0 +1,48 @@
1
+ import { IUserSettings, IUserSettingsDTO } from '@digitaldefiance/suite-core-lib';
2
+ export interface UseUserSettingsOptions {
3
+ authenticatedApi: {
4
+ post: <T = unknown>(url: string, data: Record<string, unknown>) => Promise<{
5
+ data: T;
6
+ }>;
7
+ };
8
+ isAuthenticated: boolean;
9
+ }
10
+ export interface UseUserSettingsResult {
11
+ currentLanguage: string;
12
+ changeLanguage: (languageCode: string) => Promise<void>;
13
+ userSettings: IUserSettings | undefined;
14
+ setUserSettingAndUpdateSettings: (setting?: Partial<IUserSettings>) => Promise<void>;
15
+ toggleColorMode: () => Promise<void>;
16
+ }
17
+ /**
18
+ * Hook for managing user settings state and synchronization.
19
+ * Used by AuthProvider to handle user settings logic.
20
+ */
21
+ export declare const useUserSettings: ({ authenticatedApi, isAuthenticated, }: UseUserSettingsOptions) => UseUserSettingsResult;
22
+ export interface UserSettingsValues extends IUserSettingsDTO {
23
+ [key: string]: string | boolean;
24
+ }
25
+ export interface UseUserSettingsPublicResult {
26
+ settings: UserSettingsValues | null;
27
+ isLoading: boolean;
28
+ error: Error | null;
29
+ updateSettings: (values: UserSettingsValues) => Promise<{
30
+ success: boolean;
31
+ message: string;
32
+ } | {
33
+ error: string;
34
+ errorType?: string;
35
+ field?: string;
36
+ errors?: Array<{
37
+ path: string;
38
+ msg: string;
39
+ }>;
40
+ }>;
41
+ refreshSettings: () => Promise<void>;
42
+ }
43
+ /**
44
+ * Public hook for components to manage user settings.
45
+ * Provides a simpler API for fetching and updating settings.
46
+ */
47
+ export declare const useUserSettingsPublic: () => UseUserSettingsPublicResult;
48
+ //# sourceMappingURL=useUserSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserSettings.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/hooks/useUserSettings.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EACb,gBAAgB,EAGjB,MAAM,iCAAiC,CAAC;AAYzC,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KAC3B,CAAC;IACF,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,+BAA+B,EAAE,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,wCAG7B,sBAAsB,KAAG,qBAsF3B,CAAC;AAGF,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CACnD;QACE,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,GACD;QACE,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/C,CACJ,CAAC;IACF,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,2BAkGxC,CAAC"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUserSettingsPublic = exports.useUserSettings = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
6
+ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
7
+ const react_1 = require("react");
8
+ const contexts_1 = require("../contexts");
9
+ const defaultUserSettings = {
10
+ darkMode: false,
11
+ currency: new i18n_lib_1.CurrencyCode(i18n_lib_1.DefaultCurrencyCode),
12
+ timezone: new i18n_lib_1.Timezone(i18n_lib_1.DefaultTimezone),
13
+ siteLanguage: i18n_lib_1.DefaultLanguageCode,
14
+ directChallenge: false,
15
+ };
16
+ /**
17
+ * Hook for managing user settings state and synchronization.
18
+ * Used by AuthProvider to handle user settings logic.
19
+ */
20
+ const useUserSettings = ({ authenticatedApi, isAuthenticated, }) => {
21
+ const { setColorMode: themeSetPaletteMode, mode: currentThemeMode } = (0, contexts_1.useTheme)();
22
+ const { currentLanguage, changeLanguage } = (0, contexts_1.useI18n)();
23
+ const [userSettings, setUserSettings] = (0, react_1.useState)(undefined);
24
+ const setUserSettingAndUpdateSettings = (0, react_1.useCallback)(async (setting) => {
25
+ if (setting) {
26
+ // Merge settings with defaults and existing settings
27
+ const merged = {
28
+ ...defaultUserSettings,
29
+ ...(userSettings ? userSettings : {}),
30
+ ...setting,
31
+ };
32
+ // TypeScript requires all IUserSettings fields, but during initialization
33
+ // some fields like email may not be set yet. We'll use Partial until
34
+ // all required fields are available.
35
+ setUserSettings(merged);
36
+ if (setting.darkMode !== undefined) {
37
+ themeSetPaletteMode(setting.darkMode ? 'dark' : 'light');
38
+ }
39
+ if (setting.siteLanguage !== undefined &&
40
+ setting.siteLanguage !== currentLanguage) {
41
+ changeLanguage(setting.siteLanguage);
42
+ }
43
+ // Send to server if authenticated and we have complete settings (including email)
44
+ if (isAuthenticated && merged.email) {
45
+ const dehydratedSettings = (0, suite_core_lib_1.dehydrateUserSettings)(merged);
46
+ await authenticatedApi.post('/user/settings', dehydratedSettings);
47
+ }
48
+ }
49
+ else {
50
+ setUserSettings(undefined);
51
+ themeSetPaletteMode('light');
52
+ }
53
+ }, [
54
+ isAuthenticated,
55
+ userSettings,
56
+ currentLanguage,
57
+ changeLanguage,
58
+ themeSetPaletteMode,
59
+ authenticatedApi,
60
+ ]);
61
+ const changeLanguageSetting = (0, react_1.useCallback)(async (languageCode) => {
62
+ await setUserSettingAndUpdateSettings({ siteLanguage: languageCode });
63
+ }, [setUserSettingAndUpdateSettings]);
64
+ const toggleColorMode = (0, react_1.useCallback)(async () => {
65
+ // When not authenticated, read from the current theme mode
66
+ // When authenticated, read from userSettings (synced with server)
67
+ const currentDarkMode = isAuthenticated
68
+ ? userSettings?.darkMode ?? false
69
+ : currentThemeMode === 'dark';
70
+ await setUserSettingAndUpdateSettings({ darkMode: !currentDarkMode });
71
+ }, [
72
+ isAuthenticated,
73
+ userSettings?.darkMode,
74
+ currentThemeMode,
75
+ setUserSettingAndUpdateSettings,
76
+ ]);
77
+ return {
78
+ changeLanguage: changeLanguageSetting,
79
+ currentLanguage,
80
+ userSettings,
81
+ setUserSettingAndUpdateSettings,
82
+ toggleColorMode,
83
+ };
84
+ };
85
+ exports.useUserSettings = useUserSettings;
86
+ /**
87
+ * Public hook for components to manage user settings.
88
+ * Provides a simpler API for fetching and updating settings.
89
+ */
90
+ const useUserSettingsPublic = () => {
91
+ const { userData, setUserSetting, userSettings } = (0, contexts_1.useAuth)();
92
+ const [settings, setSettings] = (0, react_1.useState)(null);
93
+ const [isLoading, setIsLoading] = (0, react_1.useState)(true);
94
+ const [error, setError] = (0, react_1.useState)(null);
95
+ const refreshSettings = (0, react_1.useCallback)(async () => {
96
+ setIsLoading(true);
97
+ setError(null);
98
+ try {
99
+ if (userSettings) {
100
+ const dehydratedSettings = (0, suite_core_lib_1.dehydrateUserSettings)(userSettings);
101
+ setSettings(dehydratedSettings);
102
+ }
103
+ else if (userData) {
104
+ const fallback = {
105
+ email: userData.email || '',
106
+ timezone: userData.timezone || 'UTC',
107
+ siteLanguage: userData.siteLanguage || 'en-US',
108
+ currency: userData.currency || 'USD',
109
+ darkMode: userData.darkMode || false,
110
+ directChallenge: userData.directChallenge || false,
111
+ };
112
+ setSettings(fallback);
113
+ }
114
+ }
115
+ catch (err) {
116
+ setError(err instanceof Error
117
+ ? err
118
+ : new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Settings_RetrieveFailure));
119
+ }
120
+ finally {
121
+ setIsLoading(false);
122
+ }
123
+ }, [userSettings, userData]);
124
+ (0, react_1.useEffect)(() => {
125
+ refreshSettings();
126
+ }, [refreshSettings]);
127
+ const updateSettings = (0, react_1.useCallback)(async (values) => {
128
+ setIsLoading(true);
129
+ setError(null);
130
+ try {
131
+ await setUserSetting({
132
+ darkMode: values.darkMode,
133
+ currency: new i18n_lib_1.CurrencyCode(values.currency),
134
+ timezone: new i18n_lib_1.Timezone(values.timezone),
135
+ siteLanguage: values.siteLanguage,
136
+ email: new ecies_lib_1.EmailString(values.email),
137
+ directChallenge: values.directChallenge,
138
+ });
139
+ setSettings(values);
140
+ return {
141
+ success: true,
142
+ message: (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Settings_SaveSuccess),
143
+ };
144
+ }
145
+ catch (err) {
146
+ const axiosError = err;
147
+ const errorMessage = axiosError.response?.data?.message ||
148
+ (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Settings_UpdateFailed);
149
+ setError(err instanceof Error ? err : new Error(errorMessage));
150
+ return {
151
+ error: errorMessage,
152
+ errorType: axiosError.response?.data?.errorType,
153
+ field: axiosError.response?.data?.field,
154
+ errors: axiosError.response?.data?.errors,
155
+ };
156
+ }
157
+ finally {
158
+ setIsLoading(false);
159
+ }
160
+ }, [setUserSetting]);
161
+ return {
162
+ settings,
163
+ isLoading,
164
+ error,
165
+ updateSettings,
166
+ refreshSettings,
167
+ };
168
+ };
169
+ exports.useUserSettingsPublic = useUserSettingsPublic;
@@ -1,4 +1,3 @@
1
- // Export all components
2
1
  export * from './auth';
3
2
  export * from './components';
4
3
  export * from './contexts';
@@ -7,3 +6,4 @@ export * from './interfaces';
7
6
  export * from './services';
8
7
  export * from './types';
9
8
  export * from './wrappers';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-express-suite-react-components/src/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
package/src/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // Export all components
5
+ tslib_1.__exportStar(require("./auth"), exports);
6
+ tslib_1.__exportStar(require("./components"), exports);
7
+ tslib_1.__exportStar(require("./contexts"), exports);
8
+ tslib_1.__exportStar(require("./hooks"), exports);
9
+ tslib_1.__exportStar(require("./interfaces"), exports);
10
+ tslib_1.__exportStar(require("./services"), exports);
11
+ tslib_1.__exportStar(require("./types"), exports);
12
+ tslib_1.__exportStar(require("./wrappers"), exports);
@@ -0,0 +1,6 @@
1
+ export interface IAppConfig {
2
+ hostname: string;
3
+ siteTitle: string;
4
+ server: string;
5
+ }
6
+ //# sourceMappingURL=IAppConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAppConfig.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/interfaces/IAppConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ import { IMenuOption } from './IMenuOption';
3
+ import { createMenuType } from '../types';
4
+ export interface IMenuConfig {
5
+ menuType: ReturnType<typeof createMenuType>;
6
+ menuIcon: ReactElement;
7
+ priority?: number;
8
+ options: IMenuOption[];
9
+ isUserMenu?: boolean;
10
+ }
11
+ //# sourceMappingURL=IMenuConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMenuConfig.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/interfaces/IMenuConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC5C,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
1
+ import { ReactNode } from 'react';
2
+ import { To } from 'react-router-dom';
3
+ import { MenuType } from '../types/MenuType';
4
+ export interface IMenuOption {
5
+ /**
6
+ * Unique identifier for the menu option
7
+ */
8
+ id: string;
9
+ /**
10
+ * Text to display for the menu option
11
+ */
12
+ label: string;
13
+ /**
14
+ * Where the menu option should be displayed
15
+ */
16
+ includeOnMenus: MenuType[];
17
+ /**
18
+ * Display order for the menu option. Lower numbers are displayed first.
19
+ */
20
+ index: number;
21
+ /**
22
+ * Whether the menu option is a divider
23
+ */
24
+ divider?: boolean;
25
+ /**
26
+ * Icon to display for the menu option
27
+ */
28
+ icon?: ReactNode;
29
+ /**
30
+ * Link to navigate to when the menu option is clicked
31
+ * Mutually exclusive with `action`
32
+ * Can be a string, a react-router To object, or an object with pathname and optional state
33
+ */
34
+ link?: To | {
35
+ pathname: string;
36
+ state?: unknown;
37
+ };
38
+ /**
39
+ * Function to execute when the menu option is clicked
40
+ * Mutually exclusive with `link`
41
+ * @returns void
42
+ */
43
+ action?: () => void;
44
+ /**
45
+ * Whether the menu option requires authentication
46
+ * true = requires authentication
47
+ * false = requires unauthenticated
48
+ * undefined = always show
49
+ */
50
+ requiresAuth: boolean | undefined;
51
+ /**
52
+ * Custom filter function to determine if the menu option should be displayed
53
+ * @param option - The menu option to filter
54
+ * @returns boolean
55
+ */
56
+ filter?: (option: IMenuOption) => boolean;
57
+ }
58
+ //# sourceMappingURL=IMenuOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMenuOption.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/interfaces/IMenuOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAClD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export * from './IAppConfig';
2
+ export * from './IMenuOption';
3
+ export * from './IMenuConfig';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./IAppConfig"), exports);
5
+ tslib_1.__exportStar(require("./IMenuOption"), exports);
6
+ tslib_1.__exportStar(require("./IMenuConfig"), exports);
@@ -0,0 +1,21 @@
1
+ export declare const mockAuthService: {
2
+ verifyToken: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
3
+ directLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
4
+ emailChallengeLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
5
+ refreshToken: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
6
+ register: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
7
+ requestEmailLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
8
+ backupCodeLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
9
+ changePassword: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
10
+ };
11
+ export declare const createAuthService: import("jest-mock").Mock<() => {
12
+ verifyToken: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
13
+ directLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
14
+ emailChallengeLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
15
+ refreshToken: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
16
+ register: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
17
+ requestEmailLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
18
+ backupCodeLogin: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
19
+ changePassword: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
20
+ }>;
21
+ //# sourceMappingURL=authService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-express-suite-react-components/src/services/__mocks__/authService.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;EAAiC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAuthService = exports.mockAuthService = void 0;
4
+ const globals_1 = require("@jest/globals");
5
+ exports.mockAuthService = {
6
+ verifyToken: globals_1.jest.fn(),
7
+ directLogin: globals_1.jest.fn(),
8
+ emailChallengeLogin: globals_1.jest.fn(),
9
+ refreshToken: globals_1.jest.fn(),
10
+ register: globals_1.jest.fn(),
11
+ requestEmailLogin: globals_1.jest.fn(),
12
+ backupCodeLogin: globals_1.jest.fn(),
13
+ changePassword: globals_1.jest.fn(),
14
+ };
15
+ exports.createAuthService = globals_1.jest.fn(() => exports.mockAuthService);
@@ -0,0 +1,3 @@
1
+ import axios from 'axios';
2
+ export declare function createApiClient(baseURL: string): axios.AxiosInstance;
3
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/services/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,uBAU9C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createApiClient = createApiClient;
4
+ const tslib_1 = require("tslib");
5
+ const axios_1 = tslib_1.__importDefault(require("axios"));
6
+ function createApiClient(baseURL) {
7
+ const api = axios_1.default.create({ baseURL });
8
+ api.interceptors.request.use((config) => {
9
+ const languageCode = localStorage.getItem('languageCode') ?? 'en-US';
10
+ config.headers['Accept-Language'] = languageCode;
11
+ return config;
12
+ });
13
+ return api;
14
+ }
@@ -0,0 +1,72 @@
1
+ import { EmailString, IECIESConfig, SecureString } from '@digitaldefiance/ecies-lib';
2
+ import { IConstants, IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
3
+ import { Wallet } from '@ethereumjs/wallet';
4
+ export declare class AuthService {
5
+ private constants;
6
+ private baseUrl;
7
+ private eciesService;
8
+ private cryptoCore;
9
+ private apiClient;
10
+ private authenticatedApiClient;
11
+ constructor(constants: IConstants, baseUrl: string, eciesConfig: IECIESConfig);
12
+ getSiteDomain(): string;
13
+ register(username: string, email: string, timezone: string, password?: string): Promise<{
14
+ success: boolean;
15
+ message: string;
16
+ mnemonic: string;
17
+ } | {
18
+ error: string;
19
+ errorType?: string;
20
+ field?: string;
21
+ errors?: Array<Record<string, string>>;
22
+ }>;
23
+ directLogin(mnemonic: SecureString, username?: string, email?: EmailString): Promise<{
24
+ token: string;
25
+ user: IRequestUserDTO;
26
+ wallet: Wallet;
27
+ message: string;
28
+ } | {
29
+ error: string;
30
+ errorType?: string;
31
+ }>;
32
+ requestEmailLogin(username?: string, email?: EmailString): Promise<string | {
33
+ error: string;
34
+ errorType?: string;
35
+ }>;
36
+ emailChallengeLogin(mnemonic: SecureString, token: string, username?: string, email?: EmailString): Promise<{
37
+ token: string;
38
+ user: IRequestUserDTO;
39
+ wallet: Wallet;
40
+ message: string;
41
+ } | {
42
+ error: string;
43
+ errorType?: string;
44
+ }>;
45
+ verifyToken(token: string): Promise<IRequestUserDTO | {
46
+ error: string;
47
+ errorType?: string;
48
+ }>;
49
+ refreshToken(): Promise<{
50
+ token: string;
51
+ user: IRequestUserDTO;
52
+ }>;
53
+ changePassword(currentPassword: string, newPassword: string): Promise<{
54
+ success: boolean;
55
+ } | {
56
+ error: string;
57
+ errorType?: string;
58
+ }>;
59
+ backupCodeLogin(identifier: string, code: string, isEmail: boolean, recoverMnemonic: boolean, newPassword?: string): Promise<{
60
+ token: string;
61
+ codeCount: number;
62
+ user?: IRequestUserDTO;
63
+ mnemonic?: string;
64
+ message?: string;
65
+ } | {
66
+ error: string;
67
+ status?: number;
68
+ errorType?: string;
69
+ }>;
70
+ }
71
+ export declare const createAuthService: (constants: IConstants, baseUrl: string, eciesConfig: IECIESConfig) => AuthService;
72
+ //# sourceMappingURL=authService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-express-suite-react-components/src/services/authService.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EAEX,YAAY,EACZ,YAAY,EAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,UAAU,EACV,eAAe,EAGhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAoC5C,qBAAa,WAAW;IAOpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IAPjB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,sBAAsB,CAAsB;gBAG1C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,MAAM,EACvB,WAAW,EAAE,YAAY;IAQ3B,aAAa,IAAI,MAAM;IAIjB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CACN;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACvD;QACE,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACxC,CACJ;IAqDK,WAAW,CACf,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CACN;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GACzE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CACxC;IAmFK,iBAAiB,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCpD,mBAAmB,CACvB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CACN;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GACzE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CACxC;IAoDK,WAAW,CACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC7D,YAAY,IAAI,OAAO,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;IA+BI,cAAc,CAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA2BlE,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,OAAO,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CACN;QACE,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CACzD;CAkDF;AAED,eAAO,MAAM,iBAAiB,GAC5B,WAAW,UAAU,EACrB,SAAS,MAAM,EACf,aAAa,YAAY,gBAC0B,CAAC"}