@jiaozhiye/qm-design-react 1.4.0-beta.2 → 1.4.0-beta.21

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 (73) hide show
  1. package/lib/_utils/types.d.ts +7 -1
  2. package/lib/_utils/util.d.ts +0 -1
  3. package/lib/anchor/src/anchor-nav.d.ts +1 -1
  4. package/lib/anchor/src/anchor.d.ts +3 -1
  5. package/lib/anchor/style/index.less +61 -21
  6. package/lib/antd/compact.less +11 -0
  7. package/lib/antd/index.less +11 -1
  8. package/lib/button/src/button.d.ts +6 -5
  9. package/lib/collapse/src/collapse.d.ts +1 -0
  10. package/lib/countup/style/index.less +22 -22
  11. package/lib/divider/style/index.less +54 -54
  12. package/lib/drawer/style/index.less +2 -2
  13. package/lib/form/src/context.d.ts +4 -1
  14. package/lib/form/src/form-cascader.d.ts +1 -1
  15. package/lib/form/src/form-checkbox-group.d.ts +1 -1
  16. package/lib/form/src/form-multiple-tree-table-helper.d.ts +2 -2
  17. package/lib/form/src/form-radio.d.ts +1 -1
  18. package/lib/form/src/form-select.d.ts +1 -1
  19. package/lib/form/src/form-tree-select.d.ts +1 -1
  20. package/lib/form/src/form.d.ts +14 -14
  21. package/lib/form/src/types.d.ts +25 -15
  22. package/lib/form/src/utils.d.ts +7 -3
  23. package/lib/form/style/index.less +19 -8
  24. package/lib/hooks/useDebounce.d.ts +3 -0
  25. package/lib/index.esm.js +2 -2
  26. package/lib/index.full.js +1 -1
  27. package/lib/index.js +2 -2
  28. package/lib/locale/index.js +5 -5
  29. package/lib/locale/lang/en.d.ts +4 -0
  30. package/lib/locale/lang/en.js +6 -2
  31. package/lib/locale/lang/zh-cn.d.ts +4 -0
  32. package/lib/locale/lang/zh-cn.js +6 -2
  33. package/lib/modal/style/index.less +2 -2
  34. package/lib/print/src/LodopFuncs.d.ts +1 -1
  35. package/lib/print/src/preview.d.ts +1 -1
  36. package/lib/print/src/print.d.ts +1 -1
  37. package/lib/print/style/index.less +175 -175
  38. package/lib/range-table-helper/style/index.less +5 -1
  39. package/lib/search-helper/style/index.less +1 -1
  40. package/lib/search-tree/src/search-tree.d.ts +6 -0
  41. package/lib/search-tree/style/index.less +14 -1
  42. package/lib/spin/style/index.less +3 -5
  43. package/lib/split/style/index.less +1 -1
  44. package/lib/style/compact.css +645 -685
  45. package/lib/style/compact.less +4 -3
  46. package/lib/style/compact.min.css +1 -1
  47. package/lib/style/index.css +109 -58
  48. package/lib/style/index.less +36 -36
  49. package/lib/style/index.min.css +1 -1
  50. package/lib/style/mixins/reset.less +1 -2
  51. package/lib/style/themes/compact.less +3 -280
  52. package/lib/style/themes/default.less +2 -1
  53. package/lib/table/src/context/index.d.ts +3 -3
  54. package/lib/table/src/edit/InputNumber.d.ts +2 -0
  55. package/lib/table/src/hooks/useImperativeMethod.d.ts +2 -1
  56. package/lib/table/src/hooks/useTableCore.d.ts +1 -0
  57. package/lib/table/src/hooks/useTableEffect.d.ts +3 -0
  58. package/lib/table/src/hooks/useTableLayout.d.ts +2 -2
  59. package/lib/table/src/table/props.d.ts +15 -9
  60. package/lib/table/src/table/types.d.ts +28 -10
  61. package/lib/table/src/utils/index.d.ts +3 -2
  62. package/lib/table/style/clipboard.less +1 -0
  63. package/lib/table/style/export.less +1 -1
  64. package/lib/table/style/fast-search.less +3 -2
  65. package/lib/table/style/size.less +1 -0
  66. package/lib/table/style/table.less +374 -374
  67. package/lib/tabs/src/tab-pane.d.ts +1 -0
  68. package/lib/tabs/src/tabs.d.ts +6 -1
  69. package/lib/tree-helper/style/index.less +1 -1
  70. package/lib/tree-table-helper/style/index.less +1 -1
  71. package/lib/upload-file/src/upload-file.d.ts +4 -9
  72. package/package.json +6 -7
  73. package/lib/form/src/form-item-layout.d.ts +0 -3
@@ -16,7 +16,7 @@ export declare type IntervalHandle = ReturnType<typeof setInterval>;
16
16
  export declare type AjaxResponse<T = any> = {
17
17
  code: number;
18
18
  data: T;
19
- msg: string;
19
+ message: string;
20
20
  };
21
21
  export declare enum SizeHeight {
22
22
  large = 40,
@@ -31,3 +31,9 @@ export declare type IDict = {
31
31
  disabled?: boolean;
32
32
  children?: Array<IDict> | Nullable<undefined>;
33
33
  };
34
+ export declare type IAuth = {
35
+ dataIndex?: string;
36
+ visible?: number;
37
+ disabled?: number;
38
+ secretName?: string;
39
+ };
@@ -22,4 +22,3 @@ export declare const getValueByPath: (obj: AnyObject<any>, paths?: string) => un
22
22
  export declare const deepClone: <T extends object>(target: T, map?: WeakMap<object, any>) => T;
23
23
  export declare const getParserWidth: (val: number | string) => string;
24
24
  export declare const flatJson: <T extends Record<string, any>>(jsonObject: T) => T;
25
- export declare const getAuthValue: (code: string) => Record<string, any> | undefined;
@@ -6,7 +6,7 @@ declare type IProps = {
6
6
  onTabClick: AnyFunction<void>;
7
7
  };
8
8
  declare class AnchorNav extends Component<IProps> {
9
- renderLabel(prefixCls: string): React.ReactNode[];
9
+ renderLabel(): React.ReactNode[];
10
10
  render(): JSX.Element;
11
11
  }
12
12
  export default AnchorNav;
@@ -9,6 +9,8 @@ declare type IProps = {
9
9
  size?: ComponentSize;
10
10
  labelWidth?: number | string;
11
11
  labelList?: Array<ILabelItem>;
12
+ tabPosition?: 'left' | 'top';
13
+ onTabClick?: (label: string, ev: React.MouseEvent) => void;
12
14
  className?: string;
13
15
  style?: CSSProperties;
14
16
  children?: React.ReactNode;
@@ -34,7 +36,7 @@ declare class QmAnchor extends Component<IProps, IState> {
34
36
  }> | null | undefined)[]>;
35
37
  };
36
38
  static defaultProps: {
37
- labelWidth: number;
39
+ tabPosition: string;
38
40
  };
39
41
  static contextType: React.Context<import("../../config-provider/context").IConfig>;
40
42
  private currentState;
@@ -9,22 +9,15 @@
9
9
  @prefix-anchor: ~'@{qm-prefix}-anchor';
10
10
 
11
11
  .@{prefix-anchor} {
12
- .reset-component;
12
+ .reset-container;
13
13
  display: flex;
14
- flex-direction: row;
15
- &__label {
16
- width: 80px;
17
- }
18
- &-nav {
19
- height: 100%;
20
- margin-right: @--margin-md;
21
- border-right: 1px solid @--border-color-base;
22
- &__item {
14
+ .anchor-nav {
15
+ display: flex;
16
+ flex: none;
17
+ .item {
23
18
  display: flex;
24
19
  align-items: center;
25
- justify-content: flex-end;
26
20
  height: @--height-md;
27
- padding-right: @--padding-md;
28
21
  position: relative;
29
22
  cursor: pointer;
30
23
  &.actived {
@@ -32,30 +25,77 @@
32
25
  &::after {
33
26
  content: '';
34
27
  position: absolute;
35
- right: -2px;
36
- top: 0;
37
- width: 2px;
38
- height: 100%;
39
28
  background-color: @--primary-color;
40
29
  }
41
30
  }
42
31
  span {
43
32
  .text-overflow-cut();
44
33
  display: block;
45
- text-align: right;
46
34
  }
47
35
  }
48
36
  }
49
- &__container {
50
- flex: 1;
51
- width: 0;
52
- padding-right: 5px;
37
+ &-left {
38
+ flex-direction: row;
39
+ .anchor-nav {
40
+ flex-direction: column;
41
+ margin-right: @--margin-md;
42
+ border-right: 1px solid @--border-color-base;
43
+ .item {
44
+ justify-content: flex-end;
45
+ padding: 0 @--padding-md;
46
+ &.actived {
47
+ &::after {
48
+ width: 2px;
49
+ right: -2px;
50
+ top: 0;
51
+ bottom: 0;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ &-top {
58
+ flex-direction: column;
59
+ .anchor-nav {
60
+ flex-direction: row;
61
+ margin-bottom: @--margin-md;
62
+ border-bottom: 1px solid @--border-color-base;
63
+ .item {
64
+ justify-content: center;
65
+ padding: 0 @--padding-md + 2px;
66
+ &.actived {
67
+ &::after {
68
+ height: 2px;
69
+ bottom: -2px;
70
+ left: @--padding-md;
71
+ right: @--padding-md;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ .anchor-container {
78
+ flex: auto;
79
+ min-width: 0;
80
+ min-height: 0;
53
81
  overflow-y: auto;
82
+ overflow-x: hidden;
54
83
  }
55
84
  // ------ size ------
56
85
  // 40 32 24
57
86
  &--lg {
87
+ .anchor-nav {
88
+ .item {
89
+ height: @--height-lg;
90
+ }
91
+ }
58
92
  }
59
93
  &--sm {
94
+ .anchor-nav {
95
+ .item {
96
+ height: @--height-sm + 2px;
97
+ font-size: 13px;
98
+ }
99
+ }
60
100
  }
61
101
  }
@@ -0,0 +1,11 @@
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2023-01-07 14:07:04
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2023-01-07 14:07:27
6
+ */
7
+ @import 'antd/dist/antd.compact.less';
8
+
9
+ #__compact__ {
10
+ background-color: transparent;
11
+ }
@@ -2,8 +2,18 @@
2
2
  * @Author: 焦质晔
3
3
  * @Date: 2021-07-23 19:41:37
4
4
  * @Last Modified by: 焦质晔
5
- * @Last Modified time: 2022-11-26 23:32:46
5
+ * @Last Modified time: 2023-03-28 11:50:55
6
6
  */
7
7
  @import 'antd/dist/antd.variable.less';
8
8
 
9
9
  @root-entry-name: variable;
10
+
11
+ // Antd Reset
12
+ .ant-select {
13
+ &-disabled {
14
+ .ant-select-selection-item,
15
+ .ant-select-selection-item-content {
16
+ color: @--text-color-secondary-dark;
17
+ }
18
+ }
19
+ }
@@ -1,11 +1,12 @@
1
1
  import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import type { IAuth } from '../../_utils/types';
3
4
  import type { ButtonProps } from '../../antd';
4
5
  declare type IProps = ButtonProps & {
5
- authCode?: string;
6
- click?: () => Promise<void> | void;
6
+ click?: (ev: React.MouseEventHandler<HTMLElement>) => Promise<void> | void;
7
+ authConfig?: IAuth;
7
8
  confirm?: {
8
- title?: string;
9
+ title?: string | React.ReactNode;
9
10
  onConfirm?: () => void;
10
11
  onCancel?: (ev: any) => void;
11
12
  };
@@ -18,14 +19,14 @@ declare class QmButton extends Component<IProps, IState> {
18
19
  static propTypes: {
19
20
  click: PropTypes.Requireable<(...args: any[]) => any>;
20
21
  confirm: PropTypes.Requireable<PropTypes.InferProps<{
21
- title: PropTypes.Requireable<string>;
22
+ title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
22
23
  onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
23
24
  onCancel: PropTypes.Requireable<(...args: any[]) => any>;
24
25
  }>>;
25
26
  };
26
27
  static contextType: React.Context<import("../../config-provider/context").IConfig>;
27
28
  state: IState;
28
- clickHandle: () => Promise<void>;
29
+ clickHandle: (ev: any) => Promise<void>;
29
30
  render(): JSX.Element | null;
30
31
  }
31
32
  export default QmButton;
@@ -7,6 +7,7 @@ declare type IProps = {
7
7
  disabled?: boolean;
8
8
  forceRender?: boolean;
9
9
  destroyOnClose?: boolean;
10
+ onChange?: (value: boolean) => void;
10
11
  className?: string;
11
12
  style?: React.CSSProperties;
12
13
  containerStyle?: React.CSSProperties;
@@ -1,22 +1,22 @@
1
- /*
2
- * @Author: 焦质晔
3
- * @Date: 2021-07-23 19:05:57
4
- * @Last Modified by: 焦质晔
5
- * @Last Modified time: 2021-08-01 21:58:46
6
- */
7
- @import '../../style/common';
8
-
9
- @prefix-countup: ~'@{qm-prefix}-countup';
10
-
11
- .@{prefix-countup} {
12
- .reset-component;
13
- font-size: @--font-size-base;
14
- // ------ size ------
15
- // 40 32 24
16
- &--lg {
17
- font-size: @--font-size-base;
18
- }
19
- &--sm {
20
- font-size: @--font-size-sm;
21
- }
22
- }
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2021-07-23 19:05:57
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2021-08-01 21:58:46
6
+ */
7
+ @import '../../style/common';
8
+
9
+ @prefix-countup: ~'@{qm-prefix}-countup';
10
+
11
+ .@{prefix-countup} {
12
+ .reset-container;
13
+ font-size: @--font-size-base;
14
+ // ------ size ------
15
+ // 40 32 24
16
+ &--lg {
17
+ font-size: @--font-size-base;
18
+ }
19
+ &--sm {
20
+ font-size: @--font-size-sm;
21
+ }
22
+ }
@@ -1,54 +1,54 @@
1
- /*
2
- * @Author: 焦质晔
3
- * @Date: 2021-07-23 19:05:57
4
- * @Last Modified by: 焦质晔
5
- * @Last Modified time: 2021-08-21 20:34:44
6
- */
7
- @import '../../style/common';
8
-
9
- @prefix-divider: ~'@{qm-prefix}-divider';
10
-
11
- .@{prefix-divider} {
12
- .reset-component;
13
- display: flex;
14
- align-items: center;
15
- padding: 0 @--padding-md;
16
- height: @--height-md;
17
- border: 1px solid @--border-color-base;
18
- border-radius: @--border-radius-base;
19
- background-color: @--background-color-cecondary;
20
- position: relative;
21
- &::before {
22
- content: ' ';
23
- position: absolute;
24
- width: 6px;
25
- left: -1px;
26
- top: -1px;
27
- bottom: -1px;
28
- background-color: @--primary-color;
29
- }
30
- &__title {
31
- margin-left: 5px;
32
- }
33
- &__extra {
34
- .text-overflow-cut();
35
- flex: 1;
36
- margin-left: @--margin-md;
37
- }
38
- &__collapse {
39
- margin-left: @--margin-md;
40
- padding-left: 0;
41
- padding-right: 0;
42
- .anticon {
43
- margin-left: 4px !important;
44
- }
45
- }
46
- // ------ size ------
47
- // 40 32 24
48
- &--lg {
49
- height: @--height-lg;
50
- }
51
- &--sm {
52
- height: @--height-sm;
53
- }
54
- }
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2021-07-23 19:05:57
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2021-08-21 20:34:44
6
+ */
7
+ @import '../../style/common';
8
+
9
+ @prefix-divider: ~'@{qm-prefix}-divider';
10
+
11
+ .@{prefix-divider} {
12
+ .reset-container;
13
+ display: flex;
14
+ align-items: center;
15
+ padding: 0 @--padding-md;
16
+ height: @--height-md;
17
+ border: 1px solid @--border-color-base;
18
+ border-radius: @--border-radius-base;
19
+ background-color: @--background-color-cecondary;
20
+ position: relative;
21
+ &::before {
22
+ content: ' ';
23
+ position: absolute;
24
+ width: 6px;
25
+ left: -1px;
26
+ top: -1px;
27
+ bottom: -1px;
28
+ background-color: @--primary-color;
29
+ }
30
+ &__title {
31
+ margin-left: 5px;
32
+ }
33
+ &__extra {
34
+ .text-overflow-cut();
35
+ flex: 1;
36
+ margin-left: @--margin-md;
37
+ }
38
+ &__collapse {
39
+ margin-left: @--margin-md;
40
+ padding-left: 0;
41
+ padding-right: 0;
42
+ .anticon {
43
+ margin-left: 4px !important;
44
+ }
45
+ }
46
+ // ------ size ------
47
+ // 40 32 24
48
+ &--lg {
49
+ height: @--height-lg;
50
+ }
51
+ &--sm {
52
+ height: @--height-sm;
53
+ }
54
+ }
@@ -67,7 +67,7 @@
67
67
  .ant-drawer-header {
68
68
  height: 48px;
69
69
  }
70
- .qm-drawer-spin {
70
+ .@{qm-prefix}-drawer-spin {
71
71
  top: 48px;
72
72
  }
73
73
  }
@@ -75,7 +75,7 @@
75
75
  .ant-drawer-header {
76
76
  height: 40px;
77
77
  }
78
- .qm-drawer-spin {
78
+ .@{qm-prefix}-drawer-spin {
79
79
  top: 40px;
80
80
  }
81
81
  }
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
+ import type { FormRef } from './form';
3
+ import type { IDict } from '../../_utils/types';
2
4
  export declare type IFormContext = {
3
- $$form: any;
5
+ $$form: FormRef;
6
+ echo_data: Record<string, IDict[]>;
4
7
  };
5
8
  declare const FormContext: import("react").Context<IFormContext | undefined>;
6
9
  export default FormContext;
@@ -6,7 +6,7 @@ declare type IProps = {
6
6
  multiple?: boolean;
7
7
  };
8
8
  declare type IState = {
9
- results: IDict[];
9
+ itemList: IDict[];
10
10
  loading: boolean;
11
11
  };
12
12
  declare class FormCascader extends Component<IProps, IState> {
@@ -5,7 +5,7 @@ declare type IProps = {
5
5
  option: IFormItem;
6
6
  };
7
7
  declare type IState = {
8
- results: IDict[];
8
+ itemList: IDict[];
9
9
  };
10
10
  declare class FormCheckboxGroup extends Component<IProps, IState> {
11
11
  static contextType: React.Context<import("./context").IFormContext | undefined>;
@@ -6,7 +6,7 @@ declare type IProps = {
6
6
  declare type IState = {
7
7
  searchHelper: IFormItem['searchHelper'];
8
8
  };
9
- declare class FormMultipleTreeHelper extends Component<IProps, IState> {
9
+ declare class FormMultipleTreeTableHelper extends Component<IProps, IState> {
10
10
  static contextType: React.Context<import("./context").IFormContext | undefined>;
11
11
  private promiseRef;
12
12
  state: IState;
@@ -17,4 +17,4 @@ declare class FormMultipleTreeHelper extends Component<IProps, IState> {
17
17
  getHelperConfig: ($configContext: any) => void;
18
18
  render(): JSX.Element;
19
19
  }
20
- export default FormMultipleTreeHelper;
20
+ export default FormMultipleTreeTableHelper;
@@ -5,7 +5,7 @@ declare type IProps = {
5
5
  option: IFormItem;
6
6
  };
7
7
  declare type IState = {
8
- results: IDict[];
8
+ itemList: IDict[];
9
9
  };
10
10
  declare class FormRadio extends Component<IProps, IState> {
11
11
  static contextType: React.Context<import("./context").IFormContext | undefined>;
@@ -6,7 +6,7 @@ declare type IProps = {
6
6
  multiple?: boolean;
7
7
  };
8
8
  declare type IState = {
9
- results: IDict[];
9
+ itemList: IDict[];
10
10
  loading: boolean;
11
11
  };
12
12
  declare class FormSelect extends Component<IProps, IState> {
@@ -6,7 +6,7 @@ declare type IProps = {
6
6
  multiple?: boolean;
7
7
  };
8
8
  declare type IState = {
9
- results: IDict[];
9
+ itemList: IDict[];
10
10
  loading: boolean;
11
11
  };
12
12
  declare class FormTreeSelect extends Component<IProps, IState> {
@@ -1,8 +1,8 @@
1
1
  /// <reference types="lodash" />
2
2
  import React, { Component } from 'react';
3
3
  import { IFieldData } from './types';
4
- import type { IFormProps, IFormData, IFormItem, IExtraData, IViewData, IExpandData } from './types';
5
- import type { JSXElement, ValueOf } from '../../_utils/types';
4
+ import type { IFormProps, IFormData, IFormItem, IExtraData, IViewData, IExpandData, IFieldAuthItem } from './types';
5
+ import type { JSXElement, ValueOf, IDict } from '../../_utils/types';
6
6
  import type { FormProps } from '../../antd';
7
7
  declare type IProps = FormProps & IFormProps;
8
8
  declare type IState = {
@@ -29,22 +29,17 @@ declare class QmForm extends Component<IProps, IState> {
29
29
  size: (props: any, propName: any, componentName: any) => void;
30
30
  cols: import("prop-types").Requireable<number>;
31
31
  customClass: import("prop-types").Requireable<string>;
32
+ compactMode: import("prop-types").Requireable<boolean>;
32
33
  labelWidth: import("prop-types").Requireable<string | number>;
33
34
  labelAlign: import("prop-types").Requireable<string>;
34
35
  labelWrap: import("prop-types").Requireable<boolean>;
35
36
  formType: import("prop-types").Requireable<string>;
37
+ disabled: import("prop-types").Requireable<boolean>;
36
38
  uniqueKey: import("prop-types").Requireable<string>;
37
- authCode: import("prop-types").Requireable<string>;
38
39
  defaultRows: import("prop-types").Requireable<number>;
39
40
  searchButtonCols: import("prop-types").Requireable<number>;
40
41
  scrollToFirstError: import("prop-types").Requireable<boolean>;
41
- authConfig: import("prop-types").Requireable<import("prop-types").InferProps<{
42
- fetch: import("prop-types").Requireable<import("prop-types").InferProps<{
43
- api: import("prop-types").Validator<(...args: any[]) => any>;
44
- params: import("prop-types").Requireable<object>;
45
- dataKey: import("prop-types").Requireable<string>;
46
- }>>;
47
- }>>;
42
+ authConfig: import("prop-types").Requireable<object>;
48
43
  isAutoFocus: import("prop-types").Requireable<boolean>;
49
44
  isCollapse: import("prop-types").Requireable<boolean>;
50
45
  isFieldsDefine: import("prop-types").Requireable<boolean>;
@@ -81,6 +76,7 @@ declare class QmForm extends Component<IProps, IState> {
81
76
  private _initialValues;
82
77
  private _initialOthers;
83
78
  private _initialExtras;
79
+ private _fieldAuth;
84
80
  private wrapperRef;
85
81
  private formRef;
86
82
  state: IState;
@@ -92,6 +88,7 @@ declare class QmForm extends Component<IProps, IState> {
92
88
  get dividers(): IFormItem[];
93
89
  get isFilterType(): boolean;
94
90
  get isOnlyShow(): boolean;
91
+ get isCompactMode(): boolean;
95
92
  get showDividerCollapse(): boolean;
96
93
  get showFilterCollapse(): boolean | undefined;
97
94
  componentDidMount(): void;
@@ -116,6 +113,7 @@ declare class QmForm extends Component<IProps, IState> {
116
113
  getFlattenItems: import("memoize-one").MemoizedFn<(items: IFormItem[]) => IFormItem[]>;
117
114
  setViewValue(fieldName: string, val?: string): void;
118
115
  getViewValue(fieldName: string): string;
116
+ setExpandHandle(collapse: boolean): void;
119
117
  createInputFocus(): void;
120
118
  getFormItemLabel(label: string | IFormItem): string;
121
119
  getBlockDerivedItems(): Pick<IFormItem, "fieldName" | "label">[][];
@@ -124,8 +122,8 @@ declare class QmForm extends Component<IProps, IState> {
124
122
  fieldName: any;
125
123
  }): boolean;
126
124
  formatFormValue(values: IFormData): IFormData;
127
- createFormAuth(): void;
128
- getFormAuth(): Promise<void>;
125
+ setFieldAuth(key: string, value: IFieldAuthItem): void;
126
+ createFormAuth(): Promise<void>;
129
127
  INPUT(option: IFormItem): JSXElement;
130
128
  RANGE_INPUT(option: IFormItem): JSXElement;
131
129
  INPUT_NUMBER(option: IFormItem): JSXElement;
@@ -158,7 +156,7 @@ declare class QmForm extends Component<IProps, IState> {
158
156
  UPLOAD_FILE(option: IFormItem): JSXElement;
159
157
  UPLOAD_IMG(option: IFormItem): JSXElement;
160
158
  TINYMCE(option: IFormItem): JSXElement;
161
- renderFormLabel(label: IFormItem): JSX.Element | IFormItem;
159
+ renderFormLabel(label: IFormItem | string): string | JSX.Element;
162
160
  renderFormItemExtra(option: IFormItem['extra'] & {
163
161
  fieldName: string;
164
162
  }): JSX.Element;
@@ -169,7 +167,6 @@ declare class QmForm extends Component<IProps, IState> {
169
167
  createSearchButtonLayout(lastCols?: number): JSX.Element | null;
170
168
  createFormButtonLayout(): JSX.Element | null;
171
169
  createFieldsDefine(): JSX.Element;
172
- setExpandHandle(collapse: boolean): void;
173
170
  valuesChangeHandle: (changedValues: IFormData, allValues: IFormData) => void;
174
171
  fieldsChangeHandle: (changedFields: IFieldData[], allFields: IFieldData[]) => void;
175
172
  finishHandle: (values: IFormData) => void;
@@ -179,6 +176,7 @@ declare class QmForm extends Component<IProps, IState> {
179
176
  }) => void;
180
177
  set_fields_other(values: IFormData): void;
181
178
  get_fields_other(fields?: string[]): IFormData;
179
+ openValidateInfo: (errorFields: any) => void;
182
180
  scrollToField: (fieldName?: string) => void;
183
181
  formValidate(): Promise<IFormData>;
184
182
  SET_FIELDS_VALUE(values: IFormData): void;
@@ -186,10 +184,12 @@ declare class QmForm extends Component<IProps, IState> {
186
184
  GET_FORM_DATA(): Promise<[any, any]>;
187
185
  VALIDATE_FIELDS(fields?: string[]): Promise<any[]>;
188
186
  SET_FIELDS_EXTRA(values: IExtraData): void;
187
+ SET_FIELDS_ECHO(values: Record<string, IDict[]>): void;
189
188
  GET_FIELDS_EXTRA(fields?: string[]): IExtraData;
190
189
  GET_FIELDS_TOUCHED(fields?: string[]): boolean;
191
190
  SUBMIT_FORM(): Promise<void>;
192
191
  RESET_FORM(): void;
192
+ CREATE_FOCUS(fieldName: string): void;
193
193
  SET_FORM_ITEM(fieldName: string, option: Record<string, any>, forceUpdate?: boolean): void;
194
194
  render(): JSX.Element;
195
195
  }