@qin-ui/element-plus-pro 1.2.4 → 1.3.1

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 (179) hide show
  1. package/AI-CONTEXT.md +1 -1
  2. package/README.md +5 -5
  3. package/api.json +1 -25
  4. package/es/__tests__/BaseField.spec.d.ts +2 -0
  5. package/es/__tests__/BaseField.spec.d.ts.map +1 -0
  6. package/es/__tests__/BaseFormItem.spec.d.ts +2 -0
  7. package/es/__tests__/BaseFormItem.spec.d.ts.map +1 -0
  8. package/es/__tests__/ProForm.spec.d.ts +2 -0
  9. package/es/__tests__/ProForm.spec.d.ts.map +1 -0
  10. package/es/__tests__/ProTable.spec.d.ts +2 -0
  11. package/es/__tests__/ProTable.spec.d.ts.map +1 -0
  12. package/es/__tests__/SearchForm.spec.d.ts +2 -0
  13. package/es/__tests__/SearchForm.spec.d.ts.map +1 -0
  14. package/es/__tests__/controls.spec.d.ts +2 -0
  15. package/es/__tests__/controls.spec.d.ts.map +1 -0
  16. package/es/__tests__/cross-package.spec.d.ts +2 -0
  17. package/es/__tests__/cross-package.spec.d.ts.map +1 -0
  18. package/es/__tests__/helpers/fixtures.d.ts +15 -0
  19. package/es/__tests__/helpers/fixtures.d.ts.map +1 -0
  20. package/es/__tests__/helpers/mount.d.ts +38 -0
  21. package/es/__tests__/helpers/mount.d.ts.map +1 -0
  22. package/es/__tests__/hooks-locale.spec.d.ts +2 -0
  23. package/es/__tests__/hooks-locale.spec.d.ts.map +1 -0
  24. package/es/__tests__/index.spec.d.ts +2 -0
  25. package/es/__tests__/index.spec.d.ts.map +1 -0
  26. package/es/__tests__/integration.spec.d.ts +2 -0
  27. package/es/__tests__/integration.spec.d.ts.map +1 -0
  28. package/es/__tests__/setup.d.ts +14 -0
  29. package/es/__tests__/setup.d.ts.map +1 -0
  30. package/es/element-plus-pro.css +14 -14
  31. package/es/index.js +425 -434
  32. package/es/index.js.map +1 -1
  33. package/es/{components → src/components}/component-provider/components/index.vue.d.ts +5 -1
  34. package/es/src/components/component-provider/components/index.vue.d.ts.map +1 -0
  35. package/es/{components → src/components}/component-provider/constants/index.d.ts +2 -2
  36. package/es/src/components/component-provider/constants/index.d.ts.map +1 -0
  37. package/es/src/components/component-provider/index.d.ts.map +1 -0
  38. package/es/{components → src/components}/component-provider/types/index.d.ts +9 -5
  39. package/es/src/components/component-provider/types/index.d.ts.map +1 -0
  40. package/es/{components → src/components}/form/components/BaseField/index.vue.d.ts +4 -1
  41. package/es/src/components/form/components/BaseField/index.vue.d.ts.map +1 -0
  42. package/es/src/components/form/components/BaseField/utils/index.d.ts +6 -0
  43. package/es/src/components/form/components/BaseField/utils/index.d.ts.map +1 -0
  44. package/es/{components → src/components}/form/components/BaseFormItem/index.vue.d.ts +4 -2
  45. package/es/src/components/form/components/BaseFormItem/index.vue.d.ts.map +1 -0
  46. package/es/src/components/form/components/ContainerFragment/index.vue.d.ts.map +1 -0
  47. package/es/src/components/form/components/ProForm/index.vue.d.ts.map +1 -0
  48. package/es/src/components/form/components/SlotComponent/index.vue.d.ts.map +1 -0
  49. package/es/src/components/form/components/index.d.ts.map +1 -0
  50. package/es/src/components/form/constants/index.d.ts.map +1 -0
  51. package/es/src/components/form/hooks/index.d.ts.map +1 -0
  52. package/es/src/components/form/hooks/useFields.d.ts.map +1 -0
  53. package/es/src/components/form/hooks/useForm.d.ts.map +1 -0
  54. package/es/src/components/form/hooks/useFormRef.d.ts.map +1 -0
  55. package/es/src/components/form/hooks/useGroupFieldAttrs.d.ts.map +1 -0
  56. package/es/src/components/form/index.d.ts.map +1 -0
  57. package/es/{components → src/components}/form/types/index.d.ts +26 -2
  58. package/es/src/components/form/types/index.d.ts.map +1 -0
  59. package/es/{components → src/components}/table/components/ColumnControl.vue.d.ts +4 -1
  60. package/es/src/components/table/components/ColumnControl.vue.d.ts.map +1 -0
  61. package/es/src/components/table/components/DefaultSearchFormContainer.vue.d.ts.map +1 -0
  62. package/es/src/components/table/components/DefaultTableContainer.vue.d.ts.map +1 -0
  63. package/es/{components → src/components}/table/components/ProTable.vue.d.ts +4 -1
  64. package/es/src/components/table/components/ProTable.vue.d.ts.map +1 -0
  65. package/es/{components → src/components}/table/components/SearchForm.vue.d.ts +14 -4
  66. package/es/src/components/table/components/SearchForm.vue.d.ts.map +1 -0
  67. package/es/src/components/table/components/SizeControl.vue.d.ts.map +1 -0
  68. package/es/src/components/table/components/TableColumnRenderer.vue.d.ts.map +1 -0
  69. package/es/src/components/table/components/icons/ColumnHeightOutlined.vue.d.ts.map +1 -0
  70. package/es/src/components/table/components/icons/DownOutlined.vue.d.ts.map +1 -0
  71. package/es/src/components/table/components/icons/FilterOutlined.vue.d.ts.map +1 -0
  72. package/es/src/components/table/components/index.d.ts.map +1 -0
  73. package/es/src/components/table/index.d.ts.map +1 -0
  74. package/es/{components → src/components}/table/types/index.d.ts +3 -0
  75. package/es/src/components/table/types/index.d.ts.map +1 -0
  76. package/es/src/components/table/useTable.d.ts.map +1 -0
  77. package/es/{index.d.ts → src/index.d.ts} +1 -1
  78. package/es/src/index.d.ts.map +1 -0
  79. package/es/src/locale/en-US.d.ts.map +1 -0
  80. package/es/{locale → src/locale}/index.d.ts +1 -1
  81. package/es/src/locale/index.d.ts.map +1 -0
  82. package/es/src/locale/zh-CN.d.ts.map +1 -0
  83. package/es/src/locale/zh-TW.d.ts.map +1 -0
  84. package/es/src/shared/core/index.d.ts +6 -0
  85. package/es/src/shared/core/index.d.ts.map +1 -0
  86. package/es/{shared → src/shared}/ui/index.d.ts +2 -0
  87. package/es/src/shared/ui/index.d.ts.map +1 -0
  88. package/package.json +8 -3
  89. package/src/components/component-provider/components/index.vue +41 -11
  90. package/src/components/component-provider/constants/index.ts +6 -5
  91. package/src/components/component-provider/types/index.ts +9 -5
  92. package/src/components/form/components/BaseField/index.vue +67 -38
  93. package/src/components/form/components/BaseField/utils/index.ts +17 -11
  94. package/src/components/form/components/BaseFormItem/index.vue +48 -41
  95. package/src/components/form/components/ProForm/index.vue +64 -20
  96. package/src/components/form/components/SlotComponent/index.vue +9 -6
  97. package/src/components/form/hooks/useGroupFieldAttrs.ts +13 -6
  98. package/src/components/form/types/index.ts +26 -2
  99. package/src/components/table/components/ColumnControl.vue +31 -38
  100. package/src/components/table/components/ProTable.vue +142 -84
  101. package/src/components/table/components/SearchForm.vue +49 -202
  102. package/src/components/table/components/SizeControl.vue +2 -2
  103. package/src/components/table/components/TableColumnRenderer.vue +16 -11
  104. package/src/components/table/types/index.ts +3 -0
  105. package/src/components/table/useTable.ts +12 -7
  106. package/src/index.ts +1 -1
  107. package/src/locale/en-US.ts +1 -1
  108. package/src/locale/index.ts +7 -7
  109. package/src/locale/zh-CN.ts +1 -1
  110. package/src/locale/zh-TW.ts +1 -1
  111. package/src/shared/core/index.ts +15 -2
  112. package/src/shared/ui/index.ts +20 -9
  113. package/es/components/component-provider/components/index.vue.d.ts.map +0 -1
  114. package/es/components/component-provider/constants/index.d.ts.map +0 -1
  115. package/es/components/component-provider/index.d.ts.map +0 -1
  116. package/es/components/component-provider/types/index.d.ts.map +0 -1
  117. package/es/components/form/components/BaseField/index.vue.d.ts.map +0 -1
  118. package/es/components/form/components/BaseField/utils/index.d.ts +0 -5
  119. package/es/components/form/components/BaseField/utils/index.d.ts.map +0 -1
  120. package/es/components/form/components/BaseFormItem/index.vue.d.ts.map +0 -1
  121. package/es/components/form/components/ContainerFragment/index.vue.d.ts.map +0 -1
  122. package/es/components/form/components/ProForm/index.vue.d.ts.map +0 -1
  123. package/es/components/form/components/SlotComponent/index.vue.d.ts.map +0 -1
  124. package/es/components/form/components/index.d.ts.map +0 -1
  125. package/es/components/form/constants/index.d.ts.map +0 -1
  126. package/es/components/form/hooks/index.d.ts.map +0 -1
  127. package/es/components/form/hooks/useFields.d.ts.map +0 -1
  128. package/es/components/form/hooks/useForm.d.ts.map +0 -1
  129. package/es/components/form/hooks/useFormRef.d.ts.map +0 -1
  130. package/es/components/form/hooks/useGroupFieldAttrs.d.ts.map +0 -1
  131. package/es/components/form/index.d.ts.map +0 -1
  132. package/es/components/form/types/index.d.ts.map +0 -1
  133. package/es/components/table/components/ColumnControl.vue.d.ts.map +0 -1
  134. package/es/components/table/components/DefaultSearchFormContainer.vue.d.ts.map +0 -1
  135. package/es/components/table/components/DefaultTableContainer.vue.d.ts.map +0 -1
  136. package/es/components/table/components/ProTable.vue.d.ts.map +0 -1
  137. package/es/components/table/components/SearchForm.vue.d.ts.map +0 -1
  138. package/es/components/table/components/SizeControl.vue.d.ts.map +0 -1
  139. package/es/components/table/components/TableColumnRenderer.vue.d.ts.map +0 -1
  140. package/es/components/table/components/icons/ColumnHeightOutlined.vue.d.ts.map +0 -1
  141. package/es/components/table/components/icons/DownOutlined.vue.d.ts.map +0 -1
  142. package/es/components/table/components/icons/FilterOutlined.vue.d.ts.map +0 -1
  143. package/es/components/table/components/index.d.ts.map +0 -1
  144. package/es/components/table/index.d.ts.map +0 -1
  145. package/es/components/table/types/index.d.ts.map +0 -1
  146. package/es/components/table/useTable.d.ts.map +0 -1
  147. package/es/index.d.ts.map +0 -1
  148. package/es/locale/en-US.d.ts.map +0 -1
  149. package/es/locale/index.d.ts.map +0 -1
  150. package/es/locale/zh-CN.d.ts.map +0 -1
  151. package/es/locale/zh-TW.d.ts.map +0 -1
  152. package/es/shared/core/index.d.ts +0 -6
  153. package/es/shared/core/index.d.ts.map +0 -1
  154. package/es/shared/ui/index.d.ts.map +0 -1
  155. /package/es/{components → src/components}/component-provider/index.d.ts +0 -0
  156. /package/es/{components → src/components}/form/components/ContainerFragment/index.vue.d.ts +0 -0
  157. /package/es/{components → src/components}/form/components/ProForm/index.vue.d.ts +0 -0
  158. /package/es/{components → src/components}/form/components/SlotComponent/index.vue.d.ts +0 -0
  159. /package/es/{components → src/components}/form/components/index.d.ts +0 -0
  160. /package/es/{components → src/components}/form/constants/index.d.ts +0 -0
  161. /package/es/{components → src/components}/form/hooks/index.d.ts +0 -0
  162. /package/es/{components → src/components}/form/hooks/useFields.d.ts +0 -0
  163. /package/es/{components → src/components}/form/hooks/useForm.d.ts +0 -0
  164. /package/es/{components → src/components}/form/hooks/useFormRef.d.ts +0 -0
  165. /package/es/{components → src/components}/form/hooks/useGroupFieldAttrs.d.ts +0 -0
  166. /package/es/{components → src/components}/form/index.d.ts +0 -0
  167. /package/es/{components → src/components}/table/components/DefaultSearchFormContainer.vue.d.ts +0 -0
  168. /package/es/{components → src/components}/table/components/DefaultTableContainer.vue.d.ts +0 -0
  169. /package/es/{components → src/components}/table/components/SizeControl.vue.d.ts +0 -0
  170. /package/es/{components → src/components}/table/components/TableColumnRenderer.vue.d.ts +0 -0
  171. /package/es/{components → src/components}/table/components/icons/ColumnHeightOutlined.vue.d.ts +0 -0
  172. /package/es/{components → src/components}/table/components/icons/DownOutlined.vue.d.ts +0 -0
  173. /package/es/{components → src/components}/table/components/icons/FilterOutlined.vue.d.ts +0 -0
  174. /package/es/{components → src/components}/table/components/index.d.ts +0 -0
  175. /package/es/{components → src/components}/table/index.d.ts +0 -0
  176. /package/es/{components → src/components}/table/useTable.d.ts +0 -0
  177. /package/es/{locale → src/locale}/en-US.d.ts +0 -0
  178. /package/es/{locale → src/locale}/zh-CN.d.ts +0 -0
  179. /package/es/{locale → src/locale}/zh-TW.d.ts +0 -0
@@ -60,11 +60,6 @@ import { Space, Button, FormProps } from '../../../shared/ui';
60
60
  import {
61
61
  AllowedComponentProps,
62
62
  computed,
63
- ref,
64
- nextTick,
65
- watch,
66
- watchEffect,
67
- onBeforeUnmount,
68
63
  type Component,
69
64
  type DefineComponent,
70
65
  } from 'vue';
@@ -72,21 +67,22 @@ import ProForm from '../../form';
72
67
  import { type Form } from '../../form';
73
68
  import DownOutlined from './icons/DownOutlined.vue';
74
69
  import { useLocale } from '../../../locale';
70
+ import { useSearchFormExpand } from '../../../shared/core';
75
71
 
76
72
  defineOptions({ name: 'SearchForm' });
77
73
 
78
74
  const { t } = useLocale();
79
75
 
80
- const {
81
- layout = 'grid',
82
- expand = true,
83
- searchButton = undefined,
84
- resetButton = undefined,
85
- expandButton = undefined,
86
- rowGap = 16,
87
- columnGap = 24,
88
- form,
89
- } = defineProps<SearchFormProps>();
76
+ const props = withDefaults(defineProps<SearchFormProps>(), {
77
+ layout: 'grid',
78
+ expand: true,
79
+ searchButton: undefined,
80
+ resetButton: undefined,
81
+ expandButton: undefined,
82
+ rowGap: 16,
83
+ columnGap: 24,
84
+ form: undefined,
85
+ });
90
86
 
91
87
  type Emits = {
92
88
  (e: 'search'): void;
@@ -94,180 +90,21 @@ type Emits = {
94
90
  };
95
91
  const emit = defineEmits<Emits>();
96
92
 
97
- const proFormHeight = ref<'unset' | number>('unset');
98
- const collapseHeight = ref(0);
99
- const rowHeight = ref(32);
100
-
101
- let resizeObserver: ResizeObserver | null = null;
102
- let intersectionObserver: IntersectionObserver | null = null;
103
-
104
- const cleanupObservers = () => {
105
- if (resizeObserver) {
106
- resizeObserver.disconnect();
107
- resizeObserver = null;
108
- }
109
- if (intersectionObserver) {
110
- intersectionObserver.disconnect();
111
- intersectionObserver = null;
112
- }
113
- };
114
-
115
- onBeforeUnmount(() => {
116
- cleanupObservers();
117
- });
118
-
119
- const computedExpand = computed(() => {
120
- if (!expand) return false;
121
- if (expand === true) return { minExpandRows: 2, expandStatus: false };
122
- return {
123
- minExpandRows: Math.max(Math.floor(expand.minExpandRows ?? 2), 1),
124
- expandStatus: expand.expandStatus ?? false,
125
- };
126
- });
127
-
128
- const showExpandToggle = ref(false);
129
-
130
- const expandStatus = ref(true);
131
-
132
- const { formRef, getFormData } = form;
133
-
134
- const updateHeights = () => {
135
- if (!expand || !formRef.value) return;
136
- const proFormEl = (formRef.value as any)?.$el;
137
- if (!proFormEl) return;
138
-
139
- const itemHeight = proFormEl
140
- ?.querySelector("[class*='-form-item']")
141
- ?.getBoundingClientRect?.()?.height;
142
- if (itemHeight && itemHeight > 0) {
143
- rowHeight.value = itemHeight;
144
- }
145
-
146
- // 使用 scrollHeight 测量自然展开高度,突破固定高度与 overflow: hidden 样式的自引用限制
147
- const naturalHeight =
148
- proFormEl.scrollHeight || proFormEl.getBoundingClientRect?.()?.height || 0;
149
- if (naturalHeight > 0) {
150
- proFormHeight.value = naturalHeight;
151
- }
152
- };
153
-
154
- const changeExpandStatus = () => {
155
- expandStatus.value = !expandStatus.value;
156
- nextTick(() => {
157
- updateHeights();
158
- });
159
- };
160
-
161
- const hasFieldValue = (val: any) =>
162
- val !== null &&
163
- val !== undefined &&
164
- val !== '' &&
165
- !(Array.isArray(val) && val.length === 0) &&
166
- !(typeof val === 'object' && Object.keys(val).length === 0);
167
-
168
- /*
169
- * 使用 IntersectionObserver 检测折叠状态下隐藏字段是否有值
170
- * 如果有值则自动展开,让用户看到已填写的搜索条件
171
- */
172
- const setInitExpandStatus = () => {
173
- expandStatus.value = false;
174
- if (formRef.value && expand) {
175
- const formEl = (formRef.value as any).$el;
176
- const formItemsEl = formEl?.querySelectorAll?.(
177
- "[class*='-form-item'] > [path]"
178
- );
179
- if (!formItemsEl || formItemsEl.length === 0) return;
180
- if (intersectionObserver) {
181
- intersectionObserver.disconnect();
182
- }
183
- intersectionObserver = new IntersectionObserver(
184
- entries => {
185
- expandStatus.value = entries.some(e => {
186
- // 如果隐藏字段(intersectionRatio === 0)有值,则自动展开
187
- if (e.intersectionRatio === 0) {
188
- const path = e.target.getAttribute('path');
189
- const searchFieldValue = path ? getFormData?.(path) : undefined;
190
- return hasFieldValue(searchFieldValue);
191
- }
192
- return (expand as any).expandStatus;
193
- });
194
- intersectionObserver?.disconnect();
195
- },
196
- { root: formEl }
197
- );
198
- formItemsEl.forEach((element: Element) => {
199
- intersectionObserver?.observe(element);
200
- });
201
- }
202
- };
203
-
204
- watch(
205
- [
206
- () => form?.fields.value?.filter((f: any) => !f.hidden)?.length,
207
- () => formRef.value,
208
- () => expand,
209
- ],
210
- () => {
211
- updateHeights();
212
- },
213
- { flush: 'post', immediate: true }
214
- );
215
-
216
- watch(
217
- () => formRef.value,
218
- val => {
219
- if (resizeObserver) {
220
- resizeObserver.disconnect();
221
- resizeObserver = null;
222
- }
223
- const formEl = (val as any)?.$el;
224
- if (formEl && typeof ResizeObserver !== 'undefined') {
225
- resizeObserver = new ResizeObserver(() => {
226
- updateHeights();
227
- });
228
- resizeObserver.observe(formEl);
229
- }
230
- },
231
- { immediate: true }
232
- );
233
-
234
- /*
235
- * 计算折叠高度和是否显示展开按钮
236
- * 折叠高度 = minExpandRows * 行高 + (minExpandRows - 1) * 行间距
237
- * 如果实际高度与折叠高度差异 > 1px,说明有字段溢出,显示展开按钮
238
- */
239
- watchEffect(
240
- () => {
241
- if (typeof proFormHeight.value !== 'number') return;
242
- if (layout === 'grid' && computedExpand.value) {
243
- const { minExpandRows } = computedExpand.value;
244
- collapseHeight.value = Math.min(
245
- minExpandRows * rowHeight.value + (minExpandRows - 1) * rowGap,
246
- +proFormHeight.value
247
- );
248
- showExpandToggle.value = +proFormHeight.value - collapseHeight.value > 1;
249
- if (showExpandToggle.value) {
250
- setInitExpandStatus();
251
- }
252
- } else {
253
- showExpandToggle.value = false;
254
- }
255
- },
256
- { flush: 'post' }
257
- );
93
+ const { showExpandToggle, expandStatus, changeExpandStatus, heightStyle } =
94
+ useSearchFormExpand(props);
258
95
 
259
- const layoutProps = computed(() =>
260
- layout === 'grid'
96
+ const layoutProps = computed(() => {
97
+ return props.layout === 'grid'
261
98
  ? {
262
99
  grid: {
263
- gutter: columnGap,
264
- style: { rowGap: `${rowGap}px` },
100
+ gutter: props.columnGap,
101
+ style: { rowGap: `${props.rowGap}px` },
265
102
  },
266
103
  style: {
267
104
  display: 'flex',
268
105
  overflow: 'hidden',
269
- columnGap: `${columnGap}px`,
270
- height: `${expandStatus.value ? proFormHeight.value : collapseHeight.value}px`,
106
+ columnGap: `${props.columnGap}px`,
107
+ height: heightStyle.value,
271
108
  },
272
109
  }
273
110
  : {
@@ -275,11 +112,11 @@ const layoutProps = computed(() =>
275
112
  style: {
276
113
  display: 'flex',
277
114
  flexWrap: 'wrap',
278
- gap: `${rowGap}px ${columnGap}px`,
115
+ gap: `${props.rowGap}px ${props.columnGap}px`,
279
116
  },
280
117
  grid: false,
281
- }
282
- );
118
+ };
119
+ });
283
120
 
284
121
  const onReset = () => {
285
122
  emit('reset');
@@ -293,25 +130,33 @@ const onSearch = () => {
293
130
  <template>
294
131
  <ProForm
295
132
  v-bind="layoutProps"
296
- :form="form"
133
+ :form="props.form"
297
134
  class="pro-table_search-form transition"
298
- @keyup.enter="onSearch"
299
135
  >
300
136
  <Space alignment="start" class="pro-table_search-form_button-group">
301
- <slot name="reset-button" @click="onReset">
302
- <template v-if="resetButton !== false">
303
- <component :is="resetButton" v-if="resetButton" @click="onReset" />
137
+ <slot name="reset-button" :on-reset="onReset">
138
+ <template v-if="props.resetButton !== false">
139
+ <component
140
+ :is="props.resetButton"
141
+ v-if="props.resetButton"
142
+ @click="onReset"
143
+ />
304
144
  <Button
305
145
  v-else
306
146
  class="pro-table_search-form_reset-button"
307
147
  @click="onReset"
308
- >{{ t('table.reset') }}</Button
309
148
  >
149
+ {{ t('table.reset') }}
150
+ </Button>
310
151
  </template>
311
152
  </slot>
312
- <slot name="search-button" @click="onSearch">
313
- <template v-if="searchButton !== false">
314
- <component :is="searchButton" v-if="searchButton" @click="onSearch" />
153
+ <slot name="search-button" :on-search="onSearch">
154
+ <template v-if="props.searchButton !== false">
155
+ <component
156
+ :is="props.searchButton"
157
+ v-if="props.searchButton"
158
+ @click="onSearch"
159
+ />
315
160
  <Button
316
161
  v-else
317
162
  class="pro-table_search-form_search-button"
@@ -323,11 +168,15 @@ const onSearch = () => {
323
168
  </Button>
324
169
  </template>
325
170
  </slot>
326
- <slot name="expand-button" @click="changeExpandStatus">
327
- <template v-if="expandButton !== false && showExpandToggle">
171
+ <slot
172
+ name="expand-button"
173
+ :expand-status="expandStatus"
174
+ :change-expand-status="changeExpandStatus"
175
+ >
176
+ <template v-if="props.expandButton !== false && showExpandToggle">
328
177
  <component
329
- :is="expandButton"
330
- v-if="expandButton"
178
+ :is="props.expandButton"
179
+ v-if="props.expandButton"
331
180
  :expand-status="expandStatus"
332
181
  @click="changeExpandStatus"
333
182
  />
@@ -352,10 +201,8 @@ const onSearch = () => {
352
201
 
353
202
  <style scoped lang="less">
354
203
  .pro-table_search-form {
355
- :deep {
356
- [class*='-form-item'] {
357
- margin: 0;
358
- }
204
+ :deep([class*='-form-item']) {
205
+ margin: 0;
359
206
  }
360
207
  &_expand-toggle-button {
361
208
  display: flex;
@@ -16,7 +16,7 @@ const { t } = useLocale();
16
16
 
17
17
  const size = defineModel<Size>('size');
18
18
 
19
- size.value = size.value ?? 'default';
19
+ const currentSize = computed(() => size.value ?? 'default');
20
20
 
21
21
  const items = computed<Array<{ label: string; key: NonNullable<Size> }>>(() => [
22
22
  { label: t('table.sizeDefault'), key: 'default' },
@@ -36,7 +36,7 @@ const items = computed<Array<{ label: string; key: NonNullable<Size> }>>(() => [
36
36
  v-for="item in items"
37
37
  :key="item.key"
38
38
  :command="item.key"
39
- :disabled="item.key === size"
39
+ :disabled="item.key === currentSize"
40
40
  >
41
41
  {{ item.label }}
42
42
  </DropdownItem>
@@ -3,8 +3,9 @@
3
3
  setup
4
4
  generic="D extends Record<string, any> = Record<string, any>"
5
5
  >
6
- import { get, toPath } from '../../../shared/core';
6
+ import { get, normalizePathKey } from '../../../shared/core';
7
7
  import { TableColumn } from '../../../shared/ui';
8
+ import { SlotComponent } from '../../form';
8
9
  import type { Column, Columns } from '../types';
9
10
  import { computed } from 'vue';
10
11
 
@@ -13,33 +14,36 @@ defineOptions({ name: 'TableColumnRenderer' });
13
14
  type Props = {
14
15
  columns: Columns<D>;
15
16
  };
16
- const { columns } = defineProps<Props>();
17
+ const props = withDefaults(defineProps<Props>(), {
18
+ columns: () => [],
19
+ });
17
20
 
18
21
  const getColumnKey = (column: Column<D>, index: number) => {
19
- const key = column.key ?? column.prop;
20
- if (key === undefined || key === null) return `__col_${index}`;
21
- return Array.isArray(key) ? key.join('.') : String(key);
22
+ const rawKey = column.key ?? column.prop;
23
+ if (rawKey === undefined || rawKey === null) return `__col_${index}`;
24
+ return normalizePathKey(rawKey);
22
25
  };
23
26
 
24
27
  const getCellValue = (row: Record<string, any>, column: Column<D>) => {
25
28
  const path = column.prop;
26
29
  if (!path) return undefined;
27
- return get(row, toPath(path));
30
+ return get(row, path);
28
31
  };
29
32
 
30
33
  const normalizedColumns = computed(() => {
31
- return columns.filter(column => !column.hidden);
34
+ return props.columns.filter(column => !column.hidden);
32
35
  });
33
36
 
34
37
  const getColumnProps = (column: Column<D>) => {
35
38
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
39
  const { hidden, render, key, children, ...rest } = column;
37
- const prop = column.prop ? String(column.prop) : undefined;
40
+ const prop = column.prop ? normalizePathKey(column.prop) : undefined;
41
+ const columnKey = key ? normalizePathKey(key) : prop;
38
42
  return {
39
43
  ...rest,
40
44
  label: column.label ?? (column as any).title,
41
45
  prop,
42
- columnKey: key ? String(key) : prop,
46
+ columnKey,
43
47
  };
44
48
  };
45
49
  </script>
@@ -63,8 +67,9 @@ const getColumnProps = (column: Column<D>) => {
63
67
  v-bind="getColumnProps(column)"
64
68
  >
65
69
  <template #default="scope">
66
- <component
67
- :is="
70
+ <!-- 经 SlotComponent 渲染:支持组件、VNode 与文本等多种形态 -->
71
+ <SlotComponent
72
+ :component="
68
73
  column.render?.({
69
74
  ...scope,
70
75
  column,
@@ -80,6 +80,7 @@ export type Columns<D extends Data = Data> = Array<Column<D>>;
80
80
  * @example
81
81
  * ```ts
82
82
  * const config: ColumnControlConfig<'name' | 'age'> = {
83
+ * labels: { name: '姓名', age: '年龄' },
83
84
  * excludedKeys: [],
84
85
  * disabledKeys: ['name'],
85
86
  * disableCheckAll: false,
@@ -87,6 +88,8 @@ export type Columns<D extends Data = Data> = Array<Column<D>>;
87
88
  * ```
88
89
  */
89
90
  export type ColumnControlConfig<K extends string | number = string | number> = {
91
+ /** 列在下拉中的自定义显示名称映射(key 为列标识),用于定制展示文案或覆盖非字符串标题 */
92
+ labels?: Partial<Record<K, string>>;
90
93
  /** 不在下拉中出现的列 keys(始终展示,不参与勾选) */
91
94
  excludedKeys?: K[];
92
95
  /** 在下拉中显示但不可取消勾选的列 keys(始终展示,始终勾选) */
@@ -129,17 +129,22 @@ export function useTable<
129
129
  T extends Data = ExtendWithAny<D>,
130
130
  >(params: UseTableParams<D, T> = {}): Table<D, T> {
131
131
  const { data, columns, ...rest } = params;
132
- const coreTable = (coreUseTable as any)({
132
+ const coreTable = coreUseTable<D, T, Column<T>>({
133
133
  ...rest,
134
134
  dataSource: data,
135
- columns,
136
- }) as _Table<D, T, Column<T>>;
135
+ columns: columns as any,
136
+ });
137
137
 
138
- const { dataSource, ...tableWithoutDataSource } = coreTable as any;
139
- const table = {
138
+ const { dataSource, ...tableWithoutDataSource } = coreTable as Omit<
139
+ _Table<D, T, Column<T>>,
140
+ 'dataSource'
141
+ > & {
142
+ dataSource: Ref<T[]>;
143
+ };
144
+ const table: Table<D, T> = {
140
145
  ...tableWithoutDataSource,
141
- data: dataSource as Ref<T[]>,
142
- } as Table<D, T>;
146
+ data: dataSource,
147
+ };
143
148
 
144
149
  return table;
145
150
  }
package/src/index.ts CHANGED
@@ -51,7 +51,7 @@ export * from './locale';
51
51
  * @example
52
52
  * ```vue
53
53
  * <template>
54
- * <ProComponentProvider :component-props="customProps">
54
+ * <ProComponentProvider :componentVars="customVars">
55
55
  * <App />
56
56
  * </ProComponentProvider>
57
57
  * </template>
@@ -4,7 +4,7 @@
4
4
  * @description Extends the core language pack with element-plus specific
5
5
  * date/time picker placeholder texts.
6
6
  */
7
- import { enUS } from '@qin-ui/pro-components-core';
7
+ import { enUS } from '../shared/core';
8
8
 
9
9
  export default {
10
10
  ...enUS,
@@ -12,12 +12,8 @@ import {
12
12
  type InjectionKey,
13
13
  type MaybeRef,
14
14
  } from 'vue';
15
- import { useLocale as useElLocale } from 'element-plus';
16
- import {
17
- format,
18
- resolveLocaleName,
19
- type ProLocaleName,
20
- } from '@qin-ui/pro-components-core';
15
+ import { useLocale as useElLocale, localeContextKey } from 'element-plus';
16
+ import { format, resolveLocaleName, type ProLocaleName } from '../shared/core';
21
17
  import zhCN from './zh-CN';
22
18
  import zhTW from './zh-TW';
23
19
  import enUS from './en-US';
@@ -49,10 +45,14 @@ export const LOCALE_INJECT_KEY: InjectionKey<
49
45
  * ```
50
46
  */
51
47
  export const useLocale = () => {
48
+ const elLocaleContext = inject(localeContextKey, undefined);
52
49
  const { lang: elLang } = useElLocale();
53
50
  const override = inject(LOCALE_INJECT_KEY, undefined);
54
51
 
55
- const lang = computed<ProLocaleName>(() => resolveLocaleName(elLang.value));
52
+ const lang = computed<ProLocaleName>(() => {
53
+ if (!elLocaleContext) return 'zh-CN';
54
+ return resolveLocaleName(elLang.value);
55
+ });
56
56
  const pack = computed<Record<string, string>>(() =>
57
57
  lang.value === 'zh-TW' ? zhTW : lang.value === 'en-US' ? enUS : zhCN
58
58
  );
@@ -4,7 +4,7 @@
4
4
  * @description 在 core 通用语言包基础上,扩展 element-plus 特有的
5
5
  * 日期/时间组件占位符文案。
6
6
  */
7
- import { zhCN } from '@qin-ui/pro-components-core';
7
+ import { zhCN } from '../shared/core';
8
8
 
9
9
  export default {
10
10
  ...zhCN,
@@ -4,7 +4,7 @@
4
4
  * @description 在 core 通用語言包基礎上,擴展 element-plus 特有的
5
5
  * 日期/時間元件佔位符文案。
6
6
  */
7
- import { zhTW } from '@qin-ui/pro-components-core';
7
+ import { zhTW } from '../shared/core';
8
8
 
9
9
  export default {
10
10
  ...zhTW,
@@ -5,7 +5,9 @@
5
5
  export {
6
6
  // hooks
7
7
  useForm,
8
+ createFormProxy,
8
9
  useTable,
10
+ useSearchFormExpand,
9
11
  useFields,
10
12
  useFormData,
11
13
  useFormRef,
@@ -13,14 +15,25 @@ export {
13
15
  InjectionFormKey,
14
16
  InjectionFormSlotsKey,
15
17
  // utils
16
- get,
17
18
  getObject,
19
+ get,
20
+ set,
21
+ normalizePathKey,
18
22
  toPath,
19
23
  camelizeProperties,
20
24
  cloneDeep,
21
- omit,
22
25
  pick,
23
26
  isPlainObject,
27
+ isPromise,
28
+ // locale
29
+ zhCN,
30
+ zhTW,
31
+ enUS,
32
+ format,
33
+ resolveLocaleName,
34
+ type ProLocale,
35
+ type ProLocaleName,
36
+ type ProLocaleKey,
24
37
  // types
25
38
  type Data,
26
39
  type Path,
@@ -79,19 +79,27 @@ export {
79
79
 
80
80
  export type TableProps = _TableProps<any>;
81
81
 
82
- export const tableProps = () => (Table as any).props || {};
83
- export const paginationProps = () => (Pagination as any).props || {};
84
- export const gridItemProps = () => (GridItem as any).props || {};
85
- export const formItemProps = () => (FormItem as any).props || {};
82
+ const _tableProps = (Table as any).props || {};
83
+ const _paginationProps = (Pagination as any).props || {};
84
+ const _gridItemProps = (GridItem as any).props || {};
85
+ const _formItemProps = (FormItem as any).props || {};
86
86
 
87
- const DisabledContextKey = Symbol('pro-form-disabled-context');
87
+ export const tableProps = () => _tableProps;
88
+ export const paginationProps = () => _paginationProps;
89
+ export const gridItemProps = () => _gridItemProps;
90
+ export const formItemProps = () => _formItemProps;
91
+
92
+ const DisabledContextKey = Symbol.for('pro-form-disabled-context');
88
93
 
89
94
  export const useDisabledContext = () => {
90
95
  const formDisabled = useFormDisabled();
91
- return inject(
92
- DisabledContextKey,
93
- computed(() => !!formDisabled.value)
94
- );
96
+ const customDisabled = inject<any>(DisabledContextKey, undefined);
97
+ return computed(() => {
98
+ if (customDisabled !== undefined && toValue(customDisabled) !== undefined) {
99
+ return Boolean(toValue(customDisabled));
100
+ }
101
+ return Boolean(formDisabled.value);
102
+ });
95
103
  };
96
104
 
97
105
  export const useDisabledContextProvider = (
@@ -103,4 +111,7 @@ export const useDisabledContextProvider = (
103
111
  );
104
112
  };
105
113
 
114
+ export const useInjectDisabled = useDisabledContext;
115
+ export const useProviderDisabled = useDisabledContextProvider;
116
+
106
117
  export type NamePath = string | number | (string | number)[];
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/components/index.vue"],"names":[],"mappings":"AAkFA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE,KAAK,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;AAOxD,KAAK,KAAK,GAAG;IACX,4BAA4B;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,0BAA0B;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B,CAAC;AA+BF,iBAAS,cAAc;WAoBT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,sRAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAE9C,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI;IACvC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE;KACzB,GAAG,IAAI,MAAM,qBAAqB,GAAG;QACpC,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;KACrC;CAwJF,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACL,CAAC;AAKhC,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,iBAAiB,GAAG,SAKjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,iBAShD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/component-provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAe,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/component-provider/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,KAAK,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;AAE5E,KAAK,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,OAAO,CAC9C,CAAC,GACC,IAAI,CACF,IAAI,EACF,gBAAgB,GAChB,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,gBAAgB,CACnB,GACD,qBAAqB,CACxB,CAAC;AAEF,KAAK,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,EAAE,CACb,UAAU,GAAG;QACX,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,CAAC,EAAE,OAAO,GAAG;YAAE,WAAW,CAAC,EAAE,OAAO,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACvE,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,CACF,CAAC;IACF,UAAU,EAAE,EAAE,CACZ,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;KAC1C,CACF,CAAC;IACF,eAAe,EAAE,EAAE,CACjB,aAAa,GACX,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAC9D,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAClC,CAAC;IACF,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChE,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACjE,GAAG;KACD,CAAC,IAAI,cAAc,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,CAC7C,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAChD;CACF,GAAG;KACD,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAE,CACzC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACpC;CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/BaseField/index.vue"],"names":[],"mappings":"AA6LA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,KAAK,CAAC;AAab,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;;;qCAiH6D,GAAG;;;;AAsGlE,wBAQG"}
@@ -1,5 +0,0 @@
1
- import { Field } from '../../../types';
2
- type LocaleT = (key: string, params?: Record<string, string | number>) => string;
3
- export declare const getInitProps: (field: Field, t: LocaleT) => Record<string, any>;
4
- export {};
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/components/BaseField/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,KAAK,OAAO,GAAG,CACb,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAAM,CAAC;AA4DZ,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,GAAG,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAUzE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/BaseFormItem/index.vue"],"names":[],"mappings":"AA0LA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOhD,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;AAuOF,wBAMG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/ContainerFragment/index.vue"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AASF,iBAAS,cAAc;WAoCT,OAAO,IAA6B;;yBAZrB,GAAG;yBACH,GAAG;;;;EAgB/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,sRAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/ProForm/index.vue"],"names":[],"mappings":"AAqGA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAEL,SAAS,IAAI,WAAW,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAKL,KAAK,IAAI,EAGV,MAAM,KAAK,CAAC;AAIb,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,IAAI,EAAsB,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;yBAE/B,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAC1C,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WA8HO,mBAAmB,CAAC;eAzHN,IAAI;eAAS,CAAC;0DAyH0D,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;wDAlGgC,CAAC;;;;mBAEjB,OAAO;;iBAGwB,IAAI;8CALnB,CAAC;;;;mBAEjB,OAAO;;iBAGwB,IAAI;;UA+FvD,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAzIzE,wBAyI4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/components/SlotComponent/index.vue"],"names":[],"mappings":"AAmCA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B,CAAC;;AAkDF,wBAMG"}