@element-plus/nightly 0.0.20221116 → 0.0.20221118

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 (268) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +2 -2
  3. package/dist/index.full.min.js +2 -2
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +2 -2
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +2 -2
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +1 -1
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.mjs +1 -1
  35. package/dist/locale/cs.mjs +1 -1
  36. package/dist/locale/da.js +1 -1
  37. package/dist/locale/da.min.js +1 -1
  38. package/dist/locale/da.min.mjs +1 -1
  39. package/dist/locale/da.mjs +1 -1
  40. package/dist/locale/de.js +1 -1
  41. package/dist/locale/de.min.js +1 -1
  42. package/dist/locale/de.min.mjs +1 -1
  43. package/dist/locale/de.mjs +1 -1
  44. package/dist/locale/el.js +1 -1
  45. package/dist/locale/el.min.js +1 -1
  46. package/dist/locale/el.min.mjs +1 -1
  47. package/dist/locale/el.mjs +1 -1
  48. package/dist/locale/en.js +1 -1
  49. package/dist/locale/en.min.js +1 -1
  50. package/dist/locale/en.min.mjs +1 -1
  51. package/dist/locale/en.mjs +1 -1
  52. package/dist/locale/eo.js +1 -1
  53. package/dist/locale/eo.min.js +1 -1
  54. package/dist/locale/eo.min.mjs +1 -1
  55. package/dist/locale/eo.mjs +1 -1
  56. package/dist/locale/es.js +1 -1
  57. package/dist/locale/es.min.js +1 -1
  58. package/dist/locale/es.min.mjs +1 -1
  59. package/dist/locale/es.mjs +1 -1
  60. package/dist/locale/et.js +1 -1
  61. package/dist/locale/et.min.js +1 -1
  62. package/dist/locale/et.min.mjs +1 -1
  63. package/dist/locale/et.mjs +1 -1
  64. package/dist/locale/eu.js +1 -1
  65. package/dist/locale/eu.min.js +1 -1
  66. package/dist/locale/eu.min.mjs +1 -1
  67. package/dist/locale/eu.mjs +1 -1
  68. package/dist/locale/fa.js +1 -1
  69. package/dist/locale/fa.min.js +1 -1
  70. package/dist/locale/fa.min.mjs +1 -1
  71. package/dist/locale/fa.mjs +1 -1
  72. package/dist/locale/fi.js +1 -1
  73. package/dist/locale/fi.min.js +1 -1
  74. package/dist/locale/fi.min.mjs +1 -1
  75. package/dist/locale/fi.mjs +1 -1
  76. package/dist/locale/fr.js +1 -1
  77. package/dist/locale/fr.min.js +1 -1
  78. package/dist/locale/fr.min.mjs +1 -1
  79. package/dist/locale/fr.mjs +1 -1
  80. package/dist/locale/he.js +1 -1
  81. package/dist/locale/he.min.js +1 -1
  82. package/dist/locale/he.min.mjs +1 -1
  83. package/dist/locale/he.mjs +1 -1
  84. package/dist/locale/hr.js +1 -1
  85. package/dist/locale/hr.min.js +1 -1
  86. package/dist/locale/hr.min.mjs +1 -1
  87. package/dist/locale/hr.mjs +1 -1
  88. package/dist/locale/hu.js +1 -1
  89. package/dist/locale/hu.min.js +1 -1
  90. package/dist/locale/hu.min.mjs +1 -1
  91. package/dist/locale/hu.mjs +1 -1
  92. package/dist/locale/hy-am.js +1 -1
  93. package/dist/locale/hy-am.min.js +1 -1
  94. package/dist/locale/hy-am.min.mjs +1 -1
  95. package/dist/locale/hy-am.mjs +1 -1
  96. package/dist/locale/id.js +1 -1
  97. package/dist/locale/id.min.js +1 -1
  98. package/dist/locale/id.min.mjs +1 -1
  99. package/dist/locale/id.mjs +1 -1
  100. package/dist/locale/it.js +1 -1
  101. package/dist/locale/it.min.js +1 -1
  102. package/dist/locale/it.min.mjs +1 -1
  103. package/dist/locale/it.mjs +1 -1
  104. package/dist/locale/ja.js +1 -1
  105. package/dist/locale/ja.min.js +1 -1
  106. package/dist/locale/ja.min.mjs +1 -1
  107. package/dist/locale/ja.mjs +1 -1
  108. package/dist/locale/kk.js +1 -1
  109. package/dist/locale/kk.min.js +1 -1
  110. package/dist/locale/kk.min.mjs +1 -1
  111. package/dist/locale/kk.mjs +1 -1
  112. package/dist/locale/km.js +1 -1
  113. package/dist/locale/km.min.js +1 -1
  114. package/dist/locale/km.min.mjs +1 -1
  115. package/dist/locale/km.mjs +1 -1
  116. package/dist/locale/ko.js +1 -1
  117. package/dist/locale/ko.min.js +1 -1
  118. package/dist/locale/ko.min.mjs +1 -1
  119. package/dist/locale/ko.mjs +1 -1
  120. package/dist/locale/ku.js +1 -1
  121. package/dist/locale/ku.min.js +1 -1
  122. package/dist/locale/ku.min.mjs +1 -1
  123. package/dist/locale/ku.mjs +1 -1
  124. package/dist/locale/ky.js +1 -1
  125. package/dist/locale/ky.min.js +1 -1
  126. package/dist/locale/ky.min.mjs +1 -1
  127. package/dist/locale/ky.mjs +1 -1
  128. package/dist/locale/lt.js +1 -1
  129. package/dist/locale/lt.min.js +1 -1
  130. package/dist/locale/lt.min.mjs +1 -1
  131. package/dist/locale/lt.mjs +1 -1
  132. package/dist/locale/lv.js +1 -1
  133. package/dist/locale/lv.min.js +1 -1
  134. package/dist/locale/lv.min.mjs +1 -1
  135. package/dist/locale/lv.mjs +1 -1
  136. package/dist/locale/mg.js +1 -1
  137. package/dist/locale/mg.min.js +1 -1
  138. package/dist/locale/mg.min.mjs +1 -1
  139. package/dist/locale/mg.mjs +1 -1
  140. package/dist/locale/mn.js +1 -1
  141. package/dist/locale/mn.min.js +1 -1
  142. package/dist/locale/mn.min.mjs +1 -1
  143. package/dist/locale/mn.mjs +1 -1
  144. package/dist/locale/nb-no.js +1 -1
  145. package/dist/locale/nb-no.min.js +1 -1
  146. package/dist/locale/nb-no.min.mjs +1 -1
  147. package/dist/locale/nb-no.mjs +1 -1
  148. package/dist/locale/nl.js +1 -1
  149. package/dist/locale/nl.min.js +1 -1
  150. package/dist/locale/nl.min.mjs +1 -1
  151. package/dist/locale/nl.mjs +1 -1
  152. package/dist/locale/pa.js +1 -1
  153. package/dist/locale/pa.min.js +1 -1
  154. package/dist/locale/pa.min.mjs +1 -1
  155. package/dist/locale/pa.mjs +1 -1
  156. package/dist/locale/pl.js +1 -1
  157. package/dist/locale/pl.min.js +1 -1
  158. package/dist/locale/pl.min.mjs +1 -1
  159. package/dist/locale/pl.mjs +1 -1
  160. package/dist/locale/pt-br.js +1 -1
  161. package/dist/locale/pt-br.min.js +1 -1
  162. package/dist/locale/pt-br.min.mjs +1 -1
  163. package/dist/locale/pt-br.mjs +1 -1
  164. package/dist/locale/pt.js +1 -1
  165. package/dist/locale/pt.min.js +1 -1
  166. package/dist/locale/pt.min.mjs +1 -1
  167. package/dist/locale/pt.mjs +1 -1
  168. package/dist/locale/ro.js +1 -1
  169. package/dist/locale/ro.min.js +1 -1
  170. package/dist/locale/ro.min.mjs +1 -1
  171. package/dist/locale/ro.mjs +1 -1
  172. package/dist/locale/ru.js +1 -1
  173. package/dist/locale/ru.min.js +1 -1
  174. package/dist/locale/ru.min.mjs +1 -1
  175. package/dist/locale/ru.mjs +1 -1
  176. package/dist/locale/sk.js +1 -1
  177. package/dist/locale/sk.min.js +1 -1
  178. package/dist/locale/sk.min.mjs +1 -1
  179. package/dist/locale/sk.mjs +1 -1
  180. package/dist/locale/sl.js +1 -1
  181. package/dist/locale/sl.min.js +1 -1
  182. package/dist/locale/sl.min.mjs +1 -1
  183. package/dist/locale/sl.mjs +1 -1
  184. package/dist/locale/sr.js +1 -1
  185. package/dist/locale/sr.min.js +1 -1
  186. package/dist/locale/sr.min.mjs +1 -1
  187. package/dist/locale/sr.mjs +1 -1
  188. package/dist/locale/sv.js +1 -1
  189. package/dist/locale/sv.min.js +1 -1
  190. package/dist/locale/sv.min.mjs +1 -1
  191. package/dist/locale/sv.mjs +1 -1
  192. package/dist/locale/ta.js +1 -1
  193. package/dist/locale/ta.min.js +1 -1
  194. package/dist/locale/ta.min.mjs +1 -1
  195. package/dist/locale/ta.mjs +1 -1
  196. package/dist/locale/th.js +1 -1
  197. package/dist/locale/th.min.js +1 -1
  198. package/dist/locale/th.min.mjs +1 -1
  199. package/dist/locale/th.mjs +1 -1
  200. package/dist/locale/tk.js +1 -1
  201. package/dist/locale/tk.min.js +1 -1
  202. package/dist/locale/tk.min.mjs +1 -1
  203. package/dist/locale/tk.mjs +1 -1
  204. package/dist/locale/tr.js +1 -1
  205. package/dist/locale/tr.min.js +1 -1
  206. package/dist/locale/tr.min.mjs +1 -1
  207. package/dist/locale/tr.mjs +1 -1
  208. package/dist/locale/ug-cn.js +1 -1
  209. package/dist/locale/ug-cn.min.js +1 -1
  210. package/dist/locale/ug-cn.min.mjs +1 -1
  211. package/dist/locale/ug-cn.mjs +1 -1
  212. package/dist/locale/uk.js +1 -1
  213. package/dist/locale/uk.min.js +1 -1
  214. package/dist/locale/uk.min.mjs +1 -1
  215. package/dist/locale/uk.mjs +1 -1
  216. package/dist/locale/uz-uz.js +1 -1
  217. package/dist/locale/uz-uz.min.js +1 -1
  218. package/dist/locale/uz-uz.min.mjs +1 -1
  219. package/dist/locale/uz-uz.mjs +1 -1
  220. package/dist/locale/vi.js +1 -1
  221. package/dist/locale/vi.min.js +1 -1
  222. package/dist/locale/vi.min.mjs +1 -1
  223. package/dist/locale/vi.mjs +1 -1
  224. package/dist/locale/zh-cn.js +1 -1
  225. package/dist/locale/zh-cn.min.js +1 -1
  226. package/dist/locale/zh-cn.min.mjs +1 -1
  227. package/dist/locale/zh-cn.mjs +1 -1
  228. package/dist/locale/zh-tw.js +1 -1
  229. package/dist/locale/zh-tw.min.js +1 -1
  230. package/dist/locale/zh-tw.min.mjs +1 -1
  231. package/dist/locale/zh-tw.mjs +1 -1
  232. package/es/components/form/index.mjs +2 -2
  233. package/es/components/form/src/form-item.mjs +316 -43
  234. package/es/components/form/src/form-item.mjs.map +1 -1
  235. package/es/components/form/src/form-item2.mjs +43 -316
  236. package/es/components/form/src/form-item2.mjs.map +1 -1
  237. package/es/components/index.mjs +3 -3
  238. package/es/components/popper/index.mjs +2 -2
  239. package/es/components/popper/src/trigger.mjs +120 -31
  240. package/es/components/popper/src/trigger.mjs.map +1 -1
  241. package/es/components/popper/src/trigger2.mjs +31 -120
  242. package/es/components/popper/src/trigger2.mjs.map +1 -1
  243. package/es/components/tooltip/src/trigger.mjs +1 -1
  244. package/es/components/tooltip/src/trigger2.mjs +1 -1
  245. package/es/index.mjs +3 -3
  246. package/es/version.d.ts +1 -1
  247. package/es/version.mjs +1 -1
  248. package/es/version.mjs.map +1 -1
  249. package/lib/components/form/index.js +2 -2
  250. package/lib/components/form/src/form-item.js +320 -44
  251. package/lib/components/form/src/form-item.js.map +1 -1
  252. package/lib/components/form/src/form-item2.js +44 -320
  253. package/lib/components/form/src/form-item2.js.map +1 -1
  254. package/lib/components/index.js +3 -3
  255. package/lib/components/popper/index.js +2 -2
  256. package/lib/components/popper/src/trigger.js +120 -32
  257. package/lib/components/popper/src/trigger.js.map +1 -1
  258. package/lib/components/popper/src/trigger2.js +32 -120
  259. package/lib/components/popper/src/trigger2.js.map +1 -1
  260. package/lib/components/tooltip/src/trigger.js +1 -1
  261. package/lib/components/tooltip/src/trigger2.js +1 -1
  262. package/lib/index.js +3 -3
  263. package/lib/version.d.ts +1 -1
  264. package/lib/version.js +1 -1
  265. package/lib/version.js.map +1 -1
  266. package/package.json +2 -2
  267. package/tags.json +1 -1
  268. package/web-types.json +1 -1
@@ -1,125 +1,36 @@
1
- import { defineComponent, inject, computed, onMounted, watch, onBeforeUnmount, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createCommentVNode } from 'vue';
2
- import { isNil } from 'lodash-unified';
3
- import { unrefElement } from '@vueuse/core';
4
- import '../../slot/index.mjs';
5
- import '../../../hooks/index.mjs';
6
- import '../../../tokens/index.mjs';
7
1
  import '../../../utils/index.mjs';
8
- import { popperTriggerProps } from './trigger.mjs';
9
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
- import { POPPER_INJECTION_KEY } from '../../../tokens/popper.mjs';
11
- import { useForwardRef } from '../../../hooks/use-forward-ref/index.mjs';
12
- import { isElement } from '../../../utils/types.mjs';
13
- import { OnlyChild } from '../../slot/src/only-child.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
14
3
 
15
- const __default__ = defineComponent({
16
- name: "ElPopperTrigger",
17
- inheritAttrs: false
4
+ const popperTriggerProps = buildProps({
5
+ virtualRef: {
6
+ type: definePropType(Object)
7
+ },
8
+ virtualTriggering: Boolean,
9
+ onMouseenter: {
10
+ type: definePropType(Function)
11
+ },
12
+ onMouseleave: {
13
+ type: definePropType(Function)
14
+ },
15
+ onClick: {
16
+ type: definePropType(Function)
17
+ },
18
+ onKeydown: {
19
+ type: definePropType(Function)
20
+ },
21
+ onFocus: {
22
+ type: definePropType(Function)
23
+ },
24
+ onBlur: {
25
+ type: definePropType(Function)
26
+ },
27
+ onContextmenu: {
28
+ type: definePropType(Function)
29
+ },
30
+ id: String,
31
+ open: Boolean
18
32
  });
19
- const _sfc_main = /* @__PURE__ */ defineComponent({
20
- ...__default__,
21
- props: popperTriggerProps,
22
- setup(__props, { expose }) {
23
- const props = __props;
24
- const { role, triggerRef } = inject(POPPER_INJECTION_KEY, void 0);
25
- useForwardRef(triggerRef);
26
- const ariaControls = computed(() => {
27
- return ariaHaspopup.value ? props.id : void 0;
28
- });
29
- const ariaDescribedby = computed(() => {
30
- if (role && role.value === "tooltip") {
31
- return props.open && props.id ? props.id : void 0;
32
- }
33
- return void 0;
34
- });
35
- const ariaHaspopup = computed(() => {
36
- if (role && role.value !== "tooltip") {
37
- return role.value;
38
- }
39
- return void 0;
40
- });
41
- const ariaExpanded = computed(() => {
42
- return ariaHaspopup.value ? `${props.open}` : void 0;
43
- });
44
- let virtualTriggerAriaStopWatch = void 0;
45
- onMounted(() => {
46
- watch(() => props.virtualRef, (virtualEl) => {
47
- if (virtualEl) {
48
- triggerRef.value = unrefElement(virtualEl);
49
- }
50
- }, {
51
- immediate: true
52
- });
53
- watch(triggerRef, (el, prevEl) => {
54
- virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
55
- virtualTriggerAriaStopWatch = void 0;
56
- if (isElement(el)) {
57
- ;
58
- [
59
- "onMouseenter",
60
- "onMouseleave",
61
- "onClick",
62
- "onKeydown",
63
- "onFocus",
64
- "onBlur",
65
- "onContextmenu"
66
- ].forEach((eventName) => {
67
- var _a;
68
- const handler = props[eventName];
69
- if (handler) {
70
- ;
71
- el.addEventListener(eventName.slice(2).toLowerCase(), handler);
72
- (_a = prevEl == null ? void 0 : prevEl.removeEventListener) == null ? void 0 : _a.call(prevEl, eventName.slice(2).toLowerCase(), handler);
73
- }
74
- });
75
- virtualTriggerAriaStopWatch = watch([ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded], (watches) => {
76
- ;
77
- [
78
- "aria-controls",
79
- "aria-describedby",
80
- "aria-haspopup",
81
- "aria-expanded"
82
- ].forEach((key, idx) => {
83
- isNil(watches[idx]) ? el.removeAttribute(key) : el.setAttribute(key, watches[idx]);
84
- });
85
- }, { immediate: true });
86
- }
87
- if (isElement(prevEl)) {
88
- ;
89
- [
90
- "aria-controls",
91
- "aria-describedby",
92
- "aria-haspopup",
93
- "aria-expanded"
94
- ].forEach((key) => prevEl.removeAttribute(key));
95
- }
96
- }, {
97
- immediate: true
98
- });
99
- });
100
- onBeforeUnmount(() => {
101
- virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
102
- virtualTriggerAriaStopWatch = void 0;
103
- });
104
- expose({
105
- triggerRef
106
- });
107
- return (_ctx, _cache) => {
108
- return !_ctx.virtualTriggering ? (openBlock(), createBlock(unref(OnlyChild), mergeProps({ key: 0 }, _ctx.$attrs, {
109
- "aria-controls": unref(ariaControls),
110
- "aria-describedby": unref(ariaDescribedby),
111
- "aria-expanded": unref(ariaExpanded),
112
- "aria-haspopup": unref(ariaHaspopup)
113
- }), {
114
- default: withCtx(() => [
115
- renderSlot(_ctx.$slots, "default")
116
- ]),
117
- _: 3
118
- }, 16, ["aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup"])) : createCommentVNode("v-if", true);
119
- };
120
- }
121
- });
122
- var ElPopperTrigger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]);
33
+ const usePopperTriggerProps = popperTriggerProps;
123
34
 
124
- export { ElPopperTrigger as default };
35
+ export { popperTriggerProps, usePopperTriggerProps };
125
36
  //# sourceMappingURL=trigger2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["<template>\n <el-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-controls=\"ariaControls\"\n :aria-describedby=\"ariaDescribedby\"\n :aria-expanded=\"ariaExpanded\"\n :aria-haspopup=\"ariaHaspopup\"\n >\n <slot />\n </el-only-child>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { unrefElement } from '@vueuse/core'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useForwardRef } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY } from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { popperTriggerProps } from './trigger'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n name: 'ElPopperTrigger',\n inheritAttrs: false,\n})\n\nconst props = defineProps(popperTriggerProps)\n\nconst { role, triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!\n\nuseForwardRef(triggerRef)\n\nconst ariaControls = computed<string | undefined>(() => {\n return ariaHaspopup.value ? props.id : undefined\n})\n\nconst ariaDescribedby = computed<string | undefined>(() => {\n if (role && role.value === 'tooltip') {\n return props.open && props.id ? props.id : undefined\n }\n return undefined\n})\n\nconst ariaHaspopup = computed<string | undefined>(() => {\n if (role && role.value !== 'tooltip') {\n return role.value\n }\n return undefined\n})\n\nconst ariaExpanded = computed<string | undefined>(() => {\n return ariaHaspopup.value ? `${props.open}` : undefined\n})\n\nlet virtualTriggerAriaStopWatch: WatchStopHandle | undefined = undefined\n\nonMounted(() => {\n watch(\n () => props.virtualRef,\n (virtualEl) => {\n if (virtualEl) {\n triggerRef.value = unrefElement(virtualEl as HTMLElement)\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n triggerRef,\n (el, prevEl) => {\n virtualTriggerAriaStopWatch?.()\n virtualTriggerAriaStopWatch = undefined\n if (isElement(el)) {\n ;(\n [\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu',\n ] as const\n ).forEach((eventName) => {\n const handler = props[eventName]\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener?.(\n eventName.slice(2).toLowerCase(),\n handler\n )\n }\n })\n virtualTriggerAriaStopWatch = watch(\n [ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded],\n (watches) => {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded',\n ].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx]!)\n })\n },\n { immediate: true }\n )\n }\n if (isElement(prevEl)) {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded',\n ].forEach((key) => prevEl.removeAttribute(key))\n }\n },\n {\n immediate: true,\n }\n )\n})\n\nonBeforeUnmount(() => {\n virtualTriggerAriaStopWatch?.()\n virtualTriggerAriaStopWatch = undefined\n})\n\ndefineExpose({\n /**\n * @description trigger element\n */\n triggerRef,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/popper/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { Measurable } from '@element-plus/tokens'\nimport type Trigger from './trigger.vue'\n\nexport const popperTriggerProps = buildProps({\n virtualRef: {\n type: definePropType<Measurable>(Object),\n },\n virtualTriggering: Boolean,\n onMouseenter: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onMouseleave: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onClick: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onKeydown: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onFocus: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onBlur: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onContextmenu: {\n type: definePropType<(e: Event) => void>(Function),\n },\n id: String,\n open: Boolean,\n} as const)\n\nexport type PopperTriggerProps = typeof popperTriggerProps\n\nexport type PopperTriggerInstance = InstanceType<typeof Trigger>\n\n/** @deprecated use `popperTriggerProps` instead, and it will be deprecated in the next major version */\nexport const usePopperTriggerProps = popperTriggerProps\n\n/** @deprecated use `PopperTriggerInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowTrigger = PopperTriggerInstance\n"],"names":[],"mappings":";;;AACY,MAAC,kBAAkB,GAAG,UAAU,CAAC;AAC7C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,iBAAiB,EAAE,OAAO;AAC5B,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,CAAC,EAAE;AACS,MAAC,qBAAqB,GAAG;;;;"}
@@ -2,7 +2,7 @@ import '../../../utils/index.mjs';
2
2
  import '../../popper/index.mjs';
3
3
  import '../../../constants/index.mjs';
4
4
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
5
- import { popperTriggerProps } from '../../popper/src/trigger.mjs';
5
+ import { popperTriggerProps } from '../../popper/src/trigger2.mjs';
6
6
  import { EVENT_CODE } from '../../../constants/aria.mjs';
7
7
 
8
8
  const useTooltipTriggerProps = buildProps({
@@ -9,7 +9,7 @@ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
10
  import { TOOLTIP_INJECTION_KEY } from '../../../tokens/tooltip.mjs';
11
11
  import { composeEventHandlers } from '../../../utils/dom/event.mjs';
12
- import ElPopperTrigger from '../../popper/src/trigger2.mjs';
12
+ import ElPopperTrigger from '../../popper/src/trigger.mjs';
13
13
 
14
14
  const __default__ = defineComponent({
15
15
  name: "ElTooltipTrigger"
package/es/index.mjs CHANGED
@@ -67,7 +67,7 @@ export { ElDropdown, ElDropdownItem, ElDropdownMenu } from './components/dropdow
67
67
  export { emptyProps } from './components/empty/src/empty.mjs';
68
68
  export { ElEmpty } from './components/empty/index.mjs';
69
69
  export { formEmits, formProps } from './components/form/src/form.mjs';
70
- export { formItemProps, formItemValidateStates } from './components/form/src/form-item.mjs';
70
+ export { formItemProps, formItemValidateStates } from './components/form/src/form-item2.mjs';
71
71
  export { ElForm, ElFormItem } from './components/form/index.mjs';
72
72
  export { iconProps } from './components/icon/src/icon.mjs';
73
73
  export { ElIcon } from './components/icon/index.mjs';
@@ -95,11 +95,11 @@ export { ElPagination } from './components/pagination/index.mjs';
95
95
  export { popconfirmProps } from './components/popconfirm/src/popconfirm.mjs';
96
96
  export { ElPopconfirm } from './components/popconfirm/index.mjs';
97
97
  export { Effect, popperProps, roleTypes, usePopperProps } from './components/popper/src/popper.mjs';
98
- export { popperTriggerProps, usePopperTriggerProps } from './components/popper/src/trigger.mjs';
98
+ export { popperTriggerProps, usePopperTriggerProps } from './components/popper/src/trigger2.mjs';
99
99
  export { popperContentEmits, popperContentProps, popperCoreConfigProps, usePopperContentEmits, usePopperContentProps, usePopperCoreConfigProps } from './components/popper/src/content.mjs';
100
100
  export { popperArrowProps, usePopperArrowProps } from './components/popper/src/arrow.mjs';
101
101
  export { default as ElPopperArrow } from './components/popper/src/arrow2.mjs';
102
- export { default as ElPopperTrigger } from './components/popper/src/trigger2.mjs';
102
+ export { default as ElPopperTrigger } from './components/popper/src/trigger.mjs';
103
103
  export { default as ElPopperContent } from './components/popper/src/content2.mjs';
104
104
  export { ElPopper } from './components/popper/index.mjs';
105
105
  export { progressProps } from './components/progress/src/progress.mjs';
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20221116";
1
+ export declare const version = "0.0.20221118";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20221116";
1
+ const version = "0.0.20221118";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20221116'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20221118'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
6
  var form$1 = require('./src/form2.js');
7
- var formItem$1 = require('./src/form-item2.js');
7
+ var formItem$1 = require('./src/form-item.js');
8
8
  var form = require('./src/form.js');
9
- var formItem = require('./src/form-item.js');
9
+ var formItem = require('./src/form-item2.js');
10
10
  require('./src/types.js');
11
11
  var install = require('../../utils/vue/install.js');
12
12
 
@@ -2,53 +2,329 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../constants/index.js');
5
+ var vue = require('vue');
6
+ var AsyncValidator = require('async-validator');
7
+ var lodashUnified = require('lodash-unified');
8
+ var core = require('@vueuse/core');
6
9
  require('../../../utils/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var size = require('../../../constants/size.js');
10
+ require('../../../tokens/index.js');
11
+ require('../../../hooks/index.js');
12
+ var formItem = require('./form-item2.js');
13
+ var formLabelWrap = require('./form-label-wrap.js');
14
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
15
+ var form = require('../../../tokens/form.js');
16
+ var index = require('../../../hooks/use-common-props/index.js');
17
+ var index$1 = require('../../../hooks/use-namespace/index.js');
18
+ var index$2 = require('../../../hooks/use-id/index.js');
19
+ var style = require('../../../utils/dom/style.js');
20
+ var shared = require('@vue/shared');
21
+ var objects = require('../../../utils/objects.js');
9
22
 
10
- const formItemValidateStates = [
11
- "",
12
- "error",
13
- "validating",
14
- "success"
15
- ];
16
- const formItemProps = runtime.buildProps({
17
- label: String,
18
- labelWidth: {
19
- type: [String, Number],
20
- default: ""
21
- },
22
- prop: {
23
- type: runtime.definePropType([String, Array])
24
- },
25
- required: {
26
- type: Boolean,
27
- default: void 0
28
- },
29
- rules: {
30
- type: runtime.definePropType([Object, Array])
31
- },
32
- error: String,
33
- validateStatus: {
34
- type: String,
35
- values: formItemValidateStates
36
- },
37
- for: String,
38
- inlineMessage: {
39
- type: [String, Boolean],
40
- default: ""
41
- },
42
- showMessage: {
43
- type: Boolean,
44
- default: true
45
- },
46
- size: {
47
- type: String,
48
- values: size.componentSizes
23
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
+
25
+ var AsyncValidator__default = /*#__PURE__*/_interopDefaultLegacy(AsyncValidator);
26
+
27
+ const _hoisted_1 = ["role", "aria-labelledby"];
28
+ const __default__ = vue.defineComponent({
29
+ name: "ElFormItem"
30
+ });
31
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
32
+ ...__default__,
33
+ props: formItem.formItemProps,
34
+ setup(__props, { expose }) {
35
+ const props = __props;
36
+ const slots = vue.useSlots();
37
+ const formContext = vue.inject(form.formContextKey, void 0);
38
+ const parentFormItemContext = vue.inject(form.formItemContextKey, void 0);
39
+ const _size = index.useSize(void 0, { formItem: false });
40
+ const ns = index$1.useNamespace("form-item");
41
+ const labelId = index$2.useId().value;
42
+ const inputIds = vue.ref([]);
43
+ const validateState = vue.ref("");
44
+ const validateStateDebounced = core.refDebounced(validateState, 100);
45
+ const validateMessage = vue.ref("");
46
+ const formItemRef = vue.ref();
47
+ let initialValue = void 0;
48
+ let isResettingField = false;
49
+ const labelStyle = vue.computed(() => {
50
+ if ((formContext == null ? void 0 : formContext.labelPosition) === "top") {
51
+ return {};
52
+ }
53
+ const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
54
+ if (labelWidth)
55
+ return { width: labelWidth };
56
+ return {};
57
+ });
58
+ const contentStyle = vue.computed(() => {
59
+ if ((formContext == null ? void 0 : formContext.labelPosition) === "top" || (formContext == null ? void 0 : formContext.inline)) {
60
+ return {};
61
+ }
62
+ if (!props.label && !props.labelWidth && isNested) {
63
+ return {};
64
+ }
65
+ const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
66
+ if (!props.label && !slots.label) {
67
+ return { marginLeft: labelWidth };
68
+ }
69
+ return {};
70
+ });
71
+ const formItemClasses = vue.computed(() => [
72
+ ns.b(),
73
+ ns.m(_size.value),
74
+ ns.is("error", validateState.value === "error"),
75
+ ns.is("validating", validateState.value === "validating"),
76
+ ns.is("success", validateState.value === "success"),
77
+ ns.is("required", isRequired.value || props.required),
78
+ ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
79
+ (formContext == null ? void 0 : formContext.requireAsteriskPosition) === "right" ? "asterisk-right" : "asterisk-left",
80
+ { [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon }
81
+ ]);
82
+ const _inlineMessage = vue.computed(() => core.isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
83
+ const validateClasses = vue.computed(() => [
84
+ ns.e("error"),
85
+ { [ns.em("error", "inline")]: _inlineMessage.value }
86
+ ]);
87
+ const propString = vue.computed(() => {
88
+ if (!props.prop)
89
+ return "";
90
+ return shared.isString(props.prop) ? props.prop : props.prop.join(".");
91
+ });
92
+ const hasLabel = vue.computed(() => {
93
+ return !!(props.label || slots.label);
94
+ });
95
+ const labelFor = vue.computed(() => {
96
+ return props.for || inputIds.value.length === 1 ? inputIds.value[0] : void 0;
97
+ });
98
+ const isGroup = vue.computed(() => {
99
+ return !labelFor.value && hasLabel.value;
100
+ });
101
+ const isNested = !!parentFormItemContext;
102
+ const fieldValue = vue.computed(() => {
103
+ const model = formContext == null ? void 0 : formContext.model;
104
+ if (!model || !props.prop) {
105
+ return;
106
+ }
107
+ return objects.getProp(model, props.prop).value;
108
+ });
109
+ const normalizedRules = vue.computed(() => {
110
+ const { required } = props;
111
+ const rules = [];
112
+ if (props.rules) {
113
+ rules.push(...lodashUnified.castArray(props.rules));
114
+ }
115
+ const formRules = formContext == null ? void 0 : formContext.rules;
116
+ if (formRules && props.prop) {
117
+ const _rules = objects.getProp(formRules, props.prop).value;
118
+ if (_rules) {
119
+ rules.push(...lodashUnified.castArray(_rules));
120
+ }
121
+ }
122
+ if (required !== void 0) {
123
+ const requiredRules = rules.map((rule, i) => [rule, i]).filter(([rule]) => Object.keys(rule).includes("required"));
124
+ if (requiredRules.length > 0) {
125
+ for (const [rule, i] of requiredRules) {
126
+ if (rule.required === required)
127
+ continue;
128
+ rules[i] = { ...rule, required };
129
+ }
130
+ } else {
131
+ rules.push({ required });
132
+ }
133
+ }
134
+ return rules;
135
+ });
136
+ const validateEnabled = vue.computed(() => normalizedRules.value.length > 0);
137
+ const getFilteredRule = (trigger) => {
138
+ const rules = normalizedRules.value;
139
+ return rules.filter((rule) => {
140
+ if (!rule.trigger || !trigger)
141
+ return true;
142
+ if (Array.isArray(rule.trigger)) {
143
+ return rule.trigger.includes(trigger);
144
+ } else {
145
+ return rule.trigger === trigger;
146
+ }
147
+ }).map(({ trigger: trigger2, ...rule }) => rule);
148
+ };
149
+ const isRequired = vue.computed(() => normalizedRules.value.some((rule) => rule.required));
150
+ const shouldShowError = vue.computed(() => {
151
+ var _a;
152
+ return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
153
+ });
154
+ const currentLabel = vue.computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
155
+ const setValidationState = (state) => {
156
+ validateState.value = state;
157
+ };
158
+ const onValidationFailed = (error) => {
159
+ var _a, _b;
160
+ const { errors, fields } = error;
161
+ if (!errors || !fields) {
162
+ console.error(error);
163
+ }
164
+ setValidationState("error");
165
+ validateMessage.value = errors ? (_b = (_a = errors == null ? void 0 : errors[0]) == null ? void 0 : _a.message) != null ? _b : `${props.prop} is required` : "";
166
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, false, validateMessage.value);
167
+ };
168
+ const onValidationSucceeded = () => {
169
+ setValidationState("success");
170
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, true, "");
171
+ };
172
+ const doValidate = async (rules) => {
173
+ const modelName = propString.value;
174
+ const validator = new AsyncValidator__default["default"]({
175
+ [modelName]: rules
176
+ });
177
+ return validator.validate({ [modelName]: fieldValue.value }, { firstFields: true }).then(() => {
178
+ onValidationSucceeded();
179
+ return true;
180
+ }).catch((err) => {
181
+ onValidationFailed(err);
182
+ return Promise.reject(err);
183
+ });
184
+ };
185
+ const validate = async (trigger, callback) => {
186
+ if (isResettingField || !props.prop) {
187
+ return false;
188
+ }
189
+ const hasCallback = shared.isFunction(callback);
190
+ if (!validateEnabled.value) {
191
+ callback == null ? void 0 : callback(false);
192
+ return false;
193
+ }
194
+ const rules = getFilteredRule(trigger);
195
+ if (rules.length === 0) {
196
+ callback == null ? void 0 : callback(true);
197
+ return true;
198
+ }
199
+ setValidationState("validating");
200
+ return doValidate(rules).then(() => {
201
+ callback == null ? void 0 : callback(true);
202
+ return true;
203
+ }).catch((err) => {
204
+ const { fields } = err;
205
+ callback == null ? void 0 : callback(false, fields);
206
+ return hasCallback ? false : Promise.reject(fields);
207
+ });
208
+ };
209
+ const clearValidate = () => {
210
+ setValidationState("");
211
+ validateMessage.value = "";
212
+ isResettingField = false;
213
+ };
214
+ const resetField = async () => {
215
+ const model = formContext == null ? void 0 : formContext.model;
216
+ if (!model || !props.prop)
217
+ return;
218
+ const computedValue = objects.getProp(model, props.prop);
219
+ isResettingField = true;
220
+ computedValue.value = lodashUnified.clone(initialValue);
221
+ await vue.nextTick();
222
+ clearValidate();
223
+ isResettingField = false;
224
+ };
225
+ const addInputId = (id) => {
226
+ if (!inputIds.value.includes(id)) {
227
+ inputIds.value.push(id);
228
+ }
229
+ };
230
+ const removeInputId = (id) => {
231
+ inputIds.value = inputIds.value.filter((listId) => listId !== id);
232
+ };
233
+ vue.watch(() => props.error, (val) => {
234
+ validateMessage.value = val || "";
235
+ setValidationState(val ? "error" : "");
236
+ }, { immediate: true });
237
+ vue.watch(() => props.validateStatus, (val) => setValidationState(val || ""));
238
+ const context = vue.reactive({
239
+ ...vue.toRefs(props),
240
+ $el: formItemRef,
241
+ size: _size,
242
+ validateState,
243
+ labelId,
244
+ inputIds,
245
+ isGroup,
246
+ hasLabel,
247
+ addInputId,
248
+ removeInputId,
249
+ resetField,
250
+ clearValidate,
251
+ validate
252
+ });
253
+ vue.provide(form.formItemContextKey, context);
254
+ vue.onMounted(() => {
255
+ if (props.prop) {
256
+ formContext == null ? void 0 : formContext.addField(context);
257
+ initialValue = lodashUnified.clone(fieldValue.value);
258
+ }
259
+ });
260
+ vue.onBeforeUnmount(() => {
261
+ formContext == null ? void 0 : formContext.removeField(context);
262
+ });
263
+ expose({
264
+ size: _size,
265
+ validateMessage,
266
+ validateState,
267
+ validate,
268
+ clearValidate,
269
+ resetField
270
+ });
271
+ return (_ctx, _cache) => {
272
+ var _a;
273
+ return vue.openBlock(), vue.createElementBlock("div", {
274
+ ref_key: "formItemRef",
275
+ ref: formItemRef,
276
+ class: vue.normalizeClass(vue.unref(formItemClasses)),
277
+ role: vue.unref(isGroup) ? "group" : void 0,
278
+ "aria-labelledby": vue.unref(isGroup) ? vue.unref(labelId) : void 0
279
+ }, [
280
+ vue.createVNode(vue.unref(formLabelWrap["default"]), {
281
+ "is-auto-width": vue.unref(labelStyle).width === "auto",
282
+ "update-all": ((_a = vue.unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
283
+ }, {
284
+ default: vue.withCtx(() => [
285
+ vue.unref(hasLabel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(labelFor) ? "label" : "div"), {
286
+ key: 0,
287
+ id: vue.unref(labelId),
288
+ for: vue.unref(labelFor),
289
+ class: vue.normalizeClass(vue.unref(ns).e("label")),
290
+ style: vue.normalizeStyle(vue.unref(labelStyle))
291
+ }, {
292
+ default: vue.withCtx(() => [
293
+ vue.renderSlot(_ctx.$slots, "label", { label: vue.unref(currentLabel) }, () => [
294
+ vue.createTextVNode(vue.toDisplayString(vue.unref(currentLabel)), 1)
295
+ ])
296
+ ]),
297
+ _: 3
298
+ }, 8, ["id", "for", "class", "style"])) : vue.createCommentVNode("v-if", true)
299
+ ]),
300
+ _: 3
301
+ }, 8, ["is-auto-width", "update-all"]),
302
+ vue.createElementVNode("div", {
303
+ class: vue.normalizeClass(vue.unref(ns).e("content")),
304
+ style: vue.normalizeStyle(vue.unref(contentStyle))
305
+ }, [
306
+ vue.renderSlot(_ctx.$slots, "default"),
307
+ vue.createVNode(vue.Transition, {
308
+ name: `${vue.unref(ns).namespace.value}-zoom-in-top`
309
+ }, {
310
+ default: vue.withCtx(() => [
311
+ vue.unref(shouldShowError) ? vue.renderSlot(_ctx.$slots, "error", {
312
+ key: 0,
313
+ error: validateMessage.value
314
+ }, () => [
315
+ vue.createElementVNode("div", {
316
+ class: vue.normalizeClass(vue.unref(validateClasses))
317
+ }, vue.toDisplayString(validateMessage.value), 3)
318
+ ]) : vue.createCommentVNode("v-if", true)
319
+ ]),
320
+ _: 3
321
+ }, 8, ["name"])
322
+ ], 6)
323
+ ], 10, _hoisted_1);
324
+ };
49
325
  }
50
326
  });
327
+ var FormItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/form/src/form-item.vue"]]);
51
328
 
52
- exports.formItemProps = formItemProps;
53
- exports.formItemValidateStates = formItemValidateStates;
329
+ exports["default"] = FormItem;
54
330
  //# sourceMappingURL=form-item.js.map