@qin-ui/antd-vue-pro 2.3.3 → 2.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 (166) hide show
  1. package/README.md +7 -5
  2. package/api.json +1 -25
  3. package/es/__tests__/BaseField.spec.d.ts +2 -0
  4. package/es/__tests__/BaseField.spec.d.ts.map +1 -0
  5. package/es/__tests__/BaseFormItem.spec.d.ts +2 -0
  6. package/es/__tests__/BaseFormItem.spec.d.ts.map +1 -0
  7. package/es/__tests__/ProForm.spec.d.ts +2 -0
  8. package/es/__tests__/ProForm.spec.d.ts.map +1 -0
  9. package/es/__tests__/ProTable.spec.d.ts +2 -0
  10. package/es/__tests__/ProTable.spec.d.ts.map +1 -0
  11. package/es/__tests__/SearchForm.spec.d.ts +2 -0
  12. package/es/__tests__/SearchForm.spec.d.ts.map +1 -0
  13. package/es/__tests__/controls.spec.d.ts +2 -0
  14. package/es/__tests__/controls.spec.d.ts.map +1 -0
  15. package/es/__tests__/helpers/fixtures.d.ts +15 -0
  16. package/es/__tests__/helpers/fixtures.d.ts.map +1 -0
  17. package/es/__tests__/helpers/mount.d.ts +38 -0
  18. package/es/__tests__/helpers/mount.d.ts.map +1 -0
  19. package/es/__tests__/hooks-locale.spec.d.ts +2 -0
  20. package/es/__tests__/hooks-locale.spec.d.ts.map +1 -0
  21. package/es/__tests__/index.spec.d.ts +2 -0
  22. package/es/__tests__/index.spec.d.ts.map +1 -0
  23. package/es/__tests__/integration.spec.d.ts +2 -0
  24. package/es/__tests__/integration.spec.d.ts.map +1 -0
  25. package/es/__tests__/setup.d.ts +14 -0
  26. package/es/__tests__/setup.d.ts.map +1 -0
  27. package/es/antd-vue-pro.css +13 -13
  28. package/es/index.js +435 -319
  29. package/es/index.js.map +1 -1
  30. package/es/{components → src/components}/component-provider/components/index.vue.d.ts +5 -1
  31. package/es/src/components/component-provider/components/index.vue.d.ts.map +1 -0
  32. package/es/src/components/component-provider/constants/index.d.ts.map +1 -0
  33. package/es/src/components/component-provider/index.d.ts.map +1 -0
  34. package/es/src/components/component-provider/types/index.d.ts.map +1 -0
  35. package/es/{components → src/components}/form/components/BaseField/index.vue.d.ts +4 -1
  36. package/es/src/components/form/components/BaseField/index.vue.d.ts.map +1 -0
  37. package/es/src/components/form/components/BaseField/utils/index.d.ts +5 -0
  38. package/es/src/components/form/components/BaseField/utils/index.d.ts.map +1 -0
  39. package/es/{components → src/components}/form/components/BaseFormItem/index.vue.d.ts +5 -1
  40. package/es/src/components/form/components/BaseFormItem/index.vue.d.ts.map +1 -0
  41. package/es/{components → src/components}/form/components/ContainerFragment/index.vue.d.ts +3 -1
  42. package/es/src/components/form/components/ContainerFragment/index.vue.d.ts.map +1 -0
  43. package/es/src/components/form/components/ProForm/index.vue.d.ts.map +1 -0
  44. package/es/src/components/form/components/SlotComponent/index.vue.d.ts +11 -0
  45. package/es/src/components/form/components/SlotComponent/index.vue.d.ts.map +1 -0
  46. package/es/src/components/form/components/index.d.ts.map +1 -0
  47. package/es/{components → src/components}/form/constants/index.d.ts +1 -1
  48. package/es/src/components/form/constants/index.d.ts.map +1 -0
  49. package/es/src/components/form/hooks/index.d.ts.map +1 -0
  50. package/es/src/components/form/hooks/useFields.d.ts.map +1 -0
  51. package/es/src/components/form/hooks/useForm.d.ts.map +1 -0
  52. package/es/src/components/form/hooks/useFormRef.d.ts.map +1 -0
  53. package/es/src/components/form/hooks/useGroupFieldAttrs.d.ts +22 -0
  54. package/es/src/components/form/hooks/useGroupFieldAttrs.d.ts.map +1 -0
  55. package/es/src/components/form/index.d.ts.map +1 -0
  56. package/es/{components → src/components}/form/types/index.d.ts +26 -2
  57. package/es/src/components/form/types/index.d.ts.map +1 -0
  58. package/es/{components → src/components}/table/components/ColumnControl.vue.d.ts +4 -1
  59. package/es/src/components/table/components/ColumnControl.vue.d.ts.map +1 -0
  60. package/es/src/components/table/components/DefaultSearchFormContainer.vue.d.ts.map +1 -0
  61. package/es/src/components/table/components/DefaultTableContainer.vue.d.ts.map +1 -0
  62. package/es/{components → src/components}/table/components/ProTable.vue.d.ts +0 -2
  63. package/es/src/components/table/components/ProTable.vue.d.ts.map +1 -0
  64. package/es/{components → src/components}/table/components/SearchForm.vue.d.ts +14 -4
  65. package/es/src/components/table/components/SearchForm.vue.d.ts.map +1 -0
  66. package/es/src/components/table/components/SizeControl.vue.d.ts.map +1 -0
  67. package/es/src/components/table/components/icons/ColumnHeightOutlined.vue.d.ts.map +1 -0
  68. package/es/src/components/table/components/icons/DownOutlined.vue.d.ts.map +1 -0
  69. package/es/src/components/table/components/icons/FilterOutlined.vue.d.ts.map +1 -0
  70. package/es/src/components/table/components/index.d.ts.map +1 -0
  71. package/es/src/components/table/hooks/index.d.ts.map +1 -0
  72. package/es/src/components/table/hooks/useTable.d.ts.map +1 -0
  73. package/es/src/components/table/index.d.ts.map +1 -0
  74. package/es/src/components/table/types/index.d.ts.map +1 -0
  75. package/es/{index.d.ts → src/index.d.ts} +1 -1
  76. package/es/src/index.d.ts.map +1 -0
  77. package/es/src/locale/index.d.ts.map +1 -0
  78. package/es/src/shared/core/index.d.ts +6 -0
  79. package/es/src/shared/core/index.d.ts.map +1 -0
  80. package/es/src/shared/ui/index.d.ts.map +1 -0
  81. package/package.json +8 -3
  82. package/src/components/component-provider/components/index.vue +37 -8
  83. package/src/components/component-provider/constants/index.ts +2 -1
  84. package/src/components/form/components/BaseField/index.vue +61 -34
  85. package/src/components/form/components/BaseField/utils/index.ts +6 -11
  86. package/src/components/form/components/BaseFormItem/index.vue +91 -94
  87. package/src/components/form/components/ContainerFragment/index.vue +4 -2
  88. package/src/components/form/components/ProForm/index.vue +70 -18
  89. package/src/components/form/components/SlotComponent/index.vue +6 -4
  90. package/src/components/form/constants/index.ts +1 -5
  91. package/src/components/form/hooks/useGroupFieldAttrs.ts +126 -0
  92. package/src/components/form/types/index.ts +26 -2
  93. package/src/components/table/components/ColumnControl.vue +16 -15
  94. package/src/components/table/components/ProTable.vue +92 -65
  95. package/src/components/table/components/SearchForm.vue +80 -59
  96. package/src/components/table/components/SizeControl.vue +4 -2
  97. package/src/index.ts +1 -1
  98. package/src/shared/core/index.ts +4 -2
  99. package/es/components/component-provider/components/index.vue.d.ts.map +0 -1
  100. package/es/components/component-provider/constants/index.d.ts.map +0 -1
  101. package/es/components/component-provider/index.d.ts.map +0 -1
  102. package/es/components/component-provider/types/index.d.ts.map +0 -1
  103. package/es/components/form/components/BaseField/index.vue.d.ts.map +0 -1
  104. package/es/components/form/components/BaseField/utils/index.d.ts +0 -5
  105. package/es/components/form/components/BaseField/utils/index.d.ts.map +0 -1
  106. package/es/components/form/components/BaseFormItem/index.vue.d.ts.map +0 -1
  107. package/es/components/form/components/ContainerFragment/index.vue.d.ts.map +0 -1
  108. package/es/components/form/components/GroupedFieldAttrs/index.vue.d.ts +0 -29
  109. package/es/components/form/components/GroupedFieldAttrs/index.vue.d.ts.map +0 -1
  110. package/es/components/form/components/PathProvider/index.vue.d.ts +0 -24
  111. package/es/components/form/components/PathProvider/index.vue.d.ts.map +0 -1
  112. package/es/components/form/components/ProForm/index.vue.d.ts.map +0 -1
  113. package/es/components/form/components/SlotComponent/index.vue.d.ts +0 -7
  114. package/es/components/form/components/SlotComponent/index.vue.d.ts.map +0 -1
  115. package/es/components/form/components/index.d.ts.map +0 -1
  116. package/es/components/form/constants/index.d.ts.map +0 -1
  117. package/es/components/form/hooks/index.d.ts.map +0 -1
  118. package/es/components/form/hooks/useFields.d.ts.map +0 -1
  119. package/es/components/form/hooks/useForm.d.ts.map +0 -1
  120. package/es/components/form/hooks/useFormRef.d.ts.map +0 -1
  121. package/es/components/form/index.d.ts.map +0 -1
  122. package/es/components/form/types/index.d.ts.map +0 -1
  123. package/es/components/table/components/ColumnControl.vue.d.ts.map +0 -1
  124. package/es/components/table/components/DefaultSearchFormContainer.vue.d.ts.map +0 -1
  125. package/es/components/table/components/DefaultTableContainer.vue.d.ts.map +0 -1
  126. package/es/components/table/components/ProTable.vue.d.ts.map +0 -1
  127. package/es/components/table/components/SearchForm.vue.d.ts.map +0 -1
  128. package/es/components/table/components/SizeControl.vue.d.ts.map +0 -1
  129. package/es/components/table/components/icons/ColumnHeightOutlined.vue.d.ts.map +0 -1
  130. package/es/components/table/components/icons/DownOutlined.vue.d.ts.map +0 -1
  131. package/es/components/table/components/icons/FilterOutlined.vue.d.ts.map +0 -1
  132. package/es/components/table/components/index.d.ts.map +0 -1
  133. package/es/components/table/hooks/index.d.ts.map +0 -1
  134. package/es/components/table/hooks/useTable.d.ts.map +0 -1
  135. package/es/components/table/index.d.ts.map +0 -1
  136. package/es/components/table/types/index.d.ts.map +0 -1
  137. package/es/index.d.ts.map +0 -1
  138. package/es/locale/index.d.ts.map +0 -1
  139. package/es/shared/core/index.d.ts +0 -6
  140. package/es/shared/core/index.d.ts.map +0 -1
  141. package/es/shared/ui/index.d.ts.map +0 -1
  142. package/src/components/form/components/GroupedFieldAttrs/index.vue +0 -118
  143. package/src/components/form/components/PathProvider/index.vue +0 -19
  144. /package/es/{components → src/components}/component-provider/constants/index.d.ts +0 -0
  145. /package/es/{components → src/components}/component-provider/index.d.ts +0 -0
  146. /package/es/{components → src/components}/component-provider/types/index.d.ts +0 -0
  147. /package/es/{components → src/components}/form/components/ProForm/index.vue.d.ts +0 -0
  148. /package/es/{components → src/components}/form/components/index.d.ts +0 -0
  149. /package/es/{components → src/components}/form/hooks/index.d.ts +0 -0
  150. /package/es/{components → src/components}/form/hooks/useFields.d.ts +0 -0
  151. /package/es/{components → src/components}/form/hooks/useForm.d.ts +0 -0
  152. /package/es/{components → src/components}/form/hooks/useFormRef.d.ts +0 -0
  153. /package/es/{components → src/components}/form/index.d.ts +0 -0
  154. /package/es/{components → src/components}/table/components/DefaultSearchFormContainer.vue.d.ts +0 -0
  155. /package/es/{components → src/components}/table/components/DefaultTableContainer.vue.d.ts +0 -0
  156. /package/es/{components → src/components}/table/components/SizeControl.vue.d.ts +0 -0
  157. /package/es/{components → src/components}/table/components/icons/ColumnHeightOutlined.vue.d.ts +0 -0
  158. /package/es/{components → src/components}/table/components/icons/DownOutlined.vue.d.ts +0 -0
  159. /package/es/{components → src/components}/table/components/icons/FilterOutlined.vue.d.ts +0 -0
  160. /package/es/{components → src/components}/table/components/index.d.ts +0 -0
  161. /package/es/{components → src/components}/table/hooks/index.d.ts +0 -0
  162. /package/es/{components → src/components}/table/hooks/useTable.d.ts +0 -0
  163. /package/es/{components → src/components}/table/index.d.ts +0 -0
  164. /package/es/{components → src/components}/table/types/index.d.ts +0 -0
  165. /package/es/{locale → src/locale}/index.d.ts +0 -0
  166. /package/es/{shared → src/shared}/ui/index.d.ts +0 -0
@@ -1,118 +0,0 @@
1
- <script lang="ts" setup>
2
- /**
3
- * @component GroupedFieldAttrs
4
- * @description 字段属性分组器,将 field 配置对象拆分为三类属性
5
- *
6
- * ## 属性分发逻辑
7
- *
8
- * 单个 field 对象包含多种属性,需要分发到不同的渲染目标:
9
- *
10
- * 1. **gridItemProps** — 网格布局属性(span、xs、sm、md、lg、xl、xxl 等),传递给 GridItem
11
- * 2. **formItemProps** — 表单项属性(label、rules、required 等),传递给 FormItem
12
- * 3. **componentProps** — 组件属性(placeholder、allowClear 等),传递给输入组件
13
- * 4. **formItemSlots** — FormItem 的具名插槽(label、help、extra 等)
14
- *
15
- * 分组依据:
16
- * - 匹配 antd-vue GridItem 的 props key → gridItemProps
17
- * - 匹配 antd-vue FormItem 的 props key → formItemProps
18
- * - 其余所有属性 → componentProps
19
- * - 属于 FORM_ITEM_SLOT_KEYS 的插槽 → formItemSlots
20
- * - 其余插槽 → componentProps.slots
21
- */
22
- import { computed, inject, mergeProps, toValue } from 'vue';
23
- import {
24
- GridItemProps,
25
- FormItemProps,
26
- gridItemProps,
27
- formItemProps,
28
- } from '../../../../shared/ui';
29
- import { INJECT_CONFIG } from '../../../component-provider/constants';
30
- import type { Base, Field } from '../../types';
31
- import { FORM_ITEM_SLOT_KEYS } from '../../constants';
32
- import { isPlainObject } from '../../../../shared/core';
33
-
34
- const formItemPropKeys = Object.keys(formItemProps()).concat([
35
- 'formItemContainer',
36
- ]);
37
- const gridItemPropKeys = Object.keys(gridItemProps());
38
-
39
- type Props = {
40
- field: Field;
41
- };
42
- const props = defineProps<Props>();
43
-
44
- const config = INJECT_CONFIG['pro-form-item'];
45
- const injectFormItemProps = inject(config.injectionKey, config.default);
46
-
47
- type GroupedFieldAttrs = {
48
- gridItemProps: GridItemProps;
49
- formItemProps: FormItemProps & Pick<Base, 'formItemContainer'>;
50
- formItemSlots: Record<(typeof FORM_ITEM_SLOT_KEYS)[number], any>;
51
- componentProps: Record<string, any>;
52
- };
53
-
54
- // 将 field 配置按 key 分发到三类属性分组中
55
- const groupedAttributes = computed<GroupedFieldAttrs>(() => {
56
- let gridItemProps: Record<string, any> = {};
57
- let formItemProps: Record<string, any> = {};
58
- const componentProps: Record<string, any> = { slots: {} };
59
- const formItemSlots: Record<string, any> = {};
60
-
61
- if (isPlainObject(props.field)) {
62
- // prettier-ignore
63
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
- const { path, name, fields, formItemClass, formItemStyle, hidden, span, getFormItemRef, getComponentRef, getFormItemComputedProps, getComponentComputedProps, slots = {}, formItemDataAttrs = {}, componentDataAttrs = {}, extraProps, ...rest } =
65
- props.field as any;
66
- const {
67
- class: injectClassName,
68
- style: injectStyle,
69
- span: injectSpan,
70
- xs,
71
- sm,
72
- md,
73
- lg,
74
- xl,
75
- xxl,
76
- ...injectRest
77
- } = injectFormItemProps;
78
-
79
- const initGridItemProps =
80
- span || span === 0
81
- ? { span }
82
- : { xs, sm, md, lg, xl, xxl, span: injectSpan };
83
-
84
- gridItemProps = fields ? { span: span ?? 24 } : initGridItemProps;
85
- formItemProps = mergeProps(
86
- injectRest,
87
- { class: injectClassName, style: injectStyle },
88
- { class: toValue(formItemClass), style: toValue(formItemStyle) },
89
- formItemDataAttrs
90
- );
91
-
92
- Object.keys(rest).forEach(k => {
93
- if (gridItemPropKeys.includes(k)) {
94
- gridItemProps[k] = rest[k];
95
- } else if (formItemPropKeys.includes(k)) {
96
- formItemProps[k as keyof FormItemProps] = rest[k];
97
- } else {
98
- componentProps[k] = rest[k];
99
- }
100
- });
101
-
102
- Object.assign(componentProps, componentDataAttrs);
103
- Object.keys(slots).forEach(k => {
104
- if (FORM_ITEM_SLOT_KEYS.includes(k as any)) {
105
- formItemSlots[k] = slots[k];
106
- } else {
107
- componentProps['slots'][k] = slots[k];
108
- }
109
- });
110
- }
111
-
112
- return { gridItemProps, formItemProps, componentProps, formItemSlots };
113
- });
114
- </script>
115
-
116
- <template>
117
- <slot v-bind="groupedAttributes"></slot>
118
- </template>
@@ -1,19 +0,0 @@
1
- <script lang="ts" setup>
2
- import { computed, provide } from 'vue';
3
- import { InjectionPathKey } from '../../constants';
4
- import { NamePath } from '../../../../shared/ui';
5
-
6
- const props = defineProps<{ path?: NamePath }>();
7
-
8
- const namePath = computed(() => {
9
- return Array.isArray(props.path)
10
- ? props.path.join('.')
11
- : (props.path as string | undefined);
12
- });
13
-
14
- provide(InjectionPathKey, namePath);
15
- </script>
16
-
17
- <template>
18
- <slot :path="namePath" />
19
- </template>
File without changes
File without changes