@authing/react-ui-components 4.1.0-rc.8 → 4.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authing/react-ui-components",
3
- "version": "4.1.0-rc.8",
3
+ "version": "4.1.0",
4
4
  "private": false,
5
5
  "main": "lib/index.min.js",
6
6
  "typings": "types/index.d.ts",
@@ -5,5 +5,5 @@ export declare const enum CompleteInfoAuthFlowAction {
5
5
  Skip = "skip-completion"
6
6
  }
7
7
  export declare const authFlow: (action: CompleteInfoAuthFlowAction, data?: CompleteInfoRequest | undefined) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
8
- export declare const registerSkipMethod: (fnName: RegisterCompleteInfoInitData['businessRequestName'] | string, content: any) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
8
+ export declare const registerSkipMethod: (fnName: RegisterCompleteInfoInitData['businessRequestName'], content: any) => Promise<import("../_utils/http").AuthingGuardResponse<any>> | undefined;
9
9
  export declare const registerRequest: (action: CompleteInfoAuthFlowAction, registerFnName: RegisterCompleteInfoInitData['businessRequestName'], registerContent: any, registerProfile?: any) => Promise<User | import("../_utils/http").AuthingGuardResponse<any> | undefined>;
@@ -0,0 +1,4 @@
1
+ import { Input } from 'antd';
2
+ import { PasswordProps } from 'antd/lib/input';
3
+ import React from 'react';
4
+ export declare const InputPasswordForget: React.ForwardRefExoticComponent<PasswordProps & React.RefAttributes<React.RefObject<Input>>>;
@@ -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>;
@@ -4,8 +4,12 @@ export declare enum InputMethodMap {
4
4
  phone = "phone-code"
5
5
  }
6
6
  interface ResetPasswordProps {
7
- onReset: any;
8
7
  publicConfig: any;
8
+ setPhoneOrEmail: any;
9
+ setControlShow: any;
10
+ setPolicyStrength: any;
11
+ setCustomPasswordStrength: any;
12
+ setPhoneOrEmailText: any;
9
13
  }
10
14
  export declare const ResetPassword: (props: ResetPasswordProps) => JSX.Element;
11
15
  export {};
@@ -248,8 +248,7 @@ declare class MultipleAccount {
248
248
  } | undefined) => void;
249
249
  setUserInfo: (user: Pick<User & {
250
250
  id: string;
251
- loginAccount?: string | undefined;
252
- }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode" | "loginAccount">) => void;
251
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
253
252
  setLoginWayByHttpData: (account: string, data: {
254
253
  username?: string | undefined;
255
254
  phone?: string | undefined;
@@ -291,8 +290,7 @@ declare const useMultipleAccounts: ({ appId, finallyConfig, }: {
291
290
  } | undefined) => void;
292
291
  setUserInfo: (user: Pick<User & {
293
292
  id: string;
294
- loginAccount?: string | undefined;
295
- }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode" | "loginAccount">) => void;
293
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
296
294
  setLoginWayByHttpData: (account: string, data: {
297
295
  username?: string | undefined;
298
296
  phone?: string | undefined;
@@ -19,8 +19,7 @@ export declare const guardEventsFilter: (props: any, multipleInstance?: {
19
19
  } | undefined) => void;
20
20
  setUserInfo: (user: Pick<import("./core/hooks/useMultipleAccounts").User & {
21
21
  id: string;
22
- loginAccount?: string | undefined;
23
- }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode" | "loginAccount">) => void;
22
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
24
23
  setLoginWayByHttpData: (account: string, data: {
25
24
  username?: string | undefined;
26
25
  phone?: string | undefined;
@@ -19,7 +19,9 @@ export declare const enum GuardModuleType {
19
19
  IDENTITY_BINDING_ASK = "identityBindingAsk",
20
20
  IDENTITY_BINDING = "identityBinding",
21
21
  SELF_UNLOCK = "selfUnlock",
22
- FLOW_SELECT_ACCOUNT = "flowSelectAccount"
22
+ FLOW_SELECT_ACCOUNT = "flowSelectAccount",
23
+ /** 多租户门户选择页 */
24
+ TENANT_PORTAL = "tenant-portal"
23
25
  }
24
26
  export interface GuardModuleAction {
25
27
  action: string;
@@ -0,0 +1,16 @@
1
+ import './styles.less';
2
+ import { AvatarProps } from 'antd/lib/avatar';
3
+ import { TagProps } from 'antd/lib/tag';
4
+ import React from 'react';
5
+ export interface GuardFaceProps {
6
+ /** 顶部 avatar 头像展示 */
7
+ avatar: AvatarProps | string;
8
+ /** 标题头部 */
9
+ title: React.ReactNode;
10
+ /** 标题描述 */
11
+ description?: React.ReactNode;
12
+ /** 标签功能 */
13
+ tags?: TagProps[];
14
+ }
15
+ /** 顶部通用区域封装,同时兼容样式的层叠和功能的自定义 */
16
+ export declare const GuardFace: (props: GuardFaceProps) => JSX.Element;
@@ -0,0 +1,29 @@
1
+ import './styles.less';
2
+ import { AvatarProps } from 'antd/lib/avatar';
3
+ import { ListItemProps, ListProps } from 'antd/lib/list';
4
+ import React, { CSSProperties } from 'react';
5
+ export interface GuardSelectItem {
6
+ /** avatar 头像展示 */
7
+ avatar?: AvatarProps | string;
8
+ /** 标题 */
9
+ title?: React.ReactNode;
10
+ /** 描述 */
11
+ description?: React.ReactNode;
12
+ /** 右侧操作组 */
13
+ actions?: ListItemProps['actions'];
14
+ /** 右侧额外的渲染内容 */
15
+ extra?: ListItemProps['extra'];
16
+ /** 数据项子内容,便于自定义 */
17
+ children?: React.ReactNode;
18
+ /** 其他元字段 */
19
+ [key: string]: any;
20
+ }
21
+ export interface GuardSelectProps<T = any> extends ListProps<any> {
22
+ /**数据项之间的间隙,默认`20px` */
23
+ gap?: CSSProperties['marginBottom'];
24
+ /** 数据源 */
25
+ dataSource: T[];
26
+ onSelect?: (item?: T, index?: number) => void;
27
+ }
28
+ /** 选择列表组件 兼容绝大多数选择场景 */
29
+ export declare const GuardSelect: <D extends GuardSelectItem = any>(props: GuardSelectProps<D>) => JSX.Element;
@@ -12,3 +12,4 @@ export interface ImageProProps extends React.ImgHTMLAttributes<HTMLImageElement>
12
12
  noSpin?: boolean;
13
13
  }
14
14
  export declare const ImagePro: (props: ImageProProps) => JSX.Element;
15
+ export declare const ImagePro2: (props: ImageProProps) => JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { FormItemProps } from 'antd/lib/form';
2
2
  import React from 'react';
3
+ import { PasswordLoginMethods } from '../../../Type/application';
3
4
  export interface FormItemAccountProps extends FormItemProps {
4
- validPasswordLoginMethods: string[];
5
+ passwordLoginMethods: PasswordLoginMethods[];
5
6
  }
6
7
  export declare const FormItemAccount: React.FC<FormItemAccountProps>;
@@ -3,6 +3,5 @@ import React from 'react';
3
3
  import { PasswordLoginMethods } from '../../../Type/application';
4
4
  export interface InputAccountProps extends InputProps {
5
5
  passwordLoginMethods: PasswordLoginMethods[];
6
- placeholder: string;
7
6
  }
8
7
  export declare const InputAccount: React.FC<InputAccountProps>;
@@ -34,8 +34,7 @@ declare function useLoginMultiple(setLoginWay: React.Dispatch<any>): {
34
34
  } | undefined) => void;
35
35
  setUserInfo: (user: Pick<import("../../Guard/core/hooks/useMultipleAccounts").User & {
36
36
  id: string;
37
- loginAccount?: string | undefined;
38
- }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode" | "loginAccount">) => void;
37
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
39
38
  setLoginWayByHttpData: (account: string, data: {
40
39
  username?: string | undefined;
41
40
  phone?: string | undefined;
@@ -7,7 +7,5 @@ export interface RegisterWithEmailProps {
7
7
  publicConfig?: ApplicationConfig;
8
8
  agreements: Agreement[];
9
9
  registeContext?: any;
10
- defaultLabel?: string;
11
- defaultMethod?: string;
12
10
  }
13
11
  export declare const RegisterWithEmail: React.FC<RegisterWithEmailProps>;
@@ -3,8 +3,8 @@ import { IG2FCProps, IG2Config, IG2Events } from '../Type';
3
3
  import { Agreement, RegisterMethods } from '../Type/application';
4
4
  export interface RegisterConfig extends IG2Config {
5
5
  disableRegister?: boolean;
6
- registerMethods?: string[];
7
- defaultRegisterMethod?: string;
6
+ registerMethods?: RegisterMethods[];
7
+ defaultRegisterMethod?: RegisterMethods;
8
8
  publicKey?: string;
9
9
  agreementEnabled?: boolean;
10
10
  agreements?: Agreement[];
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import './styles.less';
3
+ /** 租户门户选择状态机返回数据类型 */
4
+ export interface TenantPortalSelectType {
5
+ title: string;
6
+ description: string;
7
+ logo: string;
8
+ list: {
9
+ tenantName: string;
10
+ tenantId: string;
11
+ tenantLogo: string;
12
+ host: string;
13
+ userName: string;
14
+ }[];
15
+ }
16
+ export declare const GuardTenantPortalSelectView: () => JSX.Element;
@@ -103,11 +103,6 @@ export declare const enum RegisterMethods {
103
103
  Phone = "phone",
104
104
  EmailCode = "emailCode"
105
105
  }
106
- export declare const enum RegisterSortMethods {
107
- Email = "email-password",
108
- Phone = "phone-code",
109
- EmailCode = "email-code"
110
- }
111
106
  export declare type QrcodeTabsSettings = Record<LoginMethods, Array<{
112
107
  id: string;
113
108
  title: string;
@@ -150,13 +145,9 @@ export interface UserExtendsField {
150
145
  export declare type ExtendsField = InternalExtendsField | UserExtendsField;
151
146
  export interface ApplicationPasswordTabConfig {
152
147
  enabledLoginMethods?: PasswordLoginMethods[];
153
- validRegisterMethods?: string[];
154
- validLoginMethods?: string[];
155
148
  }
156
149
  export interface ApplicationVerifyCodeTabConfig {
157
150
  enabledLoginMethods: VerifyLoginMethods[];
158
- validRegisterMethods?: string[];
159
- validLoginMethods?: string[];
160
151
  }
161
152
  export interface Agreement {
162
153
  id: number;
@@ -168,14 +159,6 @@ export interface Agreement {
168
159
  export declare type PasswordLoginMethods = 'username-password' | 'email-password' | 'phone-password';
169
160
  export declare type VerifyLoginMethods = 'email-code' | 'phone-code';
170
161
  export declare type ComplateFiledsPlace = 'register' | 'login';
171
- export interface TabFieldsI18nItem {
172
- key: string;
173
- label: string;
174
- labelEn: string;
175
- i18n: {
176
- [propName in Lang]?: string;
177
- };
178
- }
179
162
  export interface ApplicationConfig {
180
163
  id: string;
181
164
  allowedOrigins: string[];
@@ -281,11 +264,10 @@ export interface ApplicationConfig {
281
264
  * 是否开启注册密码补全
282
265
  */
283
266
  enableCompletePassword: boolean;
284
- /**
285
- * 登录注册排序
286
- */
287
- tabMethodsSortConfig: {
288
- loginMethodsSort: string[];
289
- };
290
- tabMethodsFields: TabFieldsI18nItem[];
267
+ /** 是否为租户控制台应用 */
268
+ isTenantConsole?: boolean;
269
+ /** 是否默认为租户应用面板应用 */
270
+ isTenantDefault?: boolean;
271
+ /** 租户详情 */
272
+ tenantInfo?: Record<string, any>;
291
273
  }
@@ -3,4 +3,3 @@ import { ValidatorFormItemProps } from '.';
3
3
  export declare const EmailFormItem: React.FC<ValidatorFormItemProps>;
4
4
  export declare const PhoneFormItem: React.FC<ValidatorFormItemProps>;
5
5
  export declare const UserNameFormItem: React.FC<ValidatorFormItemProps>;
6
- export declare const CustomNameFormItem: React.FC<ValidatorFormItemProps>;
@@ -1,7 +1,7 @@
1
1
  import { FormInstance, FormItemProps } from 'antd/lib/form';
2
2
  import FormItem from 'antd/lib/form/FormItem';
3
3
  import { PasswordFormItem } from './PasswordFormItem';
4
- import { EmailFormItem, PhoneFormItem, UserNameFormItem, CustomNameFormItem } from './ValidatorFormItem';
4
+ import { EmailFormItem, PhoneFormItem, UserNameFormItem } from './ValidatorFormItem';
5
5
  export interface ValidatorFormItemProps extends FormItemProps {
6
6
  form?: FormInstance;
7
7
  checkRepeat?: boolean;
@@ -11,10 +11,9 @@ export interface ValidatorFormItemProps extends FormItemProps {
11
11
  * 控制内部FormItem组件关于pattern的校验规则
12
12
  */
13
13
  isCheckPattern?: boolean;
14
- defaultMethod?: string;
15
14
  }
16
15
  export interface ValidatorFormItemMetaProps extends ValidatorFormItemProps {
17
- method: 'email' | 'phone' | 'username' | string;
16
+ method: 'email' | 'phone' | 'username';
18
17
  }
19
18
  export interface PasswordFormItemProps extends FormItemProps {
20
19
  }
@@ -27,7 +26,6 @@ interface FormItemInterface extends InternalFormItemType {
27
26
  Email: typeof EmailFormItem;
28
27
  Phone: typeof PhoneFormItem;
29
28
  UserName: typeof UserNameFormItem;
30
- CustomName: typeof CustomNameFormItem;
31
29
  }
32
30
  declare const CustomFormItem: FormItemInterface;
33
31
  export default CustomFormItem;
@@ -2,7 +2,7 @@
2
2
  import { GuardLocalConfig } from '../../Guard/config';
3
3
  import { GuardHttp } from '../guardHttp';
4
4
  import { GuardPageConfig } from '../../Type';
5
- import { ApplicationConfig, LoginMethods } from '../../Type/application';
5
+ import { ApplicationConfig, LoginMethods, RegisterMethods } from '../../Type/application';
6
6
  export declare const getPublicConfig: (appId: string) => ApplicationConfig;
7
7
  export declare const setPublicConfig: (appId: string, config: ApplicationConfig) => ApplicationConfig;
8
8
  export declare const getPageConfig: (appId: string) => GuardPageConfig;
@@ -26,8 +26,8 @@ export declare const useFetchConsoleConfig: (forceUpdate: number, appId?: string
26
26
  loadingComponent?: import("react").ReactNode;
27
27
  openEventsMapping?: boolean | undefined;
28
28
  disableRegister?: boolean | undefined;
29
- registerMethods?: string[] | undefined;
30
- defaultRegisterMethod?: string | undefined;
29
+ registerMethods?: RegisterMethods[] | undefined;
30
+ defaultRegisterMethod?: RegisterMethods | undefined;
31
31
  publicKey?: string | undefined;
32
32
  agreementEnabled?: boolean | undefined;
33
33
  agreements?: import("../../Type").Agreement[] | undefined;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { GuardEvents, GuardLocalConfig, GuardModuleType, GuardPageConfig, Lang } from '..';
2
+ import { GuardEvents, GuardLocalConfig, GuardModuleType, GuardPageConfig } from '..';
3
3
  import { BackFillMultipleState, StoreInstance } from '../Guard/core/hooks/useMultipleAccounts';
4
4
  import { ModuleState } from '../Guard/GuardModule/stateMachine';
5
5
  import { ApplicationConfig } from '../Type/application';
6
6
  import { GuardHttp } from './guardHttp';
7
+ import { MultipleTenant } from './tenant';
7
8
  export interface IGuardContext {
8
9
  finallyConfig: GuardLocalConfig;
9
10
  defaultMergedConfig: GuardLocalConfig;
@@ -42,7 +43,8 @@ export interface IGuardContext {
42
43
  */
43
44
  clearBackFillData?: () => void;
44
45
  };
45
- defaultLanguageConfig: Lang;
46
+ /** 租户信息获取和操作处理相关 */
47
+ tenantInstance?: MultipleTenant;
46
48
  }
47
49
  export declare const createGuardXContext: () => {
48
50
  Provider: React.FC<{
@@ -107,8 +109,7 @@ export declare const useGuardMultipleInstance: () => {
107
109
  } | undefined) => void;
108
110
  setUserInfo: (user: Pick<import("../Guard/core/hooks/useMultipleAccounts").User & {
109
111
  id: string;
110
- loginAccount?: string | undefined;
111
- }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode" | "loginAccount">) => void;
112
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
112
113
  setLoginWayByHttpData: (account: string, data: {
113
114
  username?: string | undefined;
114
115
  phone?: string | undefined;
@@ -139,7 +140,5 @@ export declare const useGuardMultipleInstance: () => {
139
140
  */
140
141
  clearBackFillData?: (() => void) | undefined;
141
142
  };
142
- /**
143
- * 默认语言
144
- */
145
- export declare const useGuardDefaultLanguage: () => Lang;
143
+ /** 用来操作和获取租户相关的内容 */
144
+ export declare const useGuardTenantProvider: () => MultipleTenant | undefined;
@@ -2,7 +2,7 @@ import { Rule } from 'antd/lib/form';
2
2
  import qs from 'qs';
3
3
  import { User } from 'authing-js-sdk';
4
4
  import { GuardProps } from '../Guard';
5
- import { ApplicationConfig, ComplateFiledsPlace, LoginMethods, RegisterMethods, RegisterSortMethods, TabFieldsI18nItem } from '../Type/application';
5
+ import { ApplicationConfig, ComplateFiledsPlace, LoginMethods, RegisterMethods } from '../Type/application';
6
6
  import { Lang } from '../Type';
7
7
  export * from './popupCenter';
8
8
  export * from './clipboard';
@@ -27,7 +27,7 @@ export declare const getClassnames: (classnames: (string | boolean | undefined)[
27
27
  * @param item
28
28
  * @returns {boolean}
29
29
  */
30
- export declare function isObject(item: any): any;
30
+ export declare function isObject(item: any): boolean;
31
31
  /**
32
32
  * https://www.itranslater.com/qa/details/2115518846294557696
33
33
  * Deep merge two objects.
@@ -73,10 +73,10 @@ export declare const PASSWORD_STRENGTH_TEXT_MAP: Record<PasswordStrength, {
73
73
  }>;
74
74
  export declare const getSymbolTypeLength: (pwd: string) => number;
75
75
  export declare const getPasswordValidate: (strength?: PasswordStrength, customPasswordStrength?: any, fieldRequiredRuleMessage?: string | undefined) => Rule[];
76
+ export declare const getPasswordValidateRules: (strength?: PasswordStrength, customPasswordStrength?: any, customValidateTrigger?: string | undefined, fieldRequiredRuleMessage?: string | undefined) => Rule[];
76
77
  export declare const sleep: (delay: number) => Promise<unknown>;
77
78
  export declare const shoudGoToComplete: (user: User, contextType: ComplateFiledsPlace, config: ApplicationConfig | undefined, autoRegister?: boolean | undefined) => boolean;
78
- export declare const tabSort: (tabList: string[], defaultMethod?: string | undefined) => string[];
79
- export declare const transformMethod: (method: RegisterMethods | string) => string;
79
+ export declare const tabSort: (defaultValue: any, tabList: RegisterMethods[]) => RegisterMethods[];
80
80
  export declare const mailDesensitization: (mail: string) => string;
81
81
  export declare const phoneDesensitization: (phone: string) => string;
82
82
  export declare const getHundreds: (num: number) => number;
@@ -91,5 +91,3 @@ export declare const getLoginTypePipe: (publicConfig: ApplicationConfig, registe
91
91
  } | undefined;
92
92
  export declare const getPasswordIdentify: (identity: string) => string;
93
93
  export declare const getCurrentLng: () => Lang;
94
- export declare const getSortLabels: (methods: string[], i18nConfig: Map<string, TabFieldsI18nItem>, defaultLanguageConfig: Lang) => string;
95
- export declare const getI18nLabel: (method: string | RegisterSortMethods, i18nFields: Map<string, TabFieldsI18nItem>, defaultLanguageConfig: Lang) => string;
@@ -17,6 +17,7 @@ export declare const enum ApiCode {
17
17
  FORCED_PASSWORD_RESET = 2058,
18
18
  UNSAFE_PASSWORD_TIP = 2061,
19
19
  UNSAFE_PASSWORD_RESET = 2071,
20
- FLOW_SELECT_ACCOUNT = 2921
20
+ FLOW_SELECT_ACCOUNT = 2921,
21
+ TENANT_PORTAL = 1644
21
22
  }
22
23
  export declare const ChangeModuleApiCodeMapping: Record<string, GuardModuleType>;
@@ -0,0 +1,19 @@
1
+ import { ApplicationConfig } from '../Type';
2
+ /** **当前租户应用** 下的租户信息获取和操作处理,将租户相关的处理收拢 */
3
+ export declare class MultipleTenant {
4
+ private $config;
5
+ private $tenantId;
6
+ constructor(tenantId: string, config: ApplicationConfig);
7
+ /** 获取租户ID */
8
+ getCurrentTenantId: () => string | null;
9
+ /** 获取租户详情 */
10
+ getCurrentTenantInfo: () => Record<string, any> | undefined;
11
+ /**是否为【租户控制台】 */
12
+ isTenantConsole: () => boolean | undefined;
13
+ /** 是否为租户【单点登录】 */
14
+ isTenantSSO: () => boolean | "" | null;
15
+ /** 是否为租户【单点登录面板】 */
16
+ isTenantSSOLaunchPad: () => boolean | "" | null;
17
+ }
18
+ /** 初始化多租户实例 */
19
+ export declare const useMultipleTenant: (tenantId: string, publicConfig: ApplicationConfig) => MultipleTenant | undefined;
@@ -1,2 +1,2 @@
1
- declare const _default: "4.1.0-rc.8";
1
+ declare const _default: "4.1.0";
2
2
  export default _default;