@dinert/element-plus 1.0.7 → 1.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.
Files changed (130) hide show
  1. package/dist/element-plus.umd.js +1 -1
  2. package/dist/element-plus.umd.js.map +1 -1
  3. package/dist/style.css +1 -1
  4. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +82 -22
  5. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
  6. package/es/packages/assets/scss/dinert-form.scss.mjs +1 -4
  7. package/es/packages/assets/scss/dinert-form.scss.mjs.map +1 -1
  8. package/es/packages/assets/scss/dinert-table-page.scss.mjs +1 -4
  9. package/es/packages/assets/scss/dinert-table-page.scss.mjs.map +1 -1
  10. package/es/packages/assets/scss/dinert-table.scss.mjs +1 -4
  11. package/es/packages/assets/scss/dinert-table.scss.mjs.map +1 -1
  12. package/es/packages/assets/scss/dinert-tooltip.scss.mjs +1 -4
  13. package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +1 -1
  14. package/es/packages/components/form/index.mjs +6 -6
  15. package/es/packages/components/form/index.mjs.map +1 -1
  16. package/es/packages/components/form/src/cascader.mjs +10 -16
  17. package/es/packages/components/form/src/cascader.mjs.map +1 -1
  18. package/es/packages/components/form/src/checkbox.mjs +17 -15
  19. package/es/packages/components/form/src/checkbox.mjs.map +1 -1
  20. package/es/packages/components/form/src/date.mjs +6 -8
  21. package/es/packages/components/form/src/date.mjs.map +1 -1
  22. package/es/packages/components/form/src/index.mjs +140 -149
  23. package/es/packages/components/form/src/index.mjs.map +1 -1
  24. package/es/packages/components/form/src/input-autocomplete.mjs +5 -7
  25. package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
  26. package/es/packages/components/form/src/input-number.mjs +9 -16
  27. package/es/packages/components/form/src/input-number.mjs.map +1 -1
  28. package/es/packages/components/form/src/input.mjs +12 -19
  29. package/es/packages/components/form/src/input.mjs.map +1 -1
  30. package/es/packages/components/form/src/radio.mjs +14 -16
  31. package/es/packages/components/form/src/radio.mjs.map +1 -1
  32. package/es/packages/components/form/src/rate.mjs +7 -13
  33. package/es/packages/components/form/src/rate.mjs.map +1 -1
  34. package/es/packages/components/form/src/select.mjs +7 -8
  35. package/es/packages/components/form/src/select.mjs.map +1 -1
  36. package/es/packages/components/form/src/switch.mjs +5 -12
  37. package/es/packages/components/form/src/switch.mjs.map +1 -1
  38. package/es/packages/components/form/src/tree-select.mjs +5 -6
  39. package/es/packages/components/form/src/tree-select.mjs.map +1 -1
  40. package/es/packages/components/form/utils/index.mjs +52 -30
  41. package/es/packages/components/form/utils/index.mjs.map +1 -1
  42. package/es/packages/components/index.mjs +8 -8
  43. package/es/packages/components/table/hooks/index.mjs +14 -14
  44. package/es/packages/components/table/hooks/index.mjs.map +1 -1
  45. package/es/packages/components/table/index.mjs +6 -6
  46. package/es/packages/components/table/index.mjs.map +1 -1
  47. package/es/packages/components/table/src/index.mjs +116 -89
  48. package/es/packages/components/table/src/index.mjs.map +1 -1
  49. package/es/packages/components/table/src/recuve-table-column.mjs +148 -133
  50. package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
  51. package/es/packages/components/table-page/index.mjs +7 -7
  52. package/es/packages/components/table-page/index.mjs.map +1 -1
  53. package/es/packages/components/table-page/src/index.mjs +2 -2
  54. package/es/packages/components/table-page/src/index.mjs.map +1 -1
  55. package/es/packages/components/tooltip/index.mjs +5 -5
  56. package/es/packages/components/tooltip/index.mjs.map +1 -1
  57. package/es/packages/components/tooltip/src/index.mjs +16 -14
  58. package/es/packages/components/tooltip/src/index.mjs.map +1 -1
  59. package/es/packages/hooks/{useTablePage → TablePage}/index.mjs +24 -18
  60. package/es/packages/hooks/TablePage/index.mjs.map +1 -0
  61. package/es/packages/index.mjs +16 -16
  62. package/es/packages/index.mjs.map +1 -1
  63. package/es/packages/utils/tools.mjs +26 -41
  64. package/es/packages/utils/tools.mjs.map +1 -1
  65. package/es/src/components/dialog/index.d.ts +2 -0
  66. package/es/src/components/dialog/src/drag.d.ts +5 -0
  67. package/es/src/components/dialog/src/type.d.ts +15 -0
  68. package/es/src/components/form/index.d.ts +6 -5
  69. package/es/src/components/form/src/cascader.d.ts +7 -9
  70. package/es/src/components/form/src/checkbox.d.ts +7 -8
  71. package/es/src/components/form/src/date.d.ts +245 -8
  72. package/es/src/components/form/src/index.d.ts +4 -3
  73. package/es/src/components/form/src/input-autocomplete.d.ts +7 -8
  74. package/es/src/components/form/src/input-number.d.ts +7 -8
  75. package/es/src/components/form/src/input.d.ts +7 -8
  76. package/es/src/components/form/src/radio.d.ts +7 -8
  77. package/es/src/components/form/src/rate.d.ts +6 -7
  78. package/es/src/components/form/src/select.d.ts +7 -9
  79. package/es/src/components/form/src/switch.d.ts +7 -8
  80. package/es/src/components/form/src/tree-select.d.ts +7 -19
  81. package/es/src/components/form/types/components.d.ts +40 -0
  82. package/es/src/components/form/types/index.d.ts +45 -21
  83. package/es/src/components/form/types/utils.d.ts +5 -0
  84. package/es/src/components/form/utils/index.d.ts +1 -0
  85. package/es/src/components/table/index.d.ts +339 -328
  86. package/es/src/components/table/src/index.d.ts +338 -327
  87. package/es/src/components/table/src/recuve-table-column.d.ts +1 -1
  88. package/es/src/components/table/types/index.d.ts +24 -33
  89. package/es/src/components/tooltip/index.d.ts +2 -2
  90. package/{lib/src/hooks/useTablePage → es/src/hooks/TablePage}/index.d.ts +14 -17
  91. package/{lib/src/hooks/useTablePage → es/src/hooks/TablePage}/types/index.d.ts +1 -2
  92. package/es/src/index.d.ts +3 -3
  93. package/es/src/utils/tools.d.ts +1 -1
  94. package/es/src/views/test-table-page/types/index.d.ts +24 -0
  95. package/es/style.css +1 -1
  96. package/lib/index.js +1 -1
  97. package/lib/index.js.map +1 -1
  98. package/lib/src/components/dialog/index.d.ts +2 -0
  99. package/lib/src/components/dialog/src/drag.d.ts +5 -0
  100. package/lib/src/components/dialog/src/type.d.ts +15 -0
  101. package/lib/src/components/form/index.d.ts +6 -5
  102. package/lib/src/components/form/src/cascader.d.ts +7 -9
  103. package/lib/src/components/form/src/checkbox.d.ts +7 -8
  104. package/lib/src/components/form/src/date.d.ts +245 -8
  105. package/lib/src/components/form/src/index.d.ts +4 -3
  106. package/lib/src/components/form/src/input-autocomplete.d.ts +7 -8
  107. package/lib/src/components/form/src/input-number.d.ts +7 -8
  108. package/lib/src/components/form/src/input.d.ts +7 -8
  109. package/lib/src/components/form/src/radio.d.ts +7 -8
  110. package/lib/src/components/form/src/rate.d.ts +6 -7
  111. package/lib/src/components/form/src/select.d.ts +7 -9
  112. package/lib/src/components/form/src/switch.d.ts +7 -8
  113. package/lib/src/components/form/src/tree-select.d.ts +7 -19
  114. package/lib/src/components/form/types/components.d.ts +40 -0
  115. package/lib/src/components/form/types/index.d.ts +45 -21
  116. package/lib/src/components/form/types/utils.d.ts +5 -0
  117. package/lib/src/components/form/utils/index.d.ts +1 -0
  118. package/lib/src/components/table/index.d.ts +339 -328
  119. package/lib/src/components/table/src/index.d.ts +338 -327
  120. package/lib/src/components/table/src/recuve-table-column.d.ts +1 -1
  121. package/lib/src/components/table/types/index.d.ts +24 -33
  122. package/lib/src/components/tooltip/index.d.ts +2 -2
  123. package/{es/src/hooks/useTablePage → lib/src/hooks/TablePage}/index.d.ts +14 -17
  124. package/{es/src/hooks/useTablePage → lib/src/hooks/TablePage}/types/index.d.ts +1 -2
  125. package/lib/src/index.d.ts +3 -3
  126. package/lib/src/utils/tools.d.ts +1 -1
  127. package/lib/src/views/test-table-page/types/index.d.ts +24 -0
  128. package/lib/style.css +1 -1
  129. package/package.json +87 -89
  130. package/es/packages/hooks/useTablePage/index.mjs.map +0 -1
@@ -1,28 +1,27 @@
1
1
  import { PropType } from 'vue';
2
2
  import type { RewriteFormProps, CustomFormItemProps } from '../types';
3
- import type { RateProps } from 'element-plus';
4
3
  declare const _default: import("vue").DefineComponent<{
5
4
  form: {
6
- type: PropType<RewriteFormProps<any>>;
5
+ type: PropType<RewriteFormProps<any, any>>;
7
6
  default: () => {};
8
7
  };
9
8
  formItem: {
10
- type: PropType<CustomFormItemProps<Partial<RateProps>, any>>;
9
+ type: PropType<CustomFormItemProps<any, any[], any>>;
11
10
  default: () => {};
12
11
  };
13
12
  }, {
14
13
  options: import("vue").ComputedRef<any>;
15
14
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
15
  form: {
17
- type: PropType<RewriteFormProps<any>>;
16
+ type: PropType<RewriteFormProps<any, any>>;
18
17
  default: () => {};
19
18
  };
20
19
  formItem: {
21
- type: PropType<CustomFormItemProps<Partial<RateProps>, any>>;
20
+ type: PropType<CustomFormItemProps<any, any[], any>>;
22
21
  default: () => {};
23
22
  };
24
23
  }>>, {
25
- form: RewriteFormProps<any>;
26
- formItem: CustomFormItemProps<Partial<RateProps>, any>;
24
+ form: RewriteFormProps<any, any>;
25
+ formItem: CustomFormItemProps<any, any[], any>;
27
26
  }, {}>;
28
27
  export default _default;
@@ -1,29 +1,27 @@
1
1
  import { PropType } from 'vue';
2
2
  import type { RewriteFormProps, CustomFormItemProps } from '../types';
3
- import type { ElSelect, SelectOptionProxy } from 'element-plus';
4
- type FormItem = CustomFormItemProps<Partial<typeof ElSelect>, SelectOptionProxy[]>;
5
3
  declare const _default: import("vue").DefineComponent<{
6
4
  form: {
7
- type: PropType<RewriteFormProps<any>>;
5
+ type: PropType<RewriteFormProps<any, any>>;
8
6
  default: () => {};
9
7
  };
10
8
  formItem: {
11
- type: PropType<FormItem>;
9
+ type: PropType<CustomFormItemProps<any, any[], any>>;
12
10
  default: () => {};
13
11
  };
14
12
  }, {
15
- options: import("vue").ComputedRef<import('../types').RewriteFormItemProps<SelectOptionProxy[]>>;
13
+ options: import("vue").ComputedRef<any>;
16
14
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
15
  form: {
18
- type: PropType<RewriteFormProps<any>>;
16
+ type: PropType<RewriteFormProps<any, any>>;
19
17
  default: () => {};
20
18
  };
21
19
  formItem: {
22
- type: PropType<FormItem>;
20
+ type: PropType<CustomFormItemProps<any, any[], any>>;
23
21
  default: () => {};
24
22
  };
25
23
  }>>, {
26
- form: RewriteFormProps<any>;
27
- formItem: FormItem;
24
+ form: RewriteFormProps<any, any>;
25
+ formItem: CustomFormItemProps<any, any[], any>;
28
26
  }, {}>;
29
27
  export default _default;
@@ -1,28 +1,27 @@
1
1
  import type { RewriteFormProps, CustomFormItemProps } from '../types';
2
2
  import type { PropType } from 'vue';
3
- import type { SwitchProps } from 'element-plus';
4
3
  declare const _default: import("vue").DefineComponent<{
5
4
  form: {
6
- type: PropType<RewriteFormProps<any>>;
5
+ type: PropType<RewriteFormProps<any, any>>;
7
6
  default: () => {};
8
7
  };
9
8
  formItem: {
10
- type: PropType<CustomFormItemProps<Partial<SwitchProps>, any[]>>;
9
+ type: PropType<CustomFormItemProps<any, any[], any>>;
11
10
  default: () => {};
12
11
  };
13
12
  }, {
14
- options: import("vue").ComputedRef<import('../types').RewriteFormItemProps<any[]>>;
13
+ options: import("vue").ComputedRef<any>;
15
14
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
15
  form: {
17
- type: PropType<RewriteFormProps<any>>;
16
+ type: PropType<RewriteFormProps<any, any>>;
18
17
  default: () => {};
19
18
  };
20
19
  formItem: {
21
- type: PropType<CustomFormItemProps<Partial<SwitchProps>, any[]>>;
20
+ type: PropType<CustomFormItemProps<any, any[], any>>;
22
21
  default: () => {};
23
22
  };
24
23
  }>>, {
25
- form: RewriteFormProps<any>;
26
- formItem: CustomFormItemProps<Partial<SwitchProps>, any[]>;
24
+ form: RewriteFormProps<any, any>;
25
+ formItem: CustomFormItemProps<any, any[], any>;
27
26
  }, {}>;
28
27
  export default _default;
@@ -2,38 +2,26 @@ import type { RewriteFormProps, CustomFormItemProps } from '../types';
2
2
  import type { PropType } from 'vue';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  form: {
5
- type: PropType<RewriteFormProps<any>>;
5
+ type: PropType<RewriteFormProps<any, any>>;
6
6
  default: () => {};
7
7
  };
8
8
  formItem: {
9
- type: PropType<CustomFormItemProps<Partial<import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<any, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
10
- [key: string]: any;
11
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<any>, {} | {
12
- [x: string]: any;
13
- }, {}>>>, any[]>>;
9
+ type: PropType<CustomFormItemProps<any, any[], any>>;
14
10
  default: () => {};
15
11
  };
16
12
  }, {
17
- options: import("vue").ComputedRef<import('../types').RewriteFormItemProps<any[]>>;
13
+ options: import("vue").ComputedRef<any>;
18
14
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
15
  form: {
20
- type: PropType<RewriteFormProps<any>>;
16
+ type: PropType<RewriteFormProps<any, any>>;
21
17
  default: () => {};
22
18
  };
23
19
  formItem: {
24
- type: PropType<CustomFormItemProps<Partial<import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<any, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
25
- [key: string]: any;
26
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<any>, {} | {
27
- [x: string]: any;
28
- }, {}>>>, any[]>>;
20
+ type: PropType<CustomFormItemProps<any, any[], any>>;
29
21
  default: () => {};
30
22
  };
31
23
  }>>, {
32
- form: RewriteFormProps<any>;
33
- formItem: CustomFormItemProps<Partial<import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<any, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
- [key: string]: any;
35
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<any>, {} | {
36
- [x: string]: any;
37
- }, {}>>>, any[]>;
24
+ form: RewriteFormProps<any, any>;
25
+ formItem: CustomFormItemProps<any, any[], any>;
38
26
  }, {}>;
39
27
  export default _default;
@@ -0,0 +1,40 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+ import { MergeProp } from './utils';
3
+ import { InputProps, ElInput, SelectOptionProxy, ElSelect, cascaderProps, ElCascader, AutocompleteProps, ElAutocomplete, ElInputNumber, InputNumberProps, SwitchProps, DatePickerProps, ElDatePicker, RadioGroupProps, ElRadioGroup, CheckboxProps, RadioProps, CheckboxGroupProps, ElCheckbox, ElTreeSelect, RateProps, ElRate, CascaderProps, ElTree } from 'element-plus';
4
+ import { TreeOptionProps } from 'element-plus/es/components/tree-v2/src/types';
5
+ import type { SelectProps } from 'element-plus/es/components/select/src/select';
6
+ import { TreeProps } from 'element-plus/es/components/tree-v2/src/types';
7
+ type CommonFn = 'onChange' | 'onClear' | 'onBlur' | 'onFocus';
8
+ export type RewriteInputProps = Partial<InputProps & Pick<typeof ElInput, 'onInput' | CommonFn>>;
9
+ export type RewriteTextareaProps = Partial<InputProps & Pick<typeof ElInput, 'onInput' | CommonFn>>;
10
+ export type RewriteSelectProps<O = any[]> = Partial<Omit<ExtractPropTypes<typeof SelectProps>, 'options'> & {
11
+ options: O | SelectOptionProxy[];
12
+ label: string;
13
+ value: string;
14
+ } & Pick<typeof ElSelect, CommonFn | 'onVisible-change' | 'onRemove-tag'>>;
15
+ export type RewriteCascaderProps<O = any[]> = Partial<Omit<ExtractPropTypes<typeof cascaderProps>, 'options' | 'props'> & {
16
+ optison: O;
17
+ props: Partial<MergeProp<CascaderProps, TreeOptionProps>>;
18
+ } & Pick<typeof ElCascader, CommonFn | 'onVisible-change' | 'onRemove-tag'>>;
19
+ export type RewriteAutocompleteProps = Partial<AutocompleteProps & Pick<typeof ElAutocomplete, 'onSelect' | 'onChange'>>;
20
+ export type RewriteInputNumberProps = Partial<InputNumberProps & Pick<typeof ElInputNumber, CommonFn>>;
21
+ export type RewriteSwitchProps = Partial<SwitchProps & Pick<typeof ElInputNumber, 'onChange'>>;
22
+ export type RewriteDatePickerProps = Partial<DatePickerProps & Pick<typeof ElDatePicker, CommonFn | 'onVisible-change' | 'onCalendar-change' | 'onPanel-change'>>;
23
+ export type RewriteRadioGroupProps<O = any[]> = Partial<RadioGroupProps & {
24
+ options: O | RadioProps[];
25
+ value: string;
26
+ } & Pick<typeof ElRadioGroup, 'onChange'>>;
27
+ export type RewriteCheckboxGroupProps<O = any[]> = Partial<CheckboxGroupProps & {
28
+ options: O | CheckboxProps[];
29
+ value: string;
30
+ } & Pick<typeof ElCheckbox, 'onChange'>>;
31
+ export type RewriteTreeSelectProps<O = any[]> = Partial<Omit<TreeProps, 'props'> & Omit<ExtractPropTypes<typeof SelectProps>, 'options'> & {
32
+ options: O | SelectOptionProxy[];
33
+ label: string;
34
+ value: string;
35
+ data: O | SelectOptionProxy[];
36
+ } & Pick<typeof ElTreeSelect, CommonFn> & Pick<typeof ElTree, 'onCurrent-change' | 'onCheck' | 'onNode-click' | 'onCurrent-change' | 'onNode-expand' | 'onCheck-change' | 'onNode-click' | 'onNode-contextmenu' | 'onNode-collapse' | 'onNode-drag-start' | 'onNode-drag-end' | 'onNode-drop' | 'onNode-drag-leave' | 'onNode-drag-enter' | 'onNode-drag-over'>>;
37
+ export type RewriteRewriteRateProps<O = any[]> = Partial<Omit<RateProps, 'options'> & {
38
+ options: O;
39
+ } & Pick<typeof ElRate, 'onChange'>>;
40
+ export {};
@@ -1,42 +1,66 @@
1
- import { type FormProps, type FormItemProps, type ColProps, type RowProps, type InputProps, type InputNumberProps, type AutocompleteProps, type ElSelect, type SwitchProps, type DatePickerProps, type ElInput, type ElInputNumber, type ElAutocomplete, type ElTreeSelect, ElSwitch, ElRadio, ElDatePicker, RateProps, CheckboxGroupProps, CheckboxProps, SelectOptionProxy, ElCascader, CascaderProps } from 'element-plus';
2
- import { SelectProps } from 'element-plus/es/components/select-v2/src/defaults';
1
+ import { type FormProps, type FormItemProps, type ColProps, type RowProps } from 'element-plus';
2
+ import { RewriteInputProps, RewriteSelectProps, RewriteTextareaProps, RewriteCascaderProps, RewriteAutocompleteProps, RewriteInputNumberProps, RewriteSwitchProps, RewriteDatePickerProps, RewriteRadioGroupProps, RewriteCheckboxGroupProps, RewriteTreeSelectProps, RewriteRewriteRateProps } from './components';
3
+ import { MergeProp } from './utils';
3
4
  type RewriteColProps = Partial<ColProps>;
4
5
  type RewriteRowProps = Partial<RowProps>;
5
- type TypeName = 'input' | 'select' | 'textarea' | 'input-autocomplete' | 'input-number' | 'switch' | 'datetime' | 'date' | 'week' | 'month' | 'year' | 'datetimerange' | 'daterange' | 'monthrange' | 'custom' | 'radio' | 'tree-select' | 'radio-button' | 'rate' | 'checkbox' | 'cascader';
6
- export interface RewriteFormItemProps<T = any[]> extends Partial<InputProps & InputNumberProps & Omit<typeof SelectProps, 'options' | 'props'> & Omit<typeof ElTreeSelect, 'options' | 'data'> & AutocompleteProps & SwitchProps & DatePickerProps & RateProps & CheckboxGroupProps> {
7
- data?: T | Partial<CheckboxProps[] & SelectOptionProxy[]>;
8
- options?: T | Partial<CheckboxProps[] & SelectOptionProxy[]>;
9
- props?: Partial<CascaderProps>;
10
- on?: Partial<InstanceType<typeof ElInput & typeof ElInputNumber & typeof ElSelect & typeof ElAutocomplete & typeof ElTreeSelect & typeof ElSwitch & typeof ElRadio & typeof ElDatePicker & typeof ElCascader>>;
6
+ export interface RewriteFormItemPropsMap<O = any[]> {
7
+ input: RewriteInputProps;
8
+ select: RewriteSelectProps<O>;
9
+ custom: RewriteInputProps;
10
+ textarea: RewriteTextareaProps;
11
+ cascader: RewriteCascaderProps<O>;
12
+ 'input-autocomplete': RewriteAutocompleteProps;
13
+ 'input-number': RewriteInputNumberProps;
14
+ switch: RewriteSwitchProps;
15
+ datetime: RewriteDatePickerProps;
16
+ date: RewriteDatePickerProps;
17
+ dates: RewriteDatePickerProps;
18
+ week: RewriteDatePickerProps;
19
+ month: RewriteDatePickerProps;
20
+ year: RewriteDatePickerProps;
21
+ years: RewriteDatePickerProps;
22
+ datetimerange: RewriteDatePickerProps;
23
+ daterange: RewriteDatePickerProps;
24
+ monthrange: RewriteDatePickerProps;
25
+ radio: RewriteRadioGroupProps<O>;
26
+ checkbox: RewriteCheckboxGroupProps<O>;
27
+ 'checkbox-button': RewriteCheckboxGroupProps<O>;
28
+ 'tree-select': RewriteTreeSelectProps<O>;
29
+ 'radio-button': RewriteRadioGroupProps<O>;
30
+ 'rate': RewriteRewriteRateProps<O>;
11
31
  }
12
- export interface CustomFormItemProps<D = any, O = any[]> extends Partial<FormItemProps> {
32
+ export interface CustomFormItemProps<D = any, O = any[], N extends keyof RewriteFormItemPropsMap = any> extends Partial<FormItemProps> {
13
33
  key?: any;
14
- type: TypeName;
34
+ type: N extends keyof RewriteFormItemPropsMap ? N : keyof RewriteFormItemPropsMap;
15
35
  show?: boolean | ((model: D) => boolean);
16
36
  vif?: boolean | ((model: D) => boolean);
17
37
  label: string;
18
38
  sort?: number;
19
- options?: RewriteFormItemProps<O>;
20
- showLabel?: true;
39
+ options?: RewriteFormItemPropsMap<O>[N];
40
+ showLabel?: boolean;
21
41
  labelDisabled?: boolean;
22
42
  labelWrap?: boolean;
23
43
  valueDisabled?: boolean;
44
+ tempValueDisabled?: boolean;
24
45
  required?: boolean;
25
- disabled?: boolean;
26
46
  colLayout?: RewriteColProps;
27
- on?: Partial<InstanceType<typeof ElInput & typeof ElInputNumber & typeof ElSelect & typeof ElAutocomplete & typeof ElTreeSelect & typeof ElSwitch & typeof ElRadio & typeof ElDatePicker>>;
28
47
  }
29
- export interface RewriteFormProps<D = any> extends Omit<Partial<FormProps>, 'model'> {
30
- model: Partial<D>;
31
- formItem: {
32
- [key: string]: CustomFormItemProps<D>;
33
- };
48
+ type ToModelItem<D, FI> = D extends FI ? D : FI;
49
+ type ToString<T> = {
50
+ [P in keyof T]: T[P] extends keyof RewriteFormItemPropsMap ? string : T[P];
51
+ };
52
+ type FormItemMap<D, FI> = {
53
+ [P in keyof ToModelItem<D, FI>]: CustomFormItemProps<MergeProp<D, FI>, any[], ToModelItem<D, FI>[P] extends keyof RewriteFormItemPropsMap ? ToModelItem<D, FI>[P] : keyof RewriteFormItemPropsMap>;
54
+ };
55
+ export interface RewriteFormProps<D = any, FI = any> extends Omit<Partial<FormProps>, 'model'> {
56
+ model: Partial<MergeProp<D, ToString<FI>>>;
57
+ formItem: Partial<FormItemMap<D, FI>>;
34
58
  colLayout?: RewriteColProps;
35
59
  row?: RewriteRowProps;
36
60
  showLabel?: boolean;
37
61
  }
38
- export interface DinertFormProps<D = any> {
39
- form: RewriteFormProps<D>;
62
+ export interface DinertFormProps<D = any, FI = any> {
63
+ form: RewriteFormProps<D, FI>;
40
64
  search?: boolean;
41
65
  }
42
66
  export {};
@@ -0,0 +1,5 @@
1
+ type Compute<T> = T extends Function ? T : {
2
+ [P in keyof T]: T[P];
3
+ };
4
+ export type MergeProp<T extends any, U extends any> = Compute<T & Omit<U, keyof T>>;
5
+ export {};
@@ -1,4 +1,5 @@
1
1
  export declare const labelMouseEnter: (e: MouseEvent, item: any, _this: any) => void;
2
+ export declare const findTreeNode: (treeData: any, key: string, value: string) => any[];
2
3
  export declare const getTooltipValue: (value: any, item: any) => any;
3
4
  export declare const valueMouseEnter: (e: MouseEvent, item: any, value: any, _this: any) => void;
4
5
  export declare const customPlaceholder: (customName: any, type?: string, name?: string) => string;