@authing/react18-ui-components 4.4.0-alpha.8 → 4.4.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 (204) hide show
  1. package/README.md +33 -0
  2. package/lib/index.min.css +2 -0
  3. package/lib/index.min.js +2 -0
  4. package/lib/index.min.js.LICENSE.txt +195 -0
  5. package/lib/static/media/loading.3cf0104f.svg +32 -0
  6. package/package.json +233 -14
  7. package/types/AuthClientProvider/AuthClientProvider.d.ts +6 -0
  8. package/types/AuthClientProvider/context.d.ts +6 -0
  9. package/types/AuthClientProvider/index.d.ts +1 -0
  10. package/types/Back/index.d.ts +12 -0
  11. package/types/BindTotp/businessRequest.d.ts +5 -0
  12. package/types/BindTotp/core/bindSuccess.d.ts +6 -0
  13. package/types/BindTotp/core/securityCode.d.ts +8 -0
  14. package/types/BindTotp/index.d.ts +3 -0
  15. package/types/BindTotp/interface.d.ts +20 -0
  16. package/types/ChangeLanguage/index.d.ts +9 -0
  17. package/types/ChangePassword/businessRequest.d.ts +9 -0
  18. package/types/ChangePassword/core/PasswordNotSafeReset.d.ts +6 -0
  19. package/types/ChangePassword/core/completePassword.d.ts +2 -0
  20. package/types/ChangePassword/core/firstLoginReset.d.ts +6 -0
  21. package/types/ChangePassword/core/rotateReset.d.ts +6 -0
  22. package/types/ChangePassword/index.d.ts +11 -0
  23. package/types/CompleteInfo/businessRequest.d.ts +9 -0
  24. package/types/CompleteInfo/core/completeInfo.d.ts +11 -0
  25. package/types/CompleteInfo/index.d.ts +11 -0
  26. package/types/CompleteInfo/interface.d.ts +100 -0
  27. package/types/CompleteInfo/utils.d.ts +18 -0
  28. package/types/CopyAbleText/index.d.ts +5 -0
  29. package/types/DownloadAuthenticator/index.d.ts +3 -0
  30. package/types/DownloadAuthenticator/interface.d.ts +12 -0
  31. package/types/Error/index.d.ts +6 -0
  32. package/types/Error/interface.d.ts +8 -0
  33. package/types/ForgetPassword/InputPassword/index.d.ts +3 -0
  34. package/types/ForgetPassword/core/inputIdentify.d.ts +7 -0
  35. package/types/ForgetPassword/core/resetPassword.d.ts +16 -0
  36. package/types/ForgetPassword/index.d.ts +2 -0
  37. package/types/ForgetPassword/interface.d.ts +19 -0
  38. package/types/Guard/Guard.d.ts +10 -0
  39. package/types/Guard/GuardModule/stateMachine.d.ts +38 -0
  40. package/types/Guard/authClient.d.ts +14 -0
  41. package/types/Guard/config.d.ts +17 -0
  42. package/types/Guard/core/hooks/useAgreements.d.ts +14 -0
  43. package/types/Guard/core/hooks/useGuardView.d.ts +7 -0
  44. package/types/Guard/core/hooks/useMultipleAccounts.d.ts +324 -0
  45. package/types/Guard/core/index.d.ts +7 -0
  46. package/types/Guard/core/renderContext.d.ts +8 -0
  47. package/types/Guard/core/renderModule.d.ts +11 -0
  48. package/types/Guard/core/useAppendConfig.d.ts +4 -0
  49. package/types/Guard/core/usePlugin.d.ts +3 -0
  50. package/types/Guard/event.d.ts +69 -0
  51. package/types/Guard/index.d.ts +4 -0
  52. package/types/Guard/module.d.ts +35 -0
  53. package/types/Guard/sso.d.ts +19 -0
  54. package/types/GuardButton/GuardButton.d.ts +6 -0
  55. package/types/GuardButton/index.d.ts +1 -0
  56. package/types/GuardFace/index.d.ts +16 -0
  57. package/types/GuardSelect/index.d.ts +29 -0
  58. package/types/IconFont/iconfont.d.ts +1 -0
  59. package/types/IconFont/index.d.ts +8 -0
  60. package/types/IconFont/useGuardIconfont.d.ts +1 -0
  61. package/types/IdentityBinding/IdentityBinding.d.ts +5 -0
  62. package/types/IdentityBinding/businessRequest.d.ts +36 -0
  63. package/types/IdentityBinding/index.d.ts +2 -0
  64. package/types/IdentityBinding/interface.d.ts +27 -0
  65. package/types/IdentityBindingAsk/IdentityBindingAsk.d.ts +3 -0
  66. package/types/IdentityBindingAsk/index.d.ts +2 -0
  67. package/types/IdentityBindingAsk/interface.d.ts +21 -0
  68. package/types/ImagePro/index.d.ts +15 -0
  69. package/types/InputNumber/index.d.ts +5 -0
  70. package/types/InputPassword/index.d.ts +1 -0
  71. package/types/LazyloadImage/index.d.ts +12 -0
  72. package/types/Login/codemap.d.ts +2 -0
  73. package/types/Login/core/withAD.d.ts +20 -0
  74. package/types/Login/core/withAppQrcode.d.ts +8 -0
  75. package/types/Login/core/withAuthingOtpPush/BeforeLogin.d.ts +17 -0
  76. package/types/Login/core/withAuthingOtpPush/HowBindClient.d.ts +1 -0
  77. package/types/Login/core/withAuthingOtpPush/HowGetAppLoginUrl.d.ts +1 -0
  78. package/types/Login/core/withAuthingOtpPush/HowUsePushLogin.d.ts +1 -0
  79. package/types/Login/core/withAuthingOtpPush/PendingLogin.d.ts +6 -0
  80. package/types/Login/core/withAuthingOtpPush/PushLoginGuideModal.d.ts +2 -0
  81. package/types/Login/core/withAuthingOtpPush/PushLoginGuideSelector.d.ts +8 -0
  82. package/types/Login/core/withAuthingOtpPush/index.d.ts +2 -0
  83. package/types/Login/core/withAuthingOtpPush/types.d.ts +28 -0
  84. package/types/Login/core/withLDAP.d.ts +21 -0
  85. package/types/Login/core/withPassword/FormItemAccount.d.ts +6 -0
  86. package/types/Login/core/withPassword/GraphicVerifyCode.d.ts +7 -0
  87. package/types/Login/core/withPassword/InputAccount.d.ts +7 -0
  88. package/types/Login/core/withPassword/index.d.ts +27 -0
  89. package/types/Login/core/withVerifyCode/FormItemIdentify.d.ts +11 -0
  90. package/types/Login/core/withVerifyCode/InputInternationPhone.d.ts +7 -0
  91. package/types/Login/core/withVerifyCode/VirtualDropdown.d.ts +12 -0
  92. package/types/Login/core/withVerifyCode/index.d.ts +3 -0
  93. package/types/Login/core/withVerifyCode/inputIdentify.d.ts +7 -0
  94. package/types/Login/core/withWechatMiniQrcode.d.ts +10 -0
  95. package/types/Login/core/withWechatmpQrcode.d.ts +13 -0
  96. package/types/Login/hooks/useLoginMultiple.d.ts +65 -0
  97. package/types/Login/index.d.ts +5 -0
  98. package/types/Login/interface.d.ts +41 -0
  99. package/types/Login/multipleAccounts/index.d.ts +22 -0
  100. package/types/Login/multipleAccounts/panel.d.ts +46 -0
  101. package/types/Login/resetAccountName/businessRequest.d.ts +6 -0
  102. package/types/Login/resetAccountName/index.d.ts +3 -0
  103. package/types/Login/socialLogin/IdpButton/index.d.ts +1 -0
  104. package/types/Login/socialLogin/index.d.ts +18 -0
  105. package/types/Login/socialLogin/postMessage.d.ts +7 -0
  106. package/types/MFA/VerifyCodeInput/VerifyCodeFormItem.d.ts +8 -0
  107. package/types/MFA/VerifyCodeInput/index.d.ts +14 -0
  108. package/types/MFA/businessRequest.d.ts +46 -0
  109. package/types/MFA/codemap.d.ts +2 -0
  110. package/types/MFA/core/email.d.ts +23 -0
  111. package/types/MFA/core/face.d.ts +1 -0
  112. package/types/MFA/core/face_deps.d.ts +11 -0
  113. package/types/MFA/core/sms.d.ts +28 -0
  114. package/types/MFA/core/totp.d.ts +20 -0
  115. package/types/MFA/index.d.ts +9 -0
  116. package/types/MFA/interface.d.ts +43 -0
  117. package/types/MFA/mfaMethods/index.d.ts +8 -0
  118. package/types/NeedHelpView/core/describeQuestions.d.ts +7 -0
  119. package/types/NeedHelpView/index.d.ts +1 -0
  120. package/types/NewSubmitSuccess/index.d.ts +2 -0
  121. package/types/NewSubmitSuccess/interface.d.ts +19 -0
  122. package/types/Qrcode/UiQrCode.d.ts +51 -0
  123. package/types/Qrcode/WorkQrCode.d.ts +41 -0
  124. package/types/Qrcode/hooks/useImage.d.ts +4 -0
  125. package/types/Qrcode/hooks/usePostQrCode.d.ts +72 -0
  126. package/types/Qrcode/hooks/usePreQrCode.d.ts +31 -0
  127. package/types/Qrcode/hooks/useStatus.d.ts +8 -0
  128. package/types/Qrcode/index.d.ts +7 -0
  129. package/types/RecoveryCode/businessRequest.d.ts +5 -0
  130. package/types/RecoveryCode/core/saveCode.d.ts +5 -0
  131. package/types/RecoveryCode/core/useCode.d.ts +7 -0
  132. package/types/RecoveryCode/index.d.ts +5 -0
  133. package/types/RecoveryCode/interface.d.ts +8 -0
  134. package/types/Register/codemap.d.ts +2 -0
  135. package/types/Register/components/Agreements/index.d.ts +11 -0
  136. package/types/Register/core/WithCode.d.ts +17 -0
  137. package/types/Register/core/WithEmail.d.ts +13 -0
  138. package/types/Register/core/WithEmailCode.d.ts +11 -0
  139. package/types/Register/core/WithPhone.d.ts +10 -0
  140. package/types/Register/index.d.ts +2 -0
  141. package/types/Register/interface.d.ts +25 -0
  142. package/types/Register/utils.d.ts +1 -0
  143. package/types/SelectAccount/index.d.ts +2 -0
  144. package/types/SelectAccount2Login/index.d.ts +2 -0
  145. package/types/SelfUnlock/core/selfUnlock.d.ts +8 -0
  146. package/types/SelfUnlock/index.d.ts +2 -0
  147. package/types/SelfUnlock/interface.d.ts +15 -0
  148. package/types/SendCode/SendCodeBtn.d.ts +10 -0
  149. package/types/SendCode/SendCodeByEmail.d.ts +13 -0
  150. package/types/SendCode/SendCodeByPhone.d.ts +15 -0
  151. package/types/SendCode/index.d.ts +9 -0
  152. package/types/ShieldSpin/index.d.ts +6 -0
  153. package/types/SingleComponent/SingleComponent.d.ts +2 -0
  154. package/types/SingleComponent/index.d.ts +3 -0
  155. package/types/SubmitButton/index.d.ts +10 -0
  156. package/types/SubmitSuccess/index.d.ts +2 -0
  157. package/types/SubmitSuccess/interface.d.ts +17 -0
  158. package/types/TenantPortalSelect/index.d.ts +2 -0
  159. package/types/TenantPortalSelect/interface.d.ts +33 -0
  160. package/types/Type/application.d.ts +337 -0
  161. package/types/Type/index.d.ts +87 -0
  162. package/types/UploadImage/index.d.ts +5 -0
  163. package/types/ValidatorRules/PasswordFormItem.d.ts +6 -0
  164. package/types/ValidatorRules/ValidatorFormItem.d.ts +8 -0
  165. package/types/ValidatorRules/index.d.ts +32 -0
  166. package/types/ValidatorRules/useCheckRepeat.d.ts +1 -0
  167. package/types/VerifyCodeInput/index.d.ts +10 -0
  168. package/types/_utils/GuardErrorCode.d.ts +12 -0
  169. package/types/_utils/appendConfig.d.ts +4 -0
  170. package/types/_utils/clipboard.d.ts +1 -0
  171. package/types/_utils/config/index.d.ts +110 -0
  172. package/types/_utils/context.d.ts +160 -0
  173. package/types/_utils/corsVerification.d.ts +1 -0
  174. package/types/_utils/countryList.d.ts +7 -0
  175. package/types/_utils/errorFace.d.ts +12 -0
  176. package/types/_utils/facePlugin/index.d.ts +4 -0
  177. package/types/_utils/facePlugin/interface.d.ts +5 -0
  178. package/types/_utils/flowHandleStorage.d.ts +4 -0
  179. package/types/_utils/getCaptchaUrl.d.ts +1 -0
  180. package/types/_utils/guardDocument.d.ts +3 -0
  181. package/types/_utils/guardHttp.d.ts +28 -0
  182. package/types/_utils/hooks/index.d.ts +43 -0
  183. package/types/_utils/http.d.ts +33 -0
  184. package/types/_utils/index.d.ts +99 -0
  185. package/types/_utils/initAppId.d.ts +7 -0
  186. package/types/_utils/locales/en-us/index.d.ts +4 -0
  187. package/types/_utils/locales/index.d.ts +8 -0
  188. package/types/_utils/locales/ja-jp/index.d.ts +4 -0
  189. package/types/_utils/locales/zh-cn/index.d.ts +4 -0
  190. package/types/_utils/locales/zh-tw/index.d.ts +4 -0
  191. package/types/_utils/logger/index.d.ts +15 -0
  192. package/types/_utils/logger/interface.d.ts +5 -0
  193. package/types/_utils/popupCenter.d.ts +9 -0
  194. package/types/_utils/responseManagement/index.d.ts +3 -0
  195. package/types/_utils/responseManagement/interface.d.ts +26 -0
  196. package/types/_utils/tenant.d.ts +19 -0
  197. package/types/_utils/useErrorText.d.ts +5 -0
  198. package/types/index.d.ts +7 -0
  199. package/types/version/index.d.ts +2 -0
  200. package/types/version/version.d.ts +2 -0
  201. package/dist/esm/guard.min.css +0 -2
  202. package/dist/esm/guard.min.js +0 -2
  203. package/dist/esm/guard.min.js.LICENSE.txt +0 -188
  204. package/dist/typings/index.d.ts +0 -2
@@ -0,0 +1,100 @@
1
+ import { AuthenticationClient, CommonMessage, User } from 'authing-js-sdk';
2
+ import { IG2Config, IG2Events, IG2FCProps } from '../Type';
3
+ export interface CompleteInfoConfig extends IG2Config {
4
+ }
5
+ export declare const getDefaultCompleteInfoConfig: () => CompleteInfoConfig;
6
+ export interface CompleteInfoEvents extends IG2Events {
7
+ onRegisterInfoCompleted?: (user: User, udfs: {
8
+ key: any;
9
+ value: any;
10
+ }[], authClient: AuthenticationClient) => void;
11
+ onRegisterInfoCompletedError?: (error: CommonMessage, udfs: {
12
+ key: any;
13
+ value: any;
14
+ }[], authClient: AuthenticationClient) => void;
15
+ }
16
+ export interface GuardCompleteInfoProps extends IG2FCProps, CompleteInfoEvents {
17
+ config: Partial<CompleteInfoConfig>;
18
+ }
19
+ export interface GuardCompleteInfoViewProps extends GuardCompleteInfoProps {
20
+ config: CompleteInfoConfig;
21
+ initData: any;
22
+ onLogin?: any;
23
+ }
24
+ export type ExtendsFieldType = 'user' | 'internal';
25
+ export interface ExtendsField {
26
+ type: ExtendsFieldType;
27
+ name: string;
28
+ label: string;
29
+ inputType: string;
30
+ required: boolean;
31
+ validateRules: any[];
32
+ }
33
+ export declare enum FormValidateRule {
34
+ NONE = "none",
35
+ EMAIL = "email",
36
+ PHONE = "phone",
37
+ IS_NUMBER = "isNumber",
38
+ REG_EXP = "regExp"
39
+ }
40
+ export interface CompleteInfoRule {
41
+ type: FormValidateRule;
42
+ content: string;
43
+ errorMessage?: string;
44
+ }
45
+ export interface CompleteInfoSelectOption {
46
+ value: string;
47
+ label: string;
48
+ }
49
+ export interface CompleteInfoMetaData {
50
+ type: CompleteInfoBaseControls | CompleteInfoExtendsControls;
51
+ label: string;
52
+ name: string;
53
+ required: boolean;
54
+ validateRules: CompleteInfoRule[];
55
+ options?: CompleteInfoSelectOption[];
56
+ }
57
+ export declare enum CompleteInfoBaseControls {
58
+ USERNAME = "username",
59
+ PHONE = "phone",
60
+ EMAIL = "email"
61
+ }
62
+ export declare enum CompleteInfoExtendsControls {
63
+ IMAGE = "image",
64
+ NUMBER = "number",
65
+ DATE = "date",
66
+ DATE_TIME = "datetime",
67
+ SELECT = "select",
68
+ DROPDOWN = "dropdown",
69
+ BOOLEAN = "boolean",
70
+ STRING = "string",
71
+ TEXT = "text",
72
+ GENDER = "gender",
73
+ COUNTRY = "country"
74
+ }
75
+ export interface CompleteInfoInitData {
76
+ skip: boolean;
77
+ metaData: CompleteInfoMetaData[];
78
+ }
79
+ export interface RegisterCompleteInfoInitData {
80
+ content: any;
81
+ businessRequestName: 'registerByEmail' | 'registerByPhoneCode' | 'registerByEmailCode';
82
+ onRegisterFailed: Function;
83
+ onRegisterSuccess: Function;
84
+ }
85
+ export interface RegisterCompletePasswordInitData extends RegisterCompleteInfoInitData {
86
+ isChangeComplete: boolean;
87
+ }
88
+ export interface CompleteInfoRequest {
89
+ fieldValues: {
90
+ name: string;
91
+ value: string;
92
+ code?: string;
93
+ }[];
94
+ }
95
+ export declare enum OmitCompleteInfo {
96
+ 'registerByEmail' = "email",
97
+ 'registerByPhoneCode' = "phone",
98
+ 'registerByEmailCode' = "email",
99
+ 'phone-password' = "phone"
100
+ }
@@ -0,0 +1,18 @@
1
+ import { User } from 'authing-js-sdk';
2
+ import { CompleteInfoMetaData, CompleteInfoRequest, ExtendsField } from '../CompleteInfo/interface';
3
+ import { ApplicationConfig } from '../Type/application';
4
+ export declare const completeFieldsFilter: (user: User, field: ExtendsField) => boolean;
5
+ export declare const extendsFieldsToMetaData: (extendsFields: import("../Type/application").ExtendsField[] | undefined, selectOptions: {
6
+ key: string;
7
+ options: {
8
+ value: string;
9
+ label: string;
10
+ }[];
11
+ }[]) => CompleteInfoMetaData[];
12
+ export declare const fieldValuesToRegisterProfile: (extendsFields: ApplicationConfig['extendsFields'], fieldValues?: CompleteInfoRequest['fieldValues']) => {
13
+ registerProfile: Record<string, any>;
14
+ udf: {
15
+ key: string;
16
+ value: string;
17
+ }[];
18
+ };
@@ -0,0 +1,5 @@
1
+ import React, { FC } from 'react';
2
+ import './style.less';
3
+ export interface CopyTextProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ }
5
+ export declare const CopyAbleText: FC<CopyTextProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import './styles.less';
3
+ export declare const GuardDownloadATView: React.FC;
@@ -0,0 +1,12 @@
1
+ import { IG2Config, IG2Events, IG2FCProps } from '../Type';
2
+ export interface DownloadATConfig extends IG2Config {
3
+ }
4
+ export declare const getDefaultDownloadAuthenticatorConfig: () => DownloadATConfig;
5
+ export interface DownloadATEvents extends IG2Events {
6
+ }
7
+ export interface GuardDownloadATProps extends IG2FCProps, DownloadATEvents {
8
+ config: Partial<DownloadATConfig>;
9
+ }
10
+ export interface GuardDownloadATViewProps extends GuardDownloadATProps {
11
+ config: DownloadATConfig;
12
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import './styles.less';
3
+ export interface ErrorProps {
4
+ error?: Error;
5
+ }
6
+ export declare const GuardErrorView: React.FC<ErrorProps>;
@@ -0,0 +1,8 @@
1
+ export interface ErrorInitData {
2
+ error?: Error;
3
+ }
4
+ export interface GuardErrorProps {
5
+ initData?: ErrorInitData;
6
+ }
7
+ export interface GuardErrorViewProps extends GuardErrorProps {
8
+ }
@@ -0,0 +1,3 @@
1
+ import { InputRef, PasswordProps } from 'antd/lib/input';
2
+ import React from 'react';
3
+ export declare const InputPasswordForget: React.ForwardRefExoticComponent<PasswordProps & React.RefAttributes<InputRef>>;
@@ -0,0 +1,7 @@
1
+ import { InputProps } from 'antd/lib/input';
2
+ import React from 'react';
3
+ import { VerifyLoginMethods } from '../../Type/application';
4
+ export interface InputIdentifyProps extends InputProps {
5
+ methods: VerifyLoginMethods[];
6
+ }
7
+ export declare const InputIdentify: React.FC<InputIdentifyProps>;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export declare enum InputMethodMap {
3
+ email = "email-code",
4
+ phone = "phone-code"
5
+ }
6
+ interface ResetPasswordProps {
7
+ publicConfig: any;
8
+ setControlShow: any;
9
+ setPolicyStrength: any;
10
+ setCustomPasswordStrength: any;
11
+ setPhoneOrEmailText: any;
12
+ setResetToken: React.Dispatch<React.SetStateAction<string>>;
13
+ setUserId: React.Dispatch<React.SetStateAction<string>>;
14
+ }
15
+ export declare const ResetPassword: (props: ResetPasswordProps) => JSX.Element;
16
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const GuardForgetPassword: React.FC;
@@ -0,0 +1,19 @@
1
+ import { AuthenticationClient, CommonMessage, SceneType } from 'authing-js-sdk';
2
+ import { EmailScene, IG2Config, IG2Events, IG2FCProps, IG2FCViewProps } from '../Type';
3
+ export interface ForgetPasswordEvents extends IG2Events {
4
+ onEmailSend?: (authClient: AuthenticationClient, sence?: EmailScene) => void;
5
+ onEmailSendError?: (error?: CommonMessage, authClient?: AuthenticationClient, sence?: EmailScene) => void;
6
+ onPhoneSend?: (authClient: AuthenticationClient, sence?: SceneType) => void;
7
+ onPhoneSendError?: (error: CommonMessage, authClient: AuthenticationClient, sence?: SceneType) => void;
8
+ onPwdReset?: (authClient: AuthenticationClient) => void;
9
+ onPwdResetError?: (error: CommonMessage, authClient: AuthenticationClient) => void;
10
+ }
11
+ export interface ForgetPasswordConfig extends IG2Config {
12
+ goBack?: null | (() => void);
13
+ }
14
+ export interface ForgetPasswordProps extends IG2FCProps, ForgetPasswordEvents {
15
+ config: Partial<IG2Config>;
16
+ }
17
+ export interface ForgetPasswordViewProps extends ForgetPasswordProps, IG2FCViewProps {
18
+ config: IG2Config;
19
+ }
@@ -0,0 +1,10 @@
1
+ import { GuardEvents } from './event';
2
+ import { GuardAppendConfig, IG2FCProps } from '../Type';
3
+ import { GuardLocalConfig } from './config';
4
+ import 'moment/locale/zh-cn';
5
+ import React from 'react';
6
+ export interface GuardProps extends GuardEvents, IG2FCProps {
7
+ config?: Partial<GuardLocalConfig>;
8
+ appendConfig?: GuardAppendConfig;
9
+ }
10
+ export declare const Guard: React.MemoExoticComponent<(props: GuardProps) => JSX.Element>;
@@ -0,0 +1,38 @@
1
+ import { GuardLocalConfig } from '../config';
2
+ import { GuardModuleType } from '../module';
3
+ export interface ModuleState {
4
+ moduleName: GuardModuleType;
5
+ initData?: any;
6
+ }
7
+ export declare enum ActionType {
8
+ ChangeModule = "ChangeModule",
9
+ Back = "Back",
10
+ Init = "Init"
11
+ }
12
+ export interface StateMachineLog {
13
+ action: ActionType;
14
+ date: number;
15
+ dataSource: ModuleState;
16
+ }
17
+ export type ChangeModuleEvent = (nextModule: GuardModuleType, initData?: any) => void;
18
+ export declare class GuardStateMachine {
19
+ private order;
20
+ private config;
21
+ private moduleStateHistory;
22
+ private changeModuleEvent;
23
+ private stateMachineLog;
24
+ constructor(changeModuleEvent: ChangeModuleEvent, initData: ModuleState);
25
+ uninstallPopstate: () => void;
26
+ globalWindow: () => Window | undefined;
27
+ next: (nextModule: GuardModuleType, initData: any) => void;
28
+ back: (initData?: any) => void;
29
+ end: () => void;
30
+ historyPush: (data: ModuleState, actionType?: ActionType) => void;
31
+ historyBack: (data: ModuleState) => void;
32
+ setConfig: (config: Partial<GuardLocalConfig>) => void;
33
+ isUseHistoryHijack: () => boolean;
34
+ onPopstate: () => void;
35
+ }
36
+ export declare const initGuardStateMachine: (changeMouleEvent: ChangeModuleEvent, initData: ModuleState) => GuardStateMachine;
37
+ export declare const getGuardStateMachine: () => GuardStateMachine;
38
+ export declare const useGuardStateMachine: () => GuardStateMachine;
@@ -0,0 +1,14 @@
1
+ import { AuthenticationClient } from 'authing-js-sdk';
2
+ import { GuardLocalConfig } from './config';
3
+ declare let authClient: AuthenticationClient;
4
+ export declare const initGuardAuthClient: (config: GuardLocalConfig, appId: string, tenantId?: string) => AuthenticationClient;
5
+ export declare const useInitGuardAuthClient: (props: {
6
+ config?: GuardLocalConfig | undefined;
7
+ appId?: string | undefined;
8
+ authClient?: AuthenticationClient | undefined;
9
+ setError?: any;
10
+ tenantId?: string | undefined;
11
+ }) => AuthenticationClient | undefined;
12
+ export declare const getGuardAuthClient: () => AuthenticationClient;
13
+ export declare const useGuardAuthClient: () => AuthenticationClient;
14
+ export {};
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from 'react';
2
+ import { GuardModuleType } from '.';
3
+ import { ForgetPasswordConfig } from '../ForgetPassword/interface';
4
+ import { LoginConfig } from '../Login/interface';
5
+ import { RegisterConfig } from '../Register/interface';
6
+ export interface GuardLocalConfig extends RegisterConfig, LoginConfig, ForgetPasswordConfig {
7
+ isSSO?: boolean;
8
+ defaultScenes?: GuardModuleType;
9
+ defaultInitData?: any;
10
+ showLoading?: boolean;
11
+ loadingComponent?: ReactNode;
12
+ /**
13
+ * @description 是否调用 eventsMapping 中的事件
14
+ */
15
+ openEventsMapping?: boolean;
16
+ }
17
+ export declare const getDefaultGuardLocalConfig: () => GuardLocalConfig;
@@ -0,0 +1,14 @@
1
+ import { Agreement } from '../../../Type';
2
+ interface Options {
3
+ agreements: Agreement[];
4
+ checkedAgreements: (string | number)[];
5
+ checkAllAgreements: () => void;
6
+ unCheckAllAgreements: () => void;
7
+ }
8
+ export declare function useAgreements(options: Options): {
9
+ agreements: Agreement[];
10
+ checkedAgreements: (string | number)[];
11
+ checkAllAgreements: () => void;
12
+ unCheckAllAgreements: () => void;
13
+ };
14
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface Options {
3
+ changeTab?: React.Dispatch<any>;
4
+ currentTab?: string;
5
+ }
6
+ export declare function useGuardView(options?: Options): void;
7
+ export {};
@@ -0,0 +1,324 @@
1
+ /**
2
+ * 整体的思路:
3
+ * 在所有登录方式中,当进行登录时保存登录方式(FE侧自定义)
4
+ * 之后在登录成功(onLogin)中,触发store的方法保存用户信息以及对应的登录方式进入localStorage。
5
+ * 当用户再次打开页面时,拿出数据进行对比。(主要对比 LoginWay ),TODO: 这里的代码主要显得乱的原因是因为枚举的不正当使用。(主要要和Server端进行互相映射,后续维护时可优化)
6
+ *
7
+ * 核心思路:登录成功时,保存的FE侧自定义 LoginWay
8
+ * 再次打开页面时,初始化时先根据 FE 自定义的 LoginWay 跳转到不同的 tab 下(way)下使用 account 进行回填。TODO: 这里也可优化,应该在登录成功时候就进行 LoginWay 的格式化,而非转来转去。(但是这样无法直观的体现是哪种方式进行登录)
9
+ */
10
+ import { SelectOptions } from '../../../Login/multipleAccounts/panel';
11
+ export declare const QR_CODE_WAY: LoginWay[];
12
+ /**
13
+ * 登录时所有支持的登录列表(前端定义列表)
14
+ * 这里稍微有点乱 因为Login中的登录方式和这里的不匹配,暂时放在了一起
15
+ */
16
+ export type LoginWay = 'email' | 'phone' | 'password' | 'phone-code' | 'email-code' | 'social' | 'wechat-miniprogram-qrcode' | 'wechatmp-qrcode' | 'app-qrcode' | 'ad' | 'ldap' | 'ldap-password' | 'ldap-email' | 'ldap-phone' | 'authing-otp-push';
17
+ /**
18
+ * when: 多账号页面跳转进入登录页面
19
+ * 携带的回填数据信息
20
+ */
21
+ export interface BackFillMultipleState extends Omit<User, 'id' | 'name' | 'nickname' | 'username' | 'phone' | 'email' | 'photo' | '_updateTime'> {
22
+ /**
23
+ * 回填的账号名称 邮箱/用户名/手机
24
+ */
25
+ account: string;
26
+ }
27
+ /**
28
+ * Store instance
29
+ */
30
+ export type StoreInstance = ReturnType<MultipleAccount['getStore']>;
31
+ /**
32
+ * 当前 userId 对应的类型
33
+ */
34
+ export interface CurrentStore {
35
+ [id: string]: User;
36
+ }
37
+ export interface User {
38
+ /**
39
+ * userId
40
+ */
41
+ id: string;
42
+ /**
43
+ * Tab 栏状态
44
+ */
45
+ tab: 'input' | 'qrcode';
46
+ /**
47
+ * 登录方式
48
+ */
49
+ way: LoginWay;
50
+ /**
51
+ * 姓名
52
+ */
53
+ name?: string | null;
54
+ /**
55
+ * 昵称
56
+ */
57
+ nickname?: string | null;
58
+ /**
59
+ * 用户名
60
+ */
61
+ username?: string | null;
62
+ /**
63
+ * 手机号
64
+ */
65
+ phone?: string | null;
66
+ /**
67
+ * 邮箱
68
+ */
69
+ email?: string | null;
70
+ /**
71
+ * 头像
72
+ */
73
+ photo?: string | null;
74
+ /**
75
+ * qrCodeId 对应的ID
76
+ */
77
+ qrCodeId?: string;
78
+ /**
79
+ * 国际化短信区号
80
+ */
81
+ phoneCountryCode?: string;
82
+ /**
83
+ * 国际化短信选择框回填
84
+ */
85
+ areaCode?: string;
86
+ /**
87
+ * 登录时间
88
+ */
89
+ _updateTime?: string;
90
+ }
91
+ declare class MultipleAccount {
92
+ /**
93
+ * 原始的登录账号
94
+ */
95
+ private originAccount;
96
+ private originWay;
97
+ /**
98
+ * 原始的 localStore 值
99
+ */
100
+ private originStore;
101
+ /**
102
+ * 当前 AppId Store
103
+ */
104
+ private currentStore;
105
+ /**
106
+ * 单账号直接回填
107
+ */
108
+ private firstBackFillData?;
109
+ /**
110
+ * server 返回支持的登录方式
111
+ */
112
+ private serverSideLoginMethods;
113
+ /**
114
+ * 是否显示多账号登录页面
115
+ * true 存在
116
+ */
117
+ private memberState;
118
+ /**
119
+ * 二维码登录时的ID
120
+ */
121
+ private qrCodeId?;
122
+ /**
123
+ * 国际化短信前缀 区号
124
+ */
125
+ private phoneCountryCode?;
126
+ /**
127
+ * 国际化短信前缀 选中地区编号
128
+ */
129
+ private areaCode?;
130
+ private tabStatus?;
131
+ /**
132
+ * 当前登录二级状态
133
+ */
134
+ private loginWay?;
135
+ private appId;
136
+ /**
137
+ * 是否开启国际化短信
138
+ */
139
+ private isInternationSms?;
140
+ constructor();
141
+ /**
142
+ * 页面首次加载时初始化 Store
143
+ * 从 LocalStore 中拿值 放到这里来
144
+ */
145
+ private initStore;
146
+ /**
147
+ * 初始化记住账号相关信息
148
+ * @param normalCount
149
+ * @returns
150
+ */
151
+ private initMemberState;
152
+ /**
153
+ * 获取当前ID下有效账号个数
154
+ * @returns qrCount 有效的二维码登录个数 normalCount 有效的账号登录方式
155
+ */
156
+ private memberStateCount;
157
+ /**
158
+ * 初始化第一次的数据 TODO: 逻辑有点脏 待整理
159
+ */
160
+ private initBackfillData;
161
+ /**
162
+ * 根据前端存储的登录方式返回后端映射方式
163
+ * @param front
164
+ */
165
+ private getServerLoginMethodByFront;
166
+ /**
167
+ * 当前 Store DONE
168
+ */
169
+ private getCurrentStore;
170
+ /**
171
+ * 国际化短信过滤
172
+ * true 表示通过 需要保留
173
+ * false 表示不通过 需要过滤
174
+ */
175
+ private validateInternationSms;
176
+ /**
177
+ * 校验有效的登录方式账号
178
+ * @param user
179
+ * @param serverSideLoginMethods
180
+ * @returns
181
+ */
182
+ private validateMethod;
183
+ /**
184
+ *
185
+ * @param tab 一级Tab状态
186
+ * @param way 二级Tab状态
187
+ * @param id 二维码登录时 记录对应的二维码 ID
188
+ */
189
+ private setLoginWay;
190
+ /**
191
+ * 设置/更新 store 内的用户信息
192
+ */
193
+ private setUserInfo;
194
+ /**
195
+ * 持久化保存
196
+ */
197
+ private saveStore;
198
+ /**
199
+ * 根据登录的 account 判断本次登录的方式
200
+ * @param account 登录输入的账号
201
+ * @param param1 登录成功返回的相关信息 用户名/手机号/邮箱
202
+ * @returns
203
+ */
204
+ private setLoginWayByHttpData;
205
+ /**
206
+ * 根据登录的 account 判断本次LDAP登录方式
207
+ * @param account 登录输入的账号
208
+ * @param param1 登录成功返回的相关信息 用户名/手机号/邮箱
209
+ * @returns
210
+ */
211
+ private setLoginWayByLDAPData;
212
+ /**
213
+ * 根据用户 ID 删除 localStorage 中当前用户 ID
214
+ */
215
+ private delUserById;
216
+ /**
217
+ * 获得多账号登录页面的所有用户列表
218
+ * @param excludeWays
219
+ */
220
+ private getMemoUser;
221
+ /**
222
+ * 根据 id 获得当前已登录的用户信息
223
+ * @param userId
224
+ * @returns User / undefined
225
+ */
226
+ private getMemoSingleUser;
227
+ /**
228
+ * 该方法仅仅需要回填账号的登录方式,其他都不计入
229
+ * 当用户名/手机号/邮箱/AD/LDAP 相同时,根据登录顺序匹配不同的账号
230
+ * 根据记住的用户登录方式获取对应的登录账户名
231
+ * @param way
232
+ * @param user
233
+ * @returns
234
+ */
235
+ private getAccountByWay;
236
+ private _mappingUser;
237
+ /**
238
+ * 外部暴露方法
239
+ */
240
+ getStore: () => {
241
+ initStore: (appId: string, options: {
242
+ serverSideLoginMethods: LoginWay[];
243
+ isInternationSms: boolean;
244
+ }) => void;
245
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string, internation?: {
246
+ phoneCountryCode: string;
247
+ areaCode: string;
248
+ }) => void;
249
+ setUserInfo: (user: Omit<User & {
250
+ id: string;
251
+ loginAccount?: string | undefined;
252
+ usertype?: string | undefined;
253
+ }, "tab" | "way" | "phoneCountryCode">) => void;
254
+ setLoginWayByHttpData: (account: string, data: {
255
+ username?: string | undefined;
256
+ phone?: string | undefined;
257
+ email?: string | undefined;
258
+ }) => void;
259
+ setLoginWayByLDAPData: (account: string, data: {
260
+ name?: string | undefined;
261
+ phone?: string | undefined;
262
+ email?: string | undefined;
263
+ }) => void;
264
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
265
+ getMemoSingleUser: (id: string) => {
266
+ way: LoginWay;
267
+ account: string;
268
+ } | undefined;
269
+ delUserById: (id: string) => string;
270
+ getMemberState: () => boolean;
271
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
272
+ getOriginAccount: () => string;
273
+ getOriginWay: () => string;
274
+ };
275
+ }
276
+ /**
277
+ * MultipleAccounts 相关 Hook
278
+ * Finally Config 类型过滤
279
+ */
280
+ declare const useMultipleAccounts: ({ appId, finallyConfig, }: {
281
+ appId?: string | undefined;
282
+ finallyConfig?: any;
283
+ }) => {
284
+ instance: {
285
+ initStore: (appId: string, options: {
286
+ serverSideLoginMethods: LoginWay[];
287
+ isInternationSms: boolean;
288
+ }) => void;
289
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string, internation?: {
290
+ phoneCountryCode: string;
291
+ areaCode: string;
292
+ }) => void;
293
+ setUserInfo: (user: Omit<User & {
294
+ id: string;
295
+ loginAccount?: string | undefined;
296
+ usertype?: string | undefined;
297
+ }, "tab" | "way" | "phoneCountryCode">) => void;
298
+ setLoginWayByHttpData: (account: string, data: {
299
+ username?: string | undefined;
300
+ phone?: string | undefined;
301
+ email?: string | undefined;
302
+ }) => void;
303
+ setLoginWayByLDAPData: (account: string, data: {
304
+ name?: string | undefined;
305
+ phone?: string | undefined;
306
+ email?: string | undefined;
307
+ }) => void;
308
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
309
+ getMemoSingleUser: (id: string) => {
310
+ way: LoginWay;
311
+ account: string;
312
+ } | undefined;
313
+ delUserById: (id: string) => string;
314
+ getMemberState: () => boolean;
315
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
316
+ getOriginAccount: () => string;
317
+ getOriginWay: () => string;
318
+ } | undefined;
319
+ isMultipleAccount: boolean;
320
+ referMultipleState: (type: 'login' | 'multiple', data?: BackFillMultipleState) => void;
321
+ multipleAccountData: BackFillMultipleState | undefined;
322
+ clearBackFillData: () => void;
323
+ };
324
+ export default useMultipleAccounts;
@@ -0,0 +1,7 @@
1
+ import { GuardProps } from '..';
2
+ import { ModuleState } from '../GuardModule/stateMachine';
3
+ export interface GuardCoreProps {
4
+ guardProps: GuardProps;
5
+ initState: ModuleState;
6
+ }
7
+ export declare const GuardCore: (props: GuardCoreProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { GuardProps } from '..';
2
+ import React, { ReactNode } from 'react';
3
+ import { ModuleState } from '../GuardModule/stateMachine';
4
+ export declare const RenderContext: React.FC<{
5
+ guardProps: GuardProps;
6
+ initState: ModuleState;
7
+ children: ReactNode;
8
+ }>;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { GuardProps } from '..';
3
+ import '../styles.less';
4
+ export declare enum LangMAP {
5
+ zhCn = "zh-CN",
6
+ enUs = "en-US",
7
+ jaJp = "ja-JP"
8
+ }
9
+ export declare const RenderModule: React.FC<{
10
+ guardProps: GuardProps;
11
+ }>;