@silver-formily/element-plus 2.3.0 → 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 (169) hide show
  1. package/LICENSE +21 -21
  2. package/README.en-US.md +32 -32
  3. package/README.md +32 -32
  4. package/esm/__builtins__/configs/index.mjs.map +1 -1
  5. package/esm/__builtins__/index.mjs +12 -11
  6. package/esm/__builtins__/shared/index.mjs +11 -10
  7. package/esm/__builtins__/shared/loading.mjs.map +1 -1
  8. package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
  9. package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
  10. package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
  11. package/esm/__builtins__/shared/utils.d.ts +1 -0
  12. package/esm/__builtins__/shared/utils.mjs +23 -17
  13. package/esm/__builtins__/shared/utils.mjs.map +1 -1
  14. package/esm/array-base/index.mjs +56 -52
  15. package/esm/array-base/index.mjs.map +1 -1
  16. package/esm/array-base/symbols.mjs.map +1 -1
  17. package/esm/array-base/utils.d.ts +0 -1
  18. package/esm/array-base/utils.mjs +45 -46
  19. package/esm/array-base/utils.mjs.map +1 -1
  20. package/esm/array-cards/index.mjs +36 -33
  21. package/esm/array-cards/index.mjs.map +1 -1
  22. package/esm/array-collapse/index.mjs +39 -37
  23. package/esm/array-collapse/index.mjs.map +1 -1
  24. package/esm/array-collapse/utils.mjs +9 -2
  25. package/esm/array-collapse/utils.mjs.map +1 -1
  26. package/esm/array-items/index.mjs +38 -34
  27. package/esm/array-items/index.mjs.map +1 -1
  28. package/esm/array-list-tabs/index.mjs +38 -36
  29. package/esm/array-list-tabs/index.mjs.map +1 -1
  30. package/esm/array-list-tabs/utils.mjs +12 -5
  31. package/esm/array-list-tabs/utils.mjs.map +1 -1
  32. package/esm/array-table/index.mjs +63 -60
  33. package/esm/array-table/index.mjs.map +1 -1
  34. package/esm/array-table/utils.mjs +18 -11
  35. package/esm/array-table/utils.mjs.map +1 -1
  36. package/esm/array-tabs/index.mjs +28 -25
  37. package/esm/array-tabs/index.mjs.map +1 -1
  38. package/esm/autocomplete/index.mjs +24 -18
  39. package/esm/autocomplete/index.mjs.map +1 -1
  40. package/esm/cascader/index.mjs +22 -18
  41. package/esm/cascader/index.mjs.map +1 -1
  42. package/esm/checkbox/index.mjs +20 -16
  43. package/esm/checkbox/index.mjs.map +1 -1
  44. package/esm/color-picker/index.mjs +9 -6
  45. package/esm/color-picker/index.mjs.map +1 -1
  46. package/esm/color-picker-panel/index.mjs +9 -6
  47. package/esm/color-picker-panel/index.mjs.map +1 -1
  48. package/esm/date-picker/index.mjs +14 -11
  49. package/esm/date-picker/index.mjs.map +1 -1
  50. package/esm/date-picker/utils.mjs.map +1 -1
  51. package/esm/date-picker-panel/index.mjs +14 -11
  52. package/esm/date-picker-panel/index.mjs.map +1 -1
  53. package/esm/editable/editable.d.ts +2 -0
  54. package/esm/editable/index.d.ts +1 -0
  55. package/esm/editable/index.mjs +71 -66
  56. package/esm/editable/index.mjs.map +1 -1
  57. package/esm/form/form.mjs +6 -6
  58. package/esm/form/form.mjs.map +1 -1
  59. package/esm/form-button-group/form-button-group.d.ts +9 -0
  60. package/esm/form-button-group/index.d.ts +15 -0
  61. package/esm/form-button-group/index.mjs +47 -28
  62. package/esm/form-button-group/index.mjs.map +1 -1
  63. package/esm/form-button-group/utils.mjs +9 -2
  64. package/esm/form-button-group/utils.mjs.map +1 -1
  65. package/esm/form-collapse/index.mjs +21 -18
  66. package/esm/form-collapse/index.mjs.map +1 -1
  67. package/esm/form-collapse/utils.mjs.map +1 -1
  68. package/esm/form-dialog/index.mjs +22 -22
  69. package/esm/form-dialog/index.mjs.map +1 -1
  70. package/esm/form-drawer/index.mjs +21 -21
  71. package/esm/form-drawer/index.mjs.map +1 -1
  72. package/esm/form-grid/hooks.mjs.map +1 -1
  73. package/esm/form-grid/index.mjs +26 -22
  74. package/esm/form-grid/index.mjs.map +1 -1
  75. package/esm/form-item/index.d.ts +1 -0
  76. package/esm/form-item/index.mjs +102 -99
  77. package/esm/form-item/index.mjs.map +1 -1
  78. package/esm/form-item/types.d.ts +4 -0
  79. package/esm/form-item/utils.mjs.map +1 -1
  80. package/esm/form-layout/form-layout.mjs +14 -10
  81. package/esm/form-layout/form-layout.mjs.map +1 -1
  82. package/esm/form-layout/utils.mjs +23 -23
  83. package/esm/form-layout/utils.mjs.map +1 -1
  84. package/esm/form-step/index.mjs +30 -27
  85. package/esm/form-step/index.mjs.map +1 -1
  86. package/esm/form-step/utils.mjs.map +1 -1
  87. package/esm/form-tab/hooks.mjs.map +1 -1
  88. package/esm/form-tab/index.mjs +24 -22
  89. package/esm/form-tab/index.mjs.map +1 -1
  90. package/esm/form-tab/utils.mjs.map +1 -1
  91. package/esm/index.d.ts +2 -0
  92. package/esm/index.mjs +82 -78
  93. package/esm/index.mjs.map +1 -1
  94. package/esm/input/index.mjs +30 -26
  95. package/esm/input/index.mjs.map +1 -1
  96. package/esm/input-number/index.mjs +11 -8
  97. package/esm/input-number/index.mjs.map +1 -1
  98. package/esm/input-tag/index.mjs +20 -16
  99. package/esm/input-tag/index.mjs.map +1 -1
  100. package/esm/mention/index.mjs +24 -20
  101. package/esm/mention/index.mjs.map +1 -1
  102. package/esm/pagination/components/jumper.mjs.map +1 -1
  103. package/esm/pagination/components/next.mjs.map +1 -1
  104. package/esm/pagination/components/pager.mjs.map +1 -1
  105. package/esm/pagination/components/prev.mjs.map +1 -1
  106. package/esm/pagination/components/total.mjs.map +1 -1
  107. package/esm/pagination/pagination.mjs.map +1 -1
  108. package/esm/password/index.mjs.map +1 -1
  109. package/esm/preview-text/index.mjs +57 -53
  110. package/esm/preview-text/index.mjs.map +1 -1
  111. package/esm/preview-text/utils.mjs.map +1 -1
  112. package/esm/query-form/default-components.d.ts +5 -0
  113. package/esm/query-form/default-components.mjs +47 -0
  114. package/esm/query-form/default-components.mjs.map +1 -0
  115. package/esm/query-form/hooks.d.ts +25 -0
  116. package/esm/query-form/hooks.mjs +29 -0
  117. package/esm/query-form/hooks.mjs.map +1 -0
  118. package/esm/query-form/index.d.ts +117 -0
  119. package/esm/query-form/index.mjs +337 -0
  120. package/esm/query-form/index.mjs.map +1 -0
  121. package/esm/query-form/query-form-light.d.ts +27 -0
  122. package/esm/query-form/query-form.d.ts +52 -0
  123. package/esm/query-form/types.d.ts +44 -0
  124. package/esm/query-form/types.mjs +2 -0
  125. package/esm/query-form/types.mjs.map +1 -0
  126. package/esm/query-form-item/index.d.ts +151 -0
  127. package/esm/query-form-item/index.mjs +188 -0
  128. package/esm/query-form-item/index.mjs.map +1 -0
  129. package/esm/query-form-item/query-form-item.d.ts +96 -0
  130. package/esm/query-form-item/types.d.ts +46 -0
  131. package/esm/query-form-item/types.mjs +2 -0
  132. package/esm/query-form-item/types.mjs.map +1 -0
  133. package/esm/radio/index.mjs +29 -25
  134. package/esm/radio/index.mjs.map +1 -1
  135. package/esm/rate/index.mjs +13 -10
  136. package/esm/rate/index.mjs.map +1 -1
  137. package/esm/reset/index.mjs.map +1 -1
  138. package/esm/segmented/index.mjs +16 -12
  139. package/esm/segmented/index.mjs.map +1 -1
  140. package/esm/select/index.mjs +26 -22
  141. package/esm/select/index.mjs.map +1 -1
  142. package/esm/select-table/index.mjs +36 -33
  143. package/esm/select-table/index.mjs.map +1 -1
  144. package/esm/shared/overlay-elements.mjs +14 -11
  145. package/esm/shared/overlay-elements.mjs.map +1 -1
  146. package/esm/slider/index.mjs +13 -10
  147. package/esm/slider/index.mjs.map +1 -1
  148. package/esm/styles/form-button-group/index.css +1 -1
  149. package/esm/styles/form-item/index.css +1 -1
  150. package/esm/styles/query-form/index.css +1 -0
  151. package/esm/styles/query-form-item/index.css +1 -0
  152. package/esm/submit/index.mjs.map +1 -1
  153. package/esm/switch/index.mjs.map +1 -1
  154. package/esm/time-picker/index.mjs +9 -6
  155. package/esm/time-picker/index.mjs.map +1 -1
  156. package/esm/time-select/index.mjs +9 -6
  157. package/esm/time-select/index.mjs.map +1 -1
  158. package/esm/transfer/index.mjs.map +1 -1
  159. package/esm/tree/index.mjs +33 -29
  160. package/esm/tree/index.mjs.map +1 -1
  161. package/esm/tree/utils.mjs.map +1 -1
  162. package/esm/tree-select/index.mjs +18 -14
  163. package/esm/tree-select/index.mjs.map +1 -1
  164. package/esm/upload/index.mjs +10 -7
  165. package/esm/upload/index.mjs.map +1 -1
  166. package/esm/vendor/lodash.mjs +751 -663
  167. package/esm/vendor/lodash.mjs.map +1 -1
  168. package/esm/vendor/sizes.mjs.map +1 -1
  169. package/package.json +115 -115
@@ -1,30 +1,33 @@
1
- import { isVoidField as de } from "@formily/core";
2
- import { useField as ce, connect as fe, mapProps as ve } from "@silver-formily/vue";
3
- import { defineComponent as pe, useSlots as me, computed as i, ref as b, reactive as be, watch as ye, provide as D, createElementBlock as n, openBlock as a, unref as l, normalizeClass as u, createBlock as f, createCommentVNode as c, createElementVNode as h, resolveDynamicComponent as g, normalizeStyle as W, withCtx as m, isVNode as x, createVNode as _, toDisplayString as y, Fragment as C, createTextVNode as R, renderSlot as G, TransitionGroup as ke } from "vue";
4
- import { InfoFilled as ge, CircleClose as Se, CircleCheck as he, Warning as xe } from "@element-plus/icons-vue";
5
- import { isValid as v, isArr as _e } from "@formily/shared";
6
- import { useResizeObserver as Ce } from "@vueuse/core";
7
- import { useNamespace as Ie, useFormSize as $e, useId as we, formItemContextKey as We, ElTooltip as E, ElIcon as K } from "element-plus";
8
- import { FORM_LAYOUT_PROPS_KEYS as Fe, useFormLayout as Ae, formLayoutShallowContext as Le } from "../form-layout/utils.mjs";
9
- import { p as ze } from "../vendor/lodash.mjs";
10
- import { i as Be, a as Te, d as Re } from "../vendor/types.mjs";
11
- import { i as Ee } from "../vendor/shared.esm-bundler.mjs";
12
- import { stylePrefix as Ve } from "../__builtins__/configs/index.mjs";
13
- import { getFeedbackMessage as Pe, determineFeedbackStatus as Ne } from "./utils.mjs";
14
- import { composeExport as Oe } from "../__builtins__/shared/utils.mjs";
15
- import '../styles/form-item/index.css';const qe = "utils/dom/style";
16
- function U(s, p = "px") {
17
- if (!s && s !== 0) return "";
18
- if (Be(s) || Te(s))
19
- return `${s}${p}`;
20
- if (Ee(s))
21
- return s;
22
- Re(qe, "binding value must be a string or number");
1
+ import { isVoidField as ce } from "@formily/core";
2
+ import { useField as fe, connect as ve, mapProps as pe } from "@silver-formily/vue";
3
+ import { useNamespace as me, useFormSize as be, useId as ye, formItemContextKey as ke, ElTooltip as R, ElIcon as D } from "element-plus";
4
+ import "@formily/reactive";
5
+ import { useResizeObserver as ge } from "@vueuse/core";
6
+ import { defineComponent as Se, useSlots as he, computed as s, ref as b, reactive as xe, watch as Ce, provide as G, createElementBlock as n, openBlock as a, unref as l, normalizeClass as u, createBlock as f, createCommentVNode as c, createElementVNode as h, resolveDynamicComponent as g, normalizeStyle as F, withCtx as m, isVNode as x, createVNode as C, toDisplayString as y, Fragment as I, createTextVNode as E, renderSlot as K, TransitionGroup as Ie } from "vue";
7
+ import "@silver-formily/reactive-vue";
8
+ import { composeExport as _e } from "../__builtins__/shared/utils.mjs";
9
+ import { InfoFilled as $e, CircleClose as we, CircleCheck as Fe, Warning as We } from "@element-plus/icons-vue";
10
+ import { isValid as v, isArr as Ae } from "@formily/shared";
11
+ import { stylePrefix as Le } from "../__builtins__/configs/index.mjs";
12
+ import { FORM_LAYOUT_PROPS_KEYS as ze, useFormLayout as Be, formLayoutShallowContext as Te } from "../form-layout/utils.mjs";
13
+ import { p as Re } from "../vendor/lodash.mjs";
14
+ import { i as Ee, a as Ve, d as Pe } from "../vendor/types.mjs";
15
+ import { i as Ne } from "../vendor/shared.esm-bundler.mjs";
16
+ import { getFeedbackMessage as Oe, determineFeedbackStatus as qe } from "./utils.mjs";
17
+ import '../styles/form-item/index.css';const Me = "utils/dom/style";
18
+ function U(i, p = "px") {
19
+ if (!i && i !== 0) return "";
20
+ if (Ee(i) || Ve(i))
21
+ return `${i}${p}`;
22
+ if (Ne(i))
23
+ return i;
24
+ Pe(Me, "binding value must be a string or number");
23
25
  }
24
- const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
26
+ const je = ["role", "aria-labelledby"], Y = /* @__PURE__ */ Se({
25
27
  name: "FFormItem",
26
28
  __name: "form-item",
27
29
  props: {
30
+ internalFormItemClass: {},
28
31
  label: {},
29
32
  for: {},
30
33
  tooltip: {},
@@ -48,96 +51,96 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
48
51
  feedbackLayout: {},
49
52
  tooltipLayout: {}
50
53
  },
51
- setup(s, { expose: p }) {
52
- const e = s, F = me(), o = Ie("form-item"), d = `${Ve}-form-item`, H = i(
54
+ setup(i, { expose: p }) {
55
+ const e = i, W = he(), o = me("form-item"), d = `${Le}-form-item`, H = s(() => e.internalFormItemClass || o.b()), J = s(
53
56
  () => Object.fromEntries(
54
- Object.entries(ze(e, Fe)).filter(([r, w]) => v(w))
57
+ Object.entries(Re(e, ze)).filter(([r, w]) => v(w))
55
58
  )
56
- ), J = Ae(), t = i(() => Object.assign({
59
+ ), Q = Be(), t = s(() => Object.assign({
57
60
  colon: !0,
58
61
  feedbackLayout: "loose",
59
62
  fullness: !1,
60
63
  labelWrap: !1
61
- }, J.value, H.value)), V = ce(), Q = $e(void 0, { formItem: !1 }), P = i(() => v(t.value.size) ? t.value.size : Q.value), A = we().value, k = b([]), N = b(""), O = b(), S = b(), q = b();
64
+ }, Q.value, J.value)), V = fe(), X = be(void 0, { formItem: !1 }), P = s(() => v(t.value.size) ? t.value.size : X.value), A = ye().value, k = b([]), N = b(""), O = b(), S = b(), q = b();
62
65
  p({
63
66
  feedbackTooltipRef: q
64
67
  });
65
- const I = i(
66
- () => t.value.layout === "vertical" || _e(t.value.layout) && t.value.layout.includes("vertical") ? "top" : t.value.labelAlign ?? "right"
67
- ), X = i(() => {
68
- if (I.value === "top")
68
+ const _ = s(
69
+ () => t.value.layout === "vertical" || Ae(t.value.layout) && t.value.layout.includes("vertical") ? "top" : t.value.labelAlign ?? "right"
70
+ ), Z = s(() => {
71
+ if (_.value === "top")
69
72
  return {};
70
73
  const r = U(t.value.labelWidth || "");
71
74
  return r ? { width: r } : {};
72
- }), Z = i(() => {
75
+ }), ee = s(() => {
73
76
  const r = U(t.value?.wrapperWidth || "");
74
77
  return r ? { width: r, flex: "unset" } : {};
75
- }), ee = i(() => ({
78
+ }), te = s(() => ({
76
79
  justifyContent: t.value?.wrapperAlign === "right" && "flex-end"
77
- })), te = i(
80
+ })), ae = s(
78
81
  () => e.asterisk && V.value?.pattern !== "readPretty"
79
- ), ae = i(() => [
80
- o.b(),
82
+ ), le = s(() => [
83
+ H.value,
81
84
  o.m(P.value || "default"),
82
85
  o.is(e.feedbackStatus),
83
86
  o.is("validating", N.value === "validating"),
84
87
  o.is("success", N.value === "success"),
85
- o.is("required", te.value || e.asterisk),
88
+ o.is("required", ae.value || e.asterisk),
86
89
  o.is("no-asterisk", t.value?.hideRequiredAsterisk),
87
90
  o.is(t.value.feedbackLayout),
88
91
  t.value?.requireAsteriskPosition === "right" ? "asterisk-right" : "asterisk-left",
89
92
  {
90
93
  [o.m("feedback")]: t.value?.statusIcon,
91
- [o.m(`label-${I.value}`)]: I.value
94
+ [o.m(`label-${_.value}`)]: _.value
92
95
  }
93
- ]), M = i(() => [
96
+ ]), M = s(() => [
94
97
  `${d}-feedback`,
95
98
  o.is(e.feedbackStatus),
96
99
  o.is("loose", t.value.feedbackLayout === "loose")
97
- ]), L = i(() => e.label !== "" && v(e.label) || v(F.label)), z = i(() => e.for || (k.value.length === 1 ? k.value[0] : void 0)), B = i(() => !z.value && L.value);
98
- async function le() {
100
+ ]), L = s(() => e.label !== "" && v(e.label) || v(W.label)), z = s(() => e.for || (k.value.length === 1 ? k.value[0] : void 0)), B = s(() => !z.value && L.value);
101
+ async function oe() {
99
102
  return !0;
100
103
  }
101
104
  /* istanbul ignore next -- @preserve */
102
- const oe = () => {
105
+ const re = () => {
103
106
  };
104
107
  /* istanbul ignore next -- @preserve */
105
- const re = async () => {
108
+ const se = async () => {
106
109
  };
107
110
  /* istanbul ignore next -- @preserve */
108
- const se = () => {
109
- }, ie = (r) => {
111
+ const ie = () => {
112
+ }, ne = (r) => {
110
113
  /* istanbul ignore else -- @preserve */
111
114
  k.value.includes(r) || k.value.push(r);
112
- }, ne = (r) => {
115
+ }, ue = (r) => {
113
116
  k.value = k.value.filter((w) => w !== r);
114
117
  }, j = b(!1);
115
- Ce(S, () => {
118
+ ge(S, () => {
116
119
  j.value = S.value?.scrollWidth > S.value?.clientWidth;
117
120
  });
118
- const T = i(() => j.value && !t.value.labelWrap), ue = b(""), $ = be({
121
+ const T = s(() => j.value && !t.value.labelWrap), de = b(""), $ = xe({
119
122
  $el: O,
120
123
  labelWidth: t.value?.labelWidth,
121
124
  size: P,
122
- validateState: ue.value,
125
+ validateState: de.value,
123
126
  labelId: A,
124
127
  inputIds: k,
125
128
  isGroup: B,
126
129
  hasLabel: L,
127
- addInputId: ie,
128
- removeInputId: ne,
129
- resetField: re,
130
- clearValidate: oe,
131
- validate: le,
132
- labelPosition: I,
130
+ addInputId: ne,
131
+ removeInputId: ue,
132
+ resetField: se,
133
+ clearValidate: re,
134
+ validate: oe,
135
+ labelPosition: _,
133
136
  inlineMessage: !0,
134
137
  showMessage: !0,
135
138
  fieldValue: V.value?.value,
136
139
  validateMessage: "",
137
140
  propString: "",
138
- setInitialValue: se
141
+ setInitialValue: ie
139
142
  });
140
- return ye(() => e.feedbackStatus, (r) => {
143
+ return Ce(() => e.feedbackStatus, (r) => {
141
144
  if (r === "pending") {
142
145
  $.validateState = "validating";
143
146
  return;
@@ -149,13 +152,13 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
149
152
  $.validateState = r;
150
153
  }, {
151
154
  immediate: !0
152
- }), D(Le, b({
155
+ }), G(Te, b({
153
156
  ...v(t.value.size) && { size: t.value.size },
154
157
  ...v(t.value.colon) && { colon: t.value.colon }
155
- })), D(We, $), (r, w) => (a(), n("div", {
158
+ })), G(ke, $), (r, w) => (a(), n("div", {
156
159
  ref_key: "formItemRef",
157
160
  ref: O,
158
- class: u([d, t.value.labelWrap && "is-warp", ...ae.value]),
161
+ class: u([d, t.value.labelWrap && "is-warp", ...le.value]),
159
162
  role: B.value ? "group" : void 0,
160
163
  "aria-labelledby": B.value ? l(A) : void 0
161
164
  }, [
@@ -164,26 +167,26 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
164
167
  id: l(A),
165
168
  for: z.value,
166
169
  class: u([l(o).e("label"), l(v)(t.value.labelCol) && `${d}-col-${t.value.labelCol}`]),
167
- style: W(X.value)
170
+ style: F(Z.value)
168
171
  }, {
169
172
  default: m(() => [
170
173
  x(e.label) ? (a(), f(g(e.label), { key: 0 })) : (a(), n("div", {
171
174
  key: 1,
172
175
  class: u(`${d}-label__wrapper`)
173
176
  }, [
174
- _(l(E), {
177
+ C(l(R), {
175
178
  disabled: !T.value && t.value.tooltipLayout !== "text"
176
179
  }, {
177
180
  content: m(() => [
178
181
  x(e.tooltip) ? (a(), f(g(e.tooltip), { key: 0 })) : (a(), n("div", {
179
182
  key: 1,
180
- style: W(`width: ${S.value?.clientWidth ?? 0}px;`)
183
+ style: F(`width: ${S.value?.clientWidth ?? 0}px;`)
181
184
  }, [
182
- T.value ? (a(), n(C, { key: 0 }, [
183
- R(y(e.label), 1)
185
+ T.value ? (a(), n(I, { key: 0 }, [
186
+ E(y(e.label), 1)
184
187
  ], 64)) : c("", !0),
185
- t.value.tooltipLayout === "text" ? (a(), n(C, { key: 1 }, [
186
- R(y(e.tooltip), 1)
188
+ t.value.tooltipLayout === "text" ? (a(), n(I, { key: 1 }, [
189
+ E(y(e.tooltip), 1)
187
190
  ], 64)) : c("", !0)
188
191
  ], 4))
189
192
  ]),
@@ -202,16 +205,16 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
202
205
  ]),
203
206
  _: 1
204
207
  }, 8, ["disabled"]),
205
- e.tooltip && t.value.tooltipLayout !== "text" ? (a(), f(l(E), {
208
+ e.tooltip && t.value.tooltipLayout !== "text" ? (a(), f(l(R), {
206
209
  key: 0,
207
210
  content: e.tooltip
208
211
  }, {
209
212
  default: m(() => [
210
- _(l(K), {
213
+ C(l(D), {
211
214
  class: u(`${d}-label-tooltip`)
212
215
  }, {
213
216
  default: m(() => [
214
- _(l(ge))
217
+ C(l($e))
215
218
  ]),
216
219
  _: 1
217
220
  }, 8, ["class"])
@@ -231,9 +234,9 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
231
234
  `${d}-content__wrapper`,
232
235
  l(v)(t.value.wrapperCol) && `${d}-col-${t.value.wrapperCol}`
233
236
  ]),
234
- style: W(ee.value)
237
+ style: F(te.value)
235
238
  }, [
236
- l(v)(e.addonBefore) ? (a(), n(C, { key: 0 }, [
239
+ l(v)(e.addonBefore) ? (a(), n(I, { key: 0 }, [
237
240
  x(e.addonBefore) ? (a(), f(g(e.addonBefore), { key: 0 })) : (a(), n("div", {
238
241
  key: 1,
239
242
  class: u(`${d}-addon-before`)
@@ -245,9 +248,9 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
245
248
  t.value.fullness && "is-fullness",
246
249
  l(o).is("addon-after", !!e.addonAfter)
247
250
  ]),
248
- style: W(Z.value)
251
+ style: F(ee.value)
249
252
  }, [
250
- t.value.feedbackLayout === "popover" ? (a(), f(l(E), {
253
+ t.value.feedbackLayout === "popover" ? (a(), f(l(R), {
251
254
  key: 0,
252
255
  ref_key: "feedbackTooltipRef",
253
256
  ref: q,
@@ -256,26 +259,26 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
256
259
  offset: 6
257
260
  }, {
258
261
  default: m(() => [
259
- G(r.$slots, "default")
262
+ K(r.$slots, "default")
260
263
  ]),
261
264
  content: m(() => [
262
265
  h("div", {
263
266
  class: u([...M.value, l(o).is("tooltip")])
264
267
  }, [
265
- _(l(K), null, {
268
+ C(l(D), null, {
266
269
  default: m(() => [
267
- e.feedbackStatus === "error" ? (a(), f(l(Se), { key: 0 })) : c("", !0),
268
- e.feedbackStatus === "success" ? (a(), f(l(he), { key: 1 })) : c("", !0),
269
- e.feedbackStatus === "warning" ? (a(), f(l(xe), { key: 2 })) : c("", !0)
270
+ e.feedbackStatus === "error" ? (a(), f(l(we), { key: 0 })) : c("", !0),
271
+ e.feedbackStatus === "success" ? (a(), f(l(Fe), { key: 1 })) : c("", !0),
272
+ e.feedbackStatus === "warning" ? (a(), f(l(We), { key: 2 })) : c("", !0)
270
273
  ]),
271
274
  _: 1
272
275
  }),
273
- R(" " + y(e.feedbackText), 1)
276
+ E(" " + y(e.feedbackText), 1)
274
277
  ], 2)
275
278
  ]),
276
279
  _: 3
277
- }, 8, ["visible"])) : G(r.$slots, "default", { key: 1 }),
278
- _(ke, {
280
+ }, 8, ["visible"])) : K(r.$slots, "default", { key: 1 }),
281
+ C(Ie, {
279
282
  name: `${l(o).namespace.value}-zoom-in-top`
280
283
  }, {
281
284
  default: m(() => [
@@ -283,7 +286,7 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
283
286
  key: 0,
284
287
  class: u(M.value)
285
288
  }, y(e.feedbackText), 3)) : c("", !0),
286
- l(v)(e.extra) ? (a(), n(C, { key: 1 }, [
289
+ l(v)(e.extra) ? (a(), n(I, { key: 1 }, [
287
290
  x(e.extra) ? (a(), f(g(e.extra), { key: 0 })) : (a(), n("div", {
288
291
  key: 1,
289
292
  class: u(`${d}-extra`)
@@ -293,45 +296,45 @@ const Me = ["role", "aria-labelledby"], Y = /* @__PURE__ */ pe({
293
296
  _: 1
294
297
  }, 8, ["name"])
295
298
  ], 6),
296
- l(v)(e.addonAfter) ? (a(), n(C, { key: 1 }, [
299
+ l(v)(e.addonAfter) ? (a(), n(I, { key: 1 }, [
297
300
  x(e.addonAfter) ? (a(), f(g(e.addonAfter), { key: 0 })) : (a(), n("div", {
298
301
  key: 1,
299
302
  class: u(`${d}-addon-after`)
300
303
  }, y(e.addonAfter), 3))
301
304
  ], 64)) : c("", !0)
302
305
  ], 6)
303
- ], 10, Me));
306
+ ], 10, je));
304
307
  }
305
308
  });
306
- function je(s, p) {
307
- if (de(p) || !p)
308
- return s;
309
- const e = Pe(p), F = Ne(p), o = "asterisk" in s ? s.asterisk : p.required && p.pattern !== "readPretty";
309
+ function De(i, p) {
310
+ if (ce(p) || !p)
311
+ return i;
312
+ const e = Oe(p), W = qe(p), o = "asterisk" in i ? i.asterisk : p.required && p.pattern !== "readPretty";
310
313
  return {
311
- ...s,
314
+ ...i,
312
315
  feedbackText: e,
313
- feedbackStatus: F,
316
+ feedbackStatus: W,
314
317
  asterisk: o
315
318
  };
316
319
  }
317
- const De = fe(
320
+ const Ge = ve(
318
321
  Y,
319
- ve(
322
+ pe(
320
323
  {
321
324
  validateStatus: !0,
322
325
  title: "label",
323
326
  required: !0,
324
327
  description: "extra"
325
328
  },
326
- je
329
+ De
327
330
  )
328
- ), rt = Oe(De, {
331
+ ), nt = _e(Ge, {
329
332
  BaseItem: Y
330
333
  });
331
334
  export {
332
335
  Y as FormBaseItem,
333
- rt as FormItem,
334
- rt as default,
335
- je as fieldFeedbackMapper
336
+ nt as FormItem,
337
+ nt as default,
338
+ De as fieldFeedbackMapper
336
339
  };
337
340
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.22_typescript@5.9.3_/node_modules/element-plus/es/utils/dom/style.mjs","../../src/form-item/form-item.vue","../../src/form-item/index.ts"],"sourcesContent":["import { isNumber, isStringNumber } from '../types.mjs';\nimport { isClient } from '@vueuse/core';\nimport { isString, camelize, isObject } from '@vue/shared';\nimport { entriesOf, keysOf } from '../objects.mjs';\nimport { debugWarn } from '../error.mjs';\n\nconst SCOPE = \"utils/dom/style\";\nconst classNameToArray = (cls = \"\") => cls.split(\" \").filter((item) => !!item.trim());\nconst hasClass = (el, cls) => {\n if (!el || !cls) return false;\n if (cls.includes(\" \")) throw new Error(\"className should not contain space.\");\n return el.classList.contains(cls);\n};\nconst addClass = (el, cls) => {\n if (!el || !cls.trim()) return;\n el.classList.add(...classNameToArray(cls));\n};\nconst removeClass = (el, cls) => {\n if (!el || !cls.trim()) return;\n el.classList.remove(...classNameToArray(cls));\n};\nconst getStyle = (element, styleName) => {\n var _a;\n if (!isClient || !element || !styleName) return \"\";\n let key = camelize(styleName);\n if (key === \"float\") key = \"cssFloat\";\n try {\n const style = element.style[key];\n if (style) return style;\n const computed = (_a = document.defaultView) == null ? void 0 : _a.getComputedStyle(element, \"\");\n return computed ? computed[key] : \"\";\n } catch (e) {\n return element.style[key];\n }\n};\nconst setStyle = (element, styleName, value) => {\n if (!element || !styleName) return;\n if (isObject(styleName)) {\n entriesOf(styleName).forEach(\n ([prop, value2]) => setStyle(element, prop, value2)\n );\n } else {\n const key = camelize(styleName);\n element.style[key] = value;\n }\n};\nconst removeStyle = (element, style) => {\n if (!element || !style) return;\n if (isObject(style)) {\n keysOf(style).forEach((prop) => removeStyle(element, prop));\n } else {\n setStyle(element, style, \"\");\n }\n};\nfunction addUnit(value, defaultUnit = \"px\") {\n if (!value && value !== 0) return \"\";\n if (isNumber(value) || isStringNumber(value)) {\n return `${value}${defaultUnit}`;\n } else if (isString(value)) {\n return value;\n }\n debugWarn(SCOPE, \"binding value must be a string or number\");\n}\n\nexport { addClass, addUnit, classNameToArray, getStyle, hasClass, removeClass, removeStyle, setStyle };\n//# sourceMappingURL=style.mjs.map\n","<script lang=\"ts\" setup>\r\nimport type { Field } from '@formily/core'\r\nimport type {\r\n FormItemContext,\r\n FormItemValidateState,\r\n FormValidationResult,\r\n TooltipInstance,\r\n} from 'element-plus'\r\nimport type { ICalculatedFormLayoutProps } from 'src/form-layout/types'\r\nimport type { CSSProperties } from 'vue'\r\nimport type { IFormItemProps } from './types'\r\nimport { CircleCheck, CircleClose, InfoFilled, Warning } from '@element-plus/icons-vue'\r\nimport { isArr, isValid } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { useResizeObserver } from '@vueuse/core'\r\nimport { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace } from 'element-plus'\r\nimport { addUnit } from 'element-plus/es/utils/index'\r\nimport { pick } from 'lodash-es'\r\nimport { computed, isVNode, provide, reactive, ref, useSlots, watch } from 'vue'\r\nimport { stylePrefix } from '../__builtins__'\r\nimport { FORM_LAYOUT_PROPS_KEYS, formLayoutShallowContext, useFormLayout } from '../form-layout/utils'\r\n\r\ndefineOptions({\r\n name: 'FFormItem',\r\n})\r\nconst props = withDefaults(defineProps<IFormItemProps>(), {\r\n asterisk: undefined,\r\n colon: undefined,\r\n labelWrap: undefined,\r\n fullness: undefined,\r\n})\r\nconst slots = useSlots()\r\nconst ns = useNamespace('form-item')\r\nconst prefixCls = `${stylePrefix}-form-item`\r\nconst formItemConfig = computed<Partial<ICalculatedFormLayoutProps>>(() =>\r\n Object.fromEntries(\r\n Object.entries(pick(props, FORM_LAYOUT_PROPS_KEYS))\r\n .filter(([_, value]) => isValid(value)),\r\n ),\r\n)\r\nconst formlayoutConfig = useFormLayout()\r\nconst formlayout = computed(() => Object.assign({\r\n colon: true,\r\n feedbackLayout: 'loose',\r\n fullness: false,\r\n labelWrap: false,\r\n}, formlayoutConfig.value, formItemConfig.value))\r\nconst field = useField<Field>()\r\n\r\nconst inheritedSize = useFormSize(undefined, { formItem: false })\r\nconst formItemSize = computed(() => {\r\n if (isValid(formlayout.value.size)) {\r\n return formlayout.value.size\r\n }\r\n return inheritedSize.value\r\n})\r\n\r\nconst labelId = useId().value\r\nconst inputIds = ref<string[]>([])\r\n\r\nconst validateState = ref<FormItemValidateState>('')\r\nconst formItemRef = ref<HTMLDivElement>()\r\nconst labelRef = ref<HTMLElement>()\r\nconst feedbackTooltipRef = ref<TooltipInstance>()\r\ndefineExpose({\r\n feedbackTooltipRef,\r\n})\r\n\r\nconst labelPosition = computed(\r\n () => {\r\n if (formlayout.value.layout === 'vertical' || (isArr(formlayout.value.layout) && formlayout.value.layout.includes('vertical' as any))) {\r\n return 'top'\r\n }\r\n return formlayout.value.labelAlign ?? 'right'\r\n },\r\n)\r\n\r\nconst labelStyle = computed<CSSProperties>(() => {\r\n if (labelPosition.value === 'top') {\r\n return {}\r\n }\r\n\r\n const labelWidth = addUnit(formlayout.value.labelWidth || '')\r\n if (labelWidth)\r\n return { width: labelWidth }\r\n return {}\r\n})\r\n\r\nconst contentStyle = computed<CSSProperties>(() => {\r\n const contentWidth = addUnit(formlayout.value?.wrapperWidth || '')\r\n if (contentWidth)\r\n return { width: contentWidth, flex: 'unset' }\r\n return {}\r\n})\r\n\r\nconst contentWrapperStyle = computed<CSSProperties>(() => {\r\n return {\r\n justifyContent: formlayout.value?.wrapperAlign === 'right' && 'flex-end',\r\n }\r\n})\r\n\r\nconst isRequired = computed(() =>\r\n props.asterisk && field.value?.pattern !== 'readPretty',\r\n)\r\n\r\nconst formItemClasses = computed(() => [\r\n ns.b(),\r\n ns.m(formItemSize.value || 'default'),\r\n ns.is(props.feedbackStatus),\r\n ns.is('validating', validateState.value === 'validating'),\r\n ns.is('success', validateState.value === 'success'),\r\n ns.is('required', isRequired.value || props.asterisk),\r\n ns.is('no-asterisk', formlayout.value?.hideRequiredAsterisk),\r\n ns.is(formlayout.value.feedbackLayout),\r\n formlayout.value?.requireAsteriskPosition === 'right'\r\n ? 'asterisk-right'\r\n : 'asterisk-left',\r\n {\r\n [ns.m('feedback')]: formlayout.value?.statusIcon,\r\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\r\n },\r\n])\r\n\r\nconst validateClasses = computed(() => [\r\n `${prefixCls}-feedback`,\r\n ns.is(props.feedbackStatus),\r\n ns.is('loose', formlayout.value.feedbackLayout === 'loose'),\r\n])\r\n\r\nconst hasLabel = computed<boolean>(() => {\r\n return (props.label !== '' && isValid(props.label)) || isValid(slots.label)\r\n})\r\n\r\nconst labelFor = computed<string | undefined>(() => {\r\n return (\r\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\r\n )\r\n})\r\n\r\nconst isGroup = computed<boolean>(() => {\r\n return !labelFor.value && hasLabel.value\r\n})\r\n\r\nasync function validate(): FormValidationResult {\r\n return true\r\n}\r\n/* istanbul ignore next -- @preserve */\r\nconst clearValidate: FormItemContext['clearValidate'] = () => {}\r\n/* istanbul ignore next -- @preserve */\r\nconst resetField: FormItemContext['resetField'] = async () => {}\r\n/* istanbul ignore next -- @preserve */\r\nconst setInitialValue: FormItemContext['setInitialValue'] = () => {}\r\n\r\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\r\n /* istanbul ignore else -- @preserve */\r\n if (!inputIds.value.includes(id)) {\r\n inputIds.value.push(id)\r\n }\r\n}\r\n\r\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\r\n inputIds.value = inputIds.value.filter(listId => listId !== id)\r\n}\r\n\r\nconst isEllipsisActive = ref(false)\r\nuseResizeObserver(labelRef, () => {\r\n isEllipsisActive.value = labelRef.value?.scrollWidth > labelRef.value?.clientWidth\r\n})\r\nconst isEllipsis = computed(() => {\r\n return isEllipsisActive.value && !formlayout.value.labelWrap\r\n})\r\n\r\n// HACK computed无法监听到props.feedbackStatus的变化\r\nconst _validateState = ref<FormItemValidateState>('')\r\nconst context: FormItemContext = reactive({\r\n $el: formItemRef,\r\n labelWidth: formlayout.value?.labelWidth,\r\n size: formItemSize,\r\n validateState: _validateState.value,\r\n labelId,\r\n inputIds,\r\n isGroup,\r\n hasLabel,\r\n addInputId,\r\n removeInputId,\r\n resetField,\r\n clearValidate,\r\n validate,\r\n labelPosition,\r\n inlineMessage: true,\r\n showMessage: true,\r\n fieldValue: field.value?.value,\r\n validateMessage: '',\r\n propString: '',\r\n setInitialValue,\r\n})\r\nwatch(() => props.feedbackStatus, (val) => {\r\n if (val === 'pending') {\r\n context.validateState = 'validating'\r\n return\r\n }\r\n if (val === 'warning') {\r\n context.validateState = ''\r\n return\r\n }\r\n context.validateState = val\r\n}, {\r\n immediate: true,\r\n})\r\n\r\nprovide(formLayoutShallowContext, ref({\r\n ...(isValid(formlayout.value.size) && { size: formlayout.value.size }),\r\n ...(isValid(formlayout.value.colon) && { colon: formlayout.value.colon }),\r\n}))\r\nprovide(formItemContextKey, context)\r\n</script>\r\n\r\n<template>\r\n <div\r\n ref=\"formItemRef\" :class=\"[prefixCls, formlayout.labelWrap && 'is-warp', ...formItemClasses]\"\r\n :role=\"isGroup ? 'group' : undefined\" :aria-labelledby=\"isGroup ? labelId : undefined\"\r\n >\r\n <component\r\n :is=\"labelFor ? 'label' : 'div'\" v-if=\"hasLabel\" :id=\"labelId\" :for=\"labelFor\"\r\n :class=\"[ns.e('label'), isValid(formlayout.labelCol) && `${prefixCls}-col-${formlayout.labelCol}`]\"\r\n :style=\"labelStyle\"\r\n >\r\n <!-- label -->\r\n <template v-if=\"isVNode(props.label)\">\r\n <component :is=\"props.label\" />\r\n </template>\r\n <div v-else :class=\"`${prefixCls}-label__wrapper`\">\r\n <ElTooltip :disabled=\"!isEllipsis && formlayout.tooltipLayout !== 'text'\">\r\n <span\r\n :class=\"{\r\n [`${prefixCls}-label-content`]: true,\r\n ['is-tooltip']: isEllipsis || (props.tooltip && formlayout.tooltipLayout === 'text'),\r\n }\"\r\n >\r\n <span ref=\"labelRef\">{{ props.label }}</span>\r\n </span>\r\n <template #content>\r\n <template v-if=\"isVNode(props.tooltip)\">\r\n <component :is=\"props.tooltip\" />\r\n </template>\r\n <div v-else :style=\"`width: ${labelRef?.clientWidth ?? 0}px;`\">\r\n <template v-if=\"isEllipsis\">\r\n {{ props.label }}\r\n </template>\r\n <template v-if=\"formlayout.tooltipLayout === 'text'\">\r\n {{ props.tooltip }}\r\n </template>\r\n </div>\r\n </template>\r\n </ElTooltip>\r\n <ElTooltip v-if=\"props.tooltip && formlayout.tooltipLayout !== 'text'\" :content=\"props.tooltip\">\r\n <ElIcon :class=\"`${prefixCls}-label-tooltip`\">\r\n <InfoFilled />\r\n </ElIcon>\r\n </ElTooltip>\r\n <span v-if=\"formlayout.colon\" :class=\"`${prefixCls}-colon`\">:</span>\r\n </div>\r\n </component>\r\n <!-- content -->\r\n <div\r\n :class=\"[\r\n `${prefixCls}-content__wrapper`,\r\n isValid(formlayout.wrapperCol) && `${prefixCls}-col-${formlayout.wrapperCol}`,\r\n ]\"\r\n :style=\"contentWrapperStyle\"\r\n >\r\n <template v-if=\"isValid(props.addonBefore)\">\r\n <template v-if=\"isVNode(props.addonBefore)\">\r\n <component :is=\"props.addonBefore\" />\r\n </template>\r\n <div v-else :class=\"`${prefixCls}-addon-before`\">\r\n {{ props.addonBefore }}\r\n </div>\r\n </template>\r\n <div\r\n :class=\"[\r\n ns.e('content'),\r\n formlayout.fullness && 'is-fullness',\r\n ns.is('addon-after', !!props.addonAfter),\r\n ]\" :style=\"contentStyle\"\r\n >\r\n <ElTooltip\r\n v-if=\"formlayout.feedbackLayout === 'popover'\"\r\n ref=\"feedbackTooltipRef\"\r\n :visible=\"!!props.feedbackText\"\r\n effect=\"light\"\r\n :offset=\"6\"\r\n >\r\n <template #default>\r\n <slot />\r\n </template>\r\n <template #content>\r\n <div :class=\"[...validateClasses, ns.is('tooltip')]\">\r\n <ElIcon>\r\n <CircleClose v-if=\"props.feedbackStatus === 'error'\" />\r\n <CircleCheck v-if=\"props.feedbackStatus === 'success'\" />\r\n <Warning v-if=\"props.feedbackStatus === 'warning'\" />\r\n </ElIcon>\r\n {{ props.feedbackText }}\r\n </div>\r\n </template>\r\n </ElTooltip>\r\n <slot v-else />\r\n <TransitionGroup :name=\"`${ns.namespace.value}-zoom-in-top`\">\r\n <div v-if=\"props.feedbackText && formlayout.feedbackLayout !== 'popover'\" :class=\"validateClasses\">\r\n {{ props.feedbackText }}\r\n </div>\r\n <template v-if=\"isValid(props.extra)\">\r\n <template v-if=\"isVNode(props.extra)\">\r\n <component :is=\"props.extra\" />\r\n </template>\r\n <div v-else :class=\"`${prefixCls}-extra`\">\r\n {{ props.extra }}\r\n </div>\r\n </template>\r\n </TransitionGroup>\r\n </div>\r\n <template v-if=\"isValid(props.addonAfter)\">\r\n <template v-if=\"isVNode(props.addonAfter)\">\r\n <component :is=\"props.addonAfter\" />\r\n </template>\r\n <div v-else :class=\"`${prefixCls}-addon-after`\">\r\n {{ props.addonAfter }}\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n","import { isVoidField } from '@formily/core'\r\nimport { connect, mapProps } from '@silver-formily/vue'\r\nimport { composeExport } from '../__builtins__'\r\nimport FormBaseItem from './form-item.vue'\r\nimport { determineFeedbackStatus, getFeedbackMessage } from './utils'\r\nimport './style.scss'\r\n\r\nexport function fieldFeedbackMapper(props, field) {\r\n if (isVoidField(field) || !field) {\r\n return props\r\n }\r\n\r\n const feedbackText = getFeedbackMessage(field)\r\n const feedbackStatus = determineFeedbackStatus(field)\r\n const asterisk = 'asterisk' in props\r\n ? props.asterisk\r\n : field.required && field.pattern !== 'readPretty'\r\n\r\n return {\r\n ...props,\r\n feedbackText,\r\n feedbackStatus,\r\n asterisk,\r\n }\r\n}\r\n\r\nconst Item = connect<typeof FormBaseItem>(\r\n FormBaseItem,\r\n mapProps(\r\n {\r\n validateStatus: true,\r\n title: 'label',\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n ),\r\n)\r\n\r\nexport const FormItem = composeExport(Item, {\r\n BaseItem: FormBaseItem,\r\n})\r\n\r\nexport default FormItem\r\n\r\nexport { default as FormBaseItem } from './form-item.vue'\r\n"],"names":["SCOPE","addUnit","value","defaultUnit","isNumber","isStringNumber","isString","debugWarn","props","__props","slots","useSlots","ns","useNamespace","prefixCls","stylePrefix","formItemConfig","computed","pick","FORM_LAYOUT_PROPS_KEYS","_","isValid","formlayoutConfig","useFormLayout","formlayout","field","useField","inheritedSize","useFormSize","formItemSize","labelId","useId","inputIds","ref","validateState","formItemRef","labelRef","feedbackTooltipRef","__expose","labelPosition","isArr","labelStyle","labelWidth","contentStyle","contentWidth","contentWrapperStyle","isRequired","formItemClasses","validateClasses","hasLabel","labelFor","isGroup","validate","clearValidate","resetField","setInitialValue","addInputId","id","removeInputId","listId","isEllipsisActive","useResizeObserver","isEllipsis","_validateState","context","reactive","watch","val","provide","formLayoutShallowContext","formItemContextKey","_createElementBlock","_unref","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","isVNode","_createVNode","ElTooltip","_normalizeStyle","_Fragment","_createTextVNode","_toDisplayString","_createElementVNode","ElIcon","InfoFilled","_renderSlot","_ctx","CircleClose","CircleCheck","Warning","_TransitionGroup","fieldFeedbackMapper","isVoidField","feedbackText","getFeedbackMessage","feedbackStatus","determineFeedbackStatus","asterisk","Item","connect","FormBaseItem","mapProps","FormItem","composeExport"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.mjs","sources":["../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.22_typescript@5.9.3_/node_modules/element-plus/es/utils/dom/style.mjs","../../src/form-item/form-item.vue","../../src/form-item/index.ts"],"sourcesContent":["import { isNumber, isStringNumber } from '../types.mjs';\nimport { isClient } from '@vueuse/core';\nimport { isString, camelize, isObject } from '@vue/shared';\nimport { entriesOf, keysOf } from '../objects.mjs';\nimport { debugWarn } from '../error.mjs';\n\nconst SCOPE = \"utils/dom/style\";\nconst classNameToArray = (cls = \"\") => cls.split(\" \").filter((item) => !!item.trim());\nconst hasClass = (el, cls) => {\n if (!el || !cls) return false;\n if (cls.includes(\" \")) throw new Error(\"className should not contain space.\");\n return el.classList.contains(cls);\n};\nconst addClass = (el, cls) => {\n if (!el || !cls.trim()) return;\n el.classList.add(...classNameToArray(cls));\n};\nconst removeClass = (el, cls) => {\n if (!el || !cls.trim()) return;\n el.classList.remove(...classNameToArray(cls));\n};\nconst getStyle = (element, styleName) => {\n var _a;\n if (!isClient || !element || !styleName) return \"\";\n let key = camelize(styleName);\n if (key === \"float\") key = \"cssFloat\";\n try {\n const style = element.style[key];\n if (style) return style;\n const computed = (_a = document.defaultView) == null ? void 0 : _a.getComputedStyle(element, \"\");\n return computed ? computed[key] : \"\";\n } catch (e) {\n return element.style[key];\n }\n};\nconst setStyle = (element, styleName, value) => {\n if (!element || !styleName) return;\n if (isObject(styleName)) {\n entriesOf(styleName).forEach(\n ([prop, value2]) => setStyle(element, prop, value2)\n );\n } else {\n const key = camelize(styleName);\n element.style[key] = value;\n }\n};\nconst removeStyle = (element, style) => {\n if (!element || !style) return;\n if (isObject(style)) {\n keysOf(style).forEach((prop) => removeStyle(element, prop));\n } else {\n setStyle(element, style, \"\");\n }\n};\nfunction addUnit(value, defaultUnit = \"px\") {\n if (!value && value !== 0) return \"\";\n if (isNumber(value) || isStringNumber(value)) {\n return `${value}${defaultUnit}`;\n } else if (isString(value)) {\n return value;\n }\n debugWarn(SCOPE, \"binding value must be a string or number\");\n}\n\nexport { addClass, addUnit, classNameToArray, getStyle, hasClass, removeClass, removeStyle, setStyle };\n//# sourceMappingURL=style.mjs.map\n","<script lang=\"ts\" setup>\nimport type { Field } from '@formily/core'\nimport type {\n FormItemContext,\n FormItemValidateState,\n FormValidationResult,\n TooltipInstance,\n} from 'element-plus'\nimport type { ICalculatedFormLayoutProps } from 'src/form-layout/types'\nimport type { CSSProperties } from 'vue'\nimport type { IFormItemProps } from './types'\nimport { CircleCheck, CircleClose, InfoFilled, Warning } from '@element-plus/icons-vue'\nimport { isArr, isValid } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { ElIcon, ElTooltip, formItemContextKey, useFormSize, useId, useNamespace } from 'element-plus'\nimport { addUnit } from 'element-plus/es/utils/index'\nimport { pick } from 'lodash-es'\nimport { computed, isVNode, provide, reactive, ref, useSlots, watch } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FORM_LAYOUT_PROPS_KEYS, formLayoutShallowContext, useFormLayout } from '../form-layout/utils'\n\ndefineOptions({\n name: 'FFormItem',\n})\nconst props = withDefaults(defineProps<IFormItemProps>(), {\n asterisk: undefined,\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n})\nconst slots = useSlots()\nconst ns = useNamespace('form-item')\nconst prefixCls = `${stylePrefix}-form-item`\nconst rootFormItemClass = computed(() => props.internalFormItemClass || ns.b())\nconst formItemConfig = computed<Partial<ICalculatedFormLayoutProps>>(() =>\n Object.fromEntries(\n Object.entries(pick(props, FORM_LAYOUT_PROPS_KEYS))\n .filter(([_, value]) => isValid(value)),\n ),\n)\nconst formlayoutConfig = useFormLayout()\nconst formlayout = computed(() => Object.assign({\n colon: true,\n feedbackLayout: 'loose',\n fullness: false,\n labelWrap: false,\n}, formlayoutConfig.value, formItemConfig.value))\nconst field = useField<Field>()\n\nconst inheritedSize = useFormSize(undefined, { formItem: false })\nconst formItemSize = computed(() => {\n if (isValid(formlayout.value.size)) {\n return formlayout.value.size\n }\n return inheritedSize.value\n})\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst formItemRef = ref<HTMLDivElement>()\nconst labelRef = ref<HTMLElement>()\nconst feedbackTooltipRef = ref<TooltipInstance>()\ndefineExpose({\n feedbackTooltipRef,\n})\n\nconst labelPosition = computed(\n () => {\n if (formlayout.value.layout === 'vertical' || (isArr(formlayout.value.layout) && formlayout.value.layout.includes('vertical' as any))) {\n return 'top'\n }\n return formlayout.value.labelAlign ?? 'right'\n },\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(formlayout.value.labelWidth || '')\n if (labelWidth)\n return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n const contentWidth = addUnit(formlayout.value?.wrapperWidth || '')\n if (contentWidth)\n return { width: contentWidth, flex: 'unset' }\n return {}\n})\n\nconst contentWrapperStyle = computed<CSSProperties>(() => {\n return {\n justifyContent: formlayout.value?.wrapperAlign === 'right' && 'flex-end',\n }\n})\n\nconst isRequired = computed(() =>\n props.asterisk && field.value?.pattern !== 'readPretty',\n)\n\nconst formItemClasses = computed(() => [\n rootFormItemClass.value,\n ns.m(formItemSize.value || 'default'),\n ns.is(props.feedbackStatus),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.asterisk),\n ns.is('no-asterisk', formlayout.value?.hideRequiredAsterisk),\n ns.is(formlayout.value.feedbackLayout),\n formlayout.value?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formlayout.value?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst validateClasses = computed(() => [\n `${prefixCls}-feedback`,\n ns.is(props.feedbackStatus),\n ns.is('loose', formlayout.value.feedbackLayout === 'loose'),\n])\n\nconst hasLabel = computed<boolean>(() => {\n return (props.label !== '' && isValid(props.label)) || isValid(slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nasync function validate(): FormValidationResult {\n return true\n}\n/* istanbul ignore next -- @preserve */\nconst clearValidate: FormItemContext['clearValidate'] = () => {}\n/* istanbul ignore next -- @preserve */\nconst resetField: FormItemContext['resetField'] = async () => {}\n/* istanbul ignore next -- @preserve */\nconst setInitialValue: FormItemContext['setInitialValue'] = () => {}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n /* istanbul ignore else -- @preserve */\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter(listId => listId !== id)\n}\n\nconst isEllipsisActive = ref(false)\nuseResizeObserver(labelRef, () => {\n isEllipsisActive.value = labelRef.value?.scrollWidth > labelRef.value?.clientWidth\n})\nconst isEllipsis = computed(() => {\n return isEllipsisActive.value && !formlayout.value.labelWrap\n})\n\n// HACK computed无法监听到props.feedbackStatus的变化\nconst _validateState = ref<FormItemValidateState>('')\nconst context: FormItemContext = reactive({\n $el: formItemRef,\n labelWidth: formlayout.value?.labelWidth,\n size: formItemSize,\n validateState: _validateState.value,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n labelPosition,\n inlineMessage: true,\n showMessage: true,\n fieldValue: field.value?.value,\n validateMessage: '',\n propString: '',\n setInitialValue,\n})\nwatch(() => props.feedbackStatus, (val) => {\n if (val === 'pending') {\n context.validateState = 'validating'\n return\n }\n if (val === 'warning') {\n context.validateState = ''\n return\n }\n context.validateState = val\n}, {\n immediate: true,\n})\n\nprovide(formLayoutShallowContext, ref({\n ...(isValid(formlayout.value.size) && { size: formlayout.value.size }),\n ...(isValid(formlayout.value.colon) && { colon: formlayout.value.colon }),\n}))\nprovide(formItemContextKey, context)\n</script>\n\n<template>\n <div\n ref=\"formItemRef\" :class=\"[prefixCls, formlayout.labelWrap && 'is-warp', ...formItemClasses]\"\n :role=\"isGroup ? 'group' : undefined\" :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\" v-if=\"hasLabel\" :id=\"labelId\" :for=\"labelFor\"\n :class=\"[ns.e('label'), isValid(formlayout.labelCol) && `${prefixCls}-col-${formlayout.labelCol}`]\"\n :style=\"labelStyle\"\n >\n <!-- label -->\n <template v-if=\"isVNode(props.label)\">\n <component :is=\"props.label\" />\n </template>\n <div v-else :class=\"`${prefixCls}-label__wrapper`\">\n <ElTooltip :disabled=\"!isEllipsis && formlayout.tooltipLayout !== 'text'\">\n <span\n :class=\"{\n [`${prefixCls}-label-content`]: true,\n ['is-tooltip']: isEllipsis || (props.tooltip && formlayout.tooltipLayout === 'text'),\n }\"\n >\n <span ref=\"labelRef\">{{ props.label }}</span>\n </span>\n <template #content>\n <template v-if=\"isVNode(props.tooltip)\">\n <component :is=\"props.tooltip\" />\n </template>\n <div v-else :style=\"`width: ${labelRef?.clientWidth ?? 0}px;`\">\n <template v-if=\"isEllipsis\">\n {{ props.label }}\n </template>\n <template v-if=\"formlayout.tooltipLayout === 'text'\">\n {{ props.tooltip }}\n </template>\n </div>\n </template>\n </ElTooltip>\n <ElTooltip v-if=\"props.tooltip && formlayout.tooltipLayout !== 'text'\" :content=\"props.tooltip\">\n <ElIcon :class=\"`${prefixCls}-label-tooltip`\">\n <InfoFilled />\n </ElIcon>\n </ElTooltip>\n <span v-if=\"formlayout.colon\" :class=\"`${prefixCls}-colon`\">:</span>\n </div>\n </component>\n <!-- content -->\n <div\n :class=\"[\n `${prefixCls}-content__wrapper`,\n isValid(formlayout.wrapperCol) && `${prefixCls}-col-${formlayout.wrapperCol}`,\n ]\"\n :style=\"contentWrapperStyle\"\n >\n <template v-if=\"isValid(props.addonBefore)\">\n <template v-if=\"isVNode(props.addonBefore)\">\n <component :is=\"props.addonBefore\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-before`\">\n {{ props.addonBefore }}\n </div>\n </template>\n <div\n :class=\"[\n ns.e('content'),\n formlayout.fullness && 'is-fullness',\n ns.is('addon-after', !!props.addonAfter),\n ]\" :style=\"contentStyle\"\n >\n <ElTooltip\n v-if=\"formlayout.feedbackLayout === 'popover'\"\n ref=\"feedbackTooltipRef\"\n :visible=\"!!props.feedbackText\"\n effect=\"light\"\n :offset=\"6\"\n >\n <template #default>\n <slot />\n </template>\n <template #content>\n <div :class=\"[...validateClasses, ns.is('tooltip')]\">\n <ElIcon>\n <CircleClose v-if=\"props.feedbackStatus === 'error'\" />\n <CircleCheck v-if=\"props.feedbackStatus === 'success'\" />\n <Warning v-if=\"props.feedbackStatus === 'warning'\" />\n </ElIcon>\n {{ props.feedbackText }}\n </div>\n </template>\n </ElTooltip>\n <slot v-else />\n <TransitionGroup :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <div v-if=\"props.feedbackText && formlayout.feedbackLayout !== 'popover'\" :class=\"validateClasses\">\n {{ props.feedbackText }}\n </div>\n <template v-if=\"isValid(props.extra)\">\n <template v-if=\"isVNode(props.extra)\">\n <component :is=\"props.extra\" />\n </template>\n <div v-else :class=\"`${prefixCls}-extra`\">\n {{ props.extra }}\n </div>\n </template>\n </TransitionGroup>\n </div>\n <template v-if=\"isValid(props.addonAfter)\">\n <template v-if=\"isVNode(props.addonAfter)\">\n <component :is=\"props.addonAfter\" />\n </template>\n <div v-else :class=\"`${prefixCls}-addon-after`\">\n {{ props.addonAfter }}\n </div>\n </template>\n </div>\n </div>\n</template>\n","import { isVoidField } from '@formily/core'\nimport { connect, mapProps } from '@silver-formily/vue'\nimport { composeExport } from '../__builtins__'\nimport FormBaseItem from './form-item.vue'\nimport { determineFeedbackStatus, getFeedbackMessage } from './utils'\nimport './style.scss'\n\nexport function fieldFeedbackMapper(props, field) {\n if (isVoidField(field) || !field) {\n return props\n }\n\n const feedbackText = getFeedbackMessage(field)\n const feedbackStatus = determineFeedbackStatus(field)\n const asterisk = 'asterisk' in props\n ? props.asterisk\n : field.required && field.pattern !== 'readPretty'\n\n return {\n ...props,\n feedbackText,\n feedbackStatus,\n asterisk,\n }\n}\n\nconst Item = connect<typeof FormBaseItem>(\n FormBaseItem,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport const FormItem = composeExport(Item, {\n BaseItem: FormBaseItem,\n})\n\nexport default FormItem\n\nexport { default as FormBaseItem } from './form-item.vue'\nexport type { IFormItemProps } from './types'\n"],"names":["SCOPE","addUnit","value","defaultUnit","isNumber","isStringNumber","isString","debugWarn","props","__props","slots","useSlots","ns","useNamespace","prefixCls","stylePrefix","rootFormItemClass","computed","formItemConfig","pick","FORM_LAYOUT_PROPS_KEYS","_","isValid","formlayoutConfig","useFormLayout","formlayout","field","useField","inheritedSize","useFormSize","formItemSize","labelId","useId","inputIds","ref","validateState","formItemRef","labelRef","feedbackTooltipRef","__expose","labelPosition","isArr","labelStyle","labelWidth","contentStyle","contentWidth","contentWrapperStyle","isRequired","formItemClasses","validateClasses","hasLabel","labelFor","isGroup","validate","clearValidate","resetField","setInitialValue","addInputId","id","removeInputId","listId","isEllipsisActive","useResizeObserver","isEllipsis","_validateState","context","reactive","watch","val","provide","formLayoutShallowContext","formItemContextKey","_createElementBlock","_unref","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","isVNode","_createVNode","ElTooltip","_normalizeStyle","_Fragment","_createTextVNode","_toDisplayString","_createElementVNode","ElIcon","InfoFilled","_renderSlot","_ctx","CircleClose","CircleCheck","Warning","_TransitionGroup","fieldFeedbackMapper","isVoidField","feedbackText","getFeedbackMessage","feedbackStatus","determineFeedbackStatus","asterisk","Item","connect","FormBaseItem","mapProps","FormItem","composeExport"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAMA,KAAQ;AAgDd,SAASC,EAAQC,GAAOC,IAAc,MAAM;AAC1C,MAAI,CAACD,KAASA,MAAU,EAAG,QAAO;AAClC,MAAIE,GAASF,CAAK,KAAKG,GAAeH,CAAK;AACzC,WAAO,GAAGA,CAAK,GAAGC,CAAW;AACxB,MAAIG,GAASJ,CAAK;AACvB,WAAOA;AAET,EAAAK,GAAUP,IAAO,0CAA0C;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA,UAAMQ,IAAQC,GAMRC,IAAQC,GAAA,GACRC,IAAKC,GAAa,WAAW,GAC7BC,IAAY,GAAGC,EAAW,cAC1BC,IAAoBC,EAAS,MAAMT,EAAM,yBAAyBI,EAAG,GAAG,GACxEM,IAAiBD;AAAA,MAA8C,MACnE,OAAO;AAAA,QACL,OAAO,QAAQE,GAAKX,GAAOY,EAAsB,CAAC,EAC/C,OAAO,CAAC,CAACC,GAAGnB,CAAK,MAAMoB,EAAQpB,CAAK,CAAC;AAAA,MAAA;AAAA,IAC1C,GAEIqB,IAAmBC,GAAA,GACnBC,IAAaR,EAAS,MAAM,OAAO,OAAO;AAAA,MAC9C,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,WAAW;AAAA,IAAA,GACVM,EAAiB,OAAOL,EAAe,KAAK,CAAC,GAC1CQ,IAAQC,GAAA,GAERC,IAAgBC,GAAY,QAAW,EAAE,UAAU,IAAO,GAC1DC,IAAeb,EAAS,MACxBK,EAAQG,EAAW,MAAM,IAAI,IACxBA,EAAW,MAAM,OAEnBG,EAAc,KACtB,GAEKG,IAAUC,KAAQ,OAClBC,IAAWC,EAAc,EAAE,GAE3BC,IAAgBD,EAA2B,EAAE,GAC7CE,IAAcF,EAAA,GACdG,IAAWH,EAAA,GACXI,IAAqBJ,EAAA;AAC3B,IAAAK,EAAa;AAAA,MACX,oBAAAD;AAAA,IAAA,CACD;AAED,UAAME,IAAgBvB;AAAA,MACpB,MACMQ,EAAW,MAAM,WAAW,cAAegB,GAAMhB,EAAW,MAAM,MAAM,KAAKA,EAAW,MAAM,OAAO,SAAS,UAAiB,IAC1H,QAEFA,EAAW,MAAM,cAAc;AAAA,IACxC,GAGIiB,IAAazB,EAAwB,MAAM;AAC/C,UAAIuB,EAAc,UAAU;AAC1B,eAAO,CAAA;AAGT,YAAMG,IAAa1C,EAAQwB,EAAW,MAAM,cAAc,EAAE;AAC5D,aAAIkB,IACK,EAAE,OAAOA,EAAA,IACX,CAAA;AAAA,IACT,CAAC,GAEKC,KAAe3B,EAAwB,MAAM;AACjD,YAAM4B,IAAe5C,EAAQwB,EAAW,OAAO,gBAAgB,EAAE;AACjE,aAAIoB,IACK,EAAE,OAAOA,GAAc,MAAM,QAAA,IAC/B,CAAA;AAAA,IACT,CAAC,GAEKC,KAAsB7B,EAAwB,OAC3C;AAAA,MACL,gBAAgBQ,EAAW,OAAO,iBAAiB,WAAW;AAAA,IAAA,EAEjE,GAEKsB,KAAa9B;AAAA,MAAS,MAC1BT,EAAM,YAAYkB,EAAM,OAAO,YAAY;AAAA,IAAA,GAGvCsB,KAAkB/B,EAAS,MAAM;AAAA,MACrCD,EAAkB;AAAA,MAClBJ,EAAG,EAAEkB,EAAa,SAAS,SAAS;AAAA,MACpClB,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,cAAcuB,EAAc,UAAU,YAAY;AAAA,MACxDvB,EAAG,GAAG,WAAWuB,EAAc,UAAU,SAAS;AAAA,MAClDvB,EAAG,GAAG,YAAYmC,GAAW,SAASvC,EAAM,QAAQ;AAAA,MACpDI,EAAG,GAAG,eAAea,EAAW,OAAO,oBAAoB;AAAA,MAC3Db,EAAG,GAAGa,EAAW,MAAM,cAAc;AAAA,MACrCA,EAAW,OAAO,4BAA4B,UAC1C,mBACA;AAAA,MACJ;AAAA,QACE,CAACb,EAAG,EAAE,UAAU,CAAC,GAAGa,EAAW,OAAO;AAAA,QACtC,CAACb,EAAG,EAAE,SAAS4B,EAAc,KAAK,EAAE,CAAC,GAAGA,EAAc;AAAA,MAAA;AAAA,IACxD,CACD,GAEKS,IAAkBhC,EAAS,MAAM;AAAA,MACrC,GAAGH,CAAS;AAAA,MACZF,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,SAASa,EAAW,MAAM,mBAAmB,OAAO;AAAA,IAAA,CAC3D,GAEKyB,IAAWjC,EAAkB,MACzBT,EAAM,UAAU,MAAMc,EAAQd,EAAM,KAAK,KAAMc,EAAQZ,EAAM,KAAK,CAC3E,GAEKyC,IAAWlC,EAA6B,MAE1CT,EAAM,QAAQyB,EAAS,MAAM,WAAW,IAAIA,EAAS,MAAM,CAAC,IAAI,OAEnE,GAEKmB,IAAUnC,EAAkB,MACzB,CAACkC,EAAS,SAASD,EAAS,KACpC;AAED,mBAAeG,KAAiC;AAC9C,aAAO;AAAA,IACT;AAAA,IAAA;AAEA,UAAMC,KAAkD,MAAM;AAAA,IAAC;AAAA,IAAA;AAE/D,UAAMC,KAA4C,YAAY;AAAA,IAAC;AAAA,IAAA;AAE/D,UAAMC,KAAsD,MAAM;AAAA,IAAC,GAE7DC,KAA4C,CAACC,MAAe;AAAA,MAAA;AAEhE,MAAKzB,EAAS,MAAM,SAASyB,CAAE,KAC7BzB,EAAS,MAAM,KAAKyB,CAAE;AAAA,IAE1B,GAEMC,KAAkD,CAACD,MAAe;AACtE,MAAAzB,EAAS,QAAQA,EAAS,MAAM,OAAO,CAAA2B,MAAUA,MAAWF,CAAE;AAAA,IAChE,GAEMG,IAAmB3B,EAAI,EAAK;AAClC,IAAA4B,GAAkBzB,GAAU,MAAM;AAChC,MAAAwB,EAAiB,QAAQxB,EAAS,OAAO,cAAcA,EAAS,OAAO;AAAA,IACzE,CAAC;AACD,UAAM0B,IAAa9C,EAAS,MACnB4C,EAAiB,SAAS,CAACpC,EAAW,MAAM,SACpD,GAGKuC,KAAiB9B,EAA2B,EAAE,GAC9C+B,IAA2BC,GAAS;AAAA,MACxC,KAAK9B;AAAA,MACL,YAAYX,EAAW,OAAO;AAAA,MAC9B,MAAMK;AAAA,MACN,eAAekC,GAAe;AAAA,MAC9B,SAAAjC;AAAA,MACA,UAAAE;AAAA,MACA,SAAAmB;AAAA,MACA,UAAAF;AAAA,MACA,YAAAO;AAAA,MACA,eAAAE;AAAA,MACA,YAAAJ;AAAA,MACA,eAAAD;AAAA,MACA,UAAAD;AAAA,MACA,eAAAb;AAAA,MACA,eAAe;AAAA,MACf,aAAa;AAAA,MACb,YAAYd,EAAM,OAAO;AAAA,MACzB,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,iBAAA8B;AAAA,IAAA,CACD;AACD,WAAAW,GAAM,MAAM3D,EAAM,gBAAgB,CAAC4D,MAAQ;AACzC,UAAIA,MAAQ,WAAW;AACrB,QAAAH,EAAQ,gBAAgB;AACxB;AAAA,MACF;AACA,UAAIG,MAAQ,WAAW;AACrB,QAAAH,EAAQ,gBAAgB;AACxB;AAAA,MACF;AACA,MAAAA,EAAQ,gBAAgBG;AAAA,IAC1B,GAAG;AAAA,MACD,WAAW;AAAA,IAAA,CACZ,GAEDC,EAAQC,IAA0BpC,EAAI;AAAA,MACpC,GAAIZ,EAAQG,EAAW,MAAM,IAAI,KAAK,EAAE,MAAMA,EAAW,MAAM,KAAA;AAAA,MAC/D,GAAIH,EAAQG,EAAW,MAAM,KAAK,KAAK,EAAE,OAAOA,EAAW,MAAM,MAAA;AAAA,IAAM,CACxE,CAAC,GACF4C,EAAQE,IAAoBN,CAAO,mBAIjCO,EAiHM,OAAA;AAAA,eAhHA;AAAA,MAAJ,KAAIpC;AAAA,MAAe,UAAQtB,GAAWW,QAAW,2BAA2BuB,GAAA,KAAe,CAAA;AAAA,MAC1F,MAAMI,EAAA,QAAO,UAAa;AAAA,MAAY,mBAAiBA,EAAA,QAAUqB,EAAA1C,CAAA,IAAU;AAAA,IAAA;MAGnCmB,EAAA,SADzCwB,EAAA,GAAAC,EAwCYC,EAvCLzB,EAAA,QAAQ,UAAA,KAAA,GAAA;AAAA;QAAqC,IAAIsB,EAAA1C,CAAA;AAAA,QAAU,KAAKoB,EAAA;AAAA,QACpE,OAAK0B,EAAA,CAAGJ,EAAA7D,CAAA,EAAG,YAAY6D,EAAAnD,CAAA,EAAQG,EAAA,MAAW,QAAQ,KAAA,GAAQX,CAAS,QAAQW,EAAA,MAAW,QAAQ,EAAA,CAAA;AAAA,QAC9F,SAAOiB,EAAA,KAAU;AAAA,MAAA;mBAGlB,MAEW;AAAA,UAFKoC,EAAQtE,EAAM,KAAK,UACjCmE,EAA+BC,EAAfpE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7BgE,EA8BM,OAAA;AAAA;YA9BO,YAAU1D,CAAS,iBAAA;AAAA,UAAA;YAC9BiE,EAsBYN,EAAAO,CAAA,GAAA;AAAA,cAtBA,UAAQ,CAAGjB,EAAA,SAActC,EAAA,MAAW,kBAAa;AAAA,YAAA;cAShD,WACT,MAEW;AAAA,gBAFKqD,EAAQtE,EAAM,OAAO,UACnCmE,EAAiCC,EAAjBpE,EAAM,OAAO,GAAA,EAAA,KAAA,EAAA,CAAA,WAE/BgE,EAOM,OAAA;AAAA;kBAPO,OAAKS,EAAA,UAAY5C,EAAA,OAAU,eAAW,CAAA,KAAA;AAAA,gBAAA;kBACjC0B,EAAA,cAAhBS,EAEWU,GAAA,EAAA,KAAA,KAAA;AAAA,oBADNC,EAAAC,EAAA5E,EAAM,KAAK,GAAA,CAAA;AAAA,kBAAA;kBAEAiB,EAAA,MAAW,kBAAa,eAAxC+C,EAEWU,GAAA,EAAA,KAAA,KAAA;AAAA,oBADNC,EAAAC,EAAA5E,EAAM,OAAO,GAAA,CAAA;AAAA,kBAAA;;;yBAjBtB,MAOO;AAAA,gBAPP6E,EAOO,QAAA;AAAA,kBANJ,OAAKR,EAAA;AAAA,wBAAsB/D,CAAS,gBAAA,GAAA;AAAA,oBAAuD,cAAAiD,EAAA,SAAevD,EAAM,WAAWiB,EAAA,MAAW,kBAAa;AAAA,kBAAA;;kBAKpJ4D,EAA6C,QAAA;AAAA,6BAAnC;AAAA,oBAAJ,KAAIhD;AAAA,kBAAA,GAAc+C,EAAA5E,EAAM,KAAK,GAAA,GAAA;AAAA,gBAAA;;;;YAgBtBA,EAAM,WAAWiB,EAAA,MAAW,kBAAa,eAA1DkD,EAIYF,EAAAO,CAAA,GAAA;AAAA;cAJ4D,SAASxE,EAAM;AAAA,YAAA;yBACrF,MAES;AAAA,gBAFTuE,EAESN,EAAAa,CAAA,GAAA;AAAA,kBAFA,YAAUxE,CAAS,gBAAA;AAAA,gBAAA;6BAC1B,MAAc;AAAA,oBAAdiE,EAAcN,EAAAc,EAAA,CAAA;AAAA,kBAAA;;;;;;YAGN9D,EAAA,MAAW,cAAvB+C,EAAoE,QAAA;AAAA;cAArC,YAAU1D,CAAS,QAAA;AAAA,YAAA,GAAU,KAAC,CAAA;;;;;MAIjEuE,EAkEM,OAAA;AAAA,QAjEH,OAAKR,EAAA;AAAA,aAAe/D,CAAS;AAAA,UAA6B2D,EAAAnD,CAAA,EAAQG,QAAW,UAAU,QAAQX,CAAS,QAAQW,EAAA,MAAW,UAAU;AAAA,QAAA;QAIrI,SAAOqB,GAAA,KAAmB;AAAA,MAAA;QAEX2B,EAAAnD,CAAA,EAAQd,EAAM,WAAW,UAAzCgE,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQtE,EAAM,WAAW,UACvCmE,EAAqCC,EAArBpE,EAAM,WAAW,GAAA,EAAA,KAAA,EAAA,CAAA,WAEnCgE,EAEM,OAAA;AAAA;YAFO,YAAU1D,CAAS,eAAA;AAAA,UAAA,GAC3BsE,EAAA5E,EAAM,WAAW,GAAA,CAAA;AAAA,QAAA;QAGxB6E,EA0CM,OAAA;AAAA,UAzCH,OAAKR,EAAA;AAAA,YAAcJ,EAAA7D,CAAA,EAAG,EAAC,SAAA;AAAA,YAAuBa,EAAA,MAAW,YAAQ;AAAA,YAA6BgD,EAAA7D,CAAA,EAAG,GAAE,eAAA,CAAA,CAAkBJ,EAAM,UAAU;AAAA,UAAA;UAIlI,SAAOoC,GAAA,KAAY;AAAA,QAAA;UAGfnB,EAAA,MAAW,mBAAc,kBADjCkD,EAoBYF,EAAAO,CAAA,GAAA;AAAA;qBAlBN;AAAA,YAAJ,KAAI1C;AAAA,YACH,SAAO,CAAA,CAAI9B,EAAM;AAAA,YAClB,QAAO;AAAA,YACN,QAAQ;AAAA,UAAA;YAEE,WACT,MAAQ;AAAA,cAARgF,EAAQC,EAAA,QAAA,SAAA;AAAA,YAAA;YAEC,WACT,MAOM;AAAA,cAPNJ,EAOM,OAAA;AAAA,gBAPA,OAAKR,EAAA,CAAA,GAAM5B,EAAA,OAAiBwB,EAAA7D,CAAA,EAAG,GAAE,SAAA,CAAA,CAAA;AAAA,cAAA;gBACrCmE,EAISN,EAAAa,CAAA,GAAA,MAAA;AAAA,6BAHP,MAAuD;AAAA,oBAApC9E,EAAM,mBAAc,gBAAvCmE,EAAuDF,EAAAiB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBACpClF,EAAM,mBAAc,kBAAvCmE,EAAyDF,EAAAkB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBAC1CnF,EAAM,mBAAc,kBAAnCmE,EAAqDF,EAAAmB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;;;;kBAC9C,MACTR,EAAG5E,EAAM,YAAY,GAAA,CAAA;AAAA,cAAA;;;gCAI3BgF,EAAeC,EAAA,QAAA,WAAA,EAAA,KAAA,GAAA;AAAA,UACfV,EAYkBc,IAAA;AAAA,YAZA,MAAI,GAAKpB,EAAA7D,CAAA,EAAG,UAAU,KAAK;AAAA,UAAA;uBAC3C,MAEM;AAAA,cAFKJ,EAAM,gBAAgBiB,EAAA,MAAW,mBAAc,kBAA1D+C,EAEM,OAAA;AAAA;gBAFqE,SAAOvB,EAAA,KAAe;AAAA,cAAA,GAC5FmC,EAAA5E,EAAM,YAAY,GAAA,CAAA;cAEPiE,EAAAnD,CAAA,EAAQd,EAAM,KAAK,UAAnCgE,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,gBANOJ,EAAQtE,EAAM,KAAK,UACjCmE,EAA+BC,EAAfpE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7BgE,EAEM,OAAA;AAAA;kBAFO,YAAU1D,CAAS,QAAA;AAAA,gBAAA,GAC3BsE,EAAA5E,EAAM,KAAK,GAAA,CAAA;AAAA,cAAA;;;;;QAKNiE,EAAAnD,CAAA,EAAQd,EAAM,UAAU,UAAxCgE,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQtE,EAAM,UAAU,UACtCmE,EAAoCC,EAApBpE,EAAM,UAAU,GAAA,EAAA,KAAA,EAAA,CAAA,WAElCgE,EAEM,OAAA;AAAA;YAFO,YAAU1D,CAAS,cAAA;AAAA,UAAA,GAC3BsE,EAAA5E,EAAM,UAAU,GAAA,CAAA;AAAA,QAAA;;;;;ACjUtB,SAASsF,GAAoBtF,GAAOkB,GAAO;AAChD,MAAIqE,GAAYrE,CAAK,KAAK,CAACA;AACzB,WAAOlB;AAGT,QAAMwF,IAAeC,GAAmBvE,CAAK,GACvCwE,IAAiBC,GAAwBzE,CAAK,GAC9C0E,IAAW,cAAc5F,IAC3BA,EAAM,WACNkB,EAAM,YAAYA,EAAM,YAAY;AAExC,SAAO;AAAA,IACL,GAAGlB;AAAA,IACH,cAAAwF;AAAA,IACA,gBAAAE;AAAA,IACA,UAAAE;AAAA,EAAA;AAEJ;AAEA,MAAMC,KAAOC;AAAA,EACXC;AAAAA,EACAC;AAAA,IACE;AAAA,MACE,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEfV;AAAA,EAAA;AAEJ,GAEaW,KAAWC,GAAcL,IAAM;AAAA,EAC1C,UAAUE;AACZ,CAAC;","x_google_ignoreList":[0]}
@@ -1,4 +1,8 @@
1
1
  export interface IFormItemProps {
2
+ /**
3
+ * Internal: override Element Plus root class for isolated scenes (e.g. QueryFormItem).
4
+ */
5
+ internalFormItemClass?: string;
2
6
  label?: string;
3
7
  for?: string;
4
8
  tooltip?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@formily/core'\r\nimport { isArr } from '@formily/shared'\r\n\r\nexport function getFeedbackMessage(field: Field) {\r\n const messages = {\r\n errors: field.selfErrors.join(', '),\r\n warnings: field.selfWarnings.join(', '),\r\n successes: field.selfSuccesses.join(', '),\r\n }\r\n\r\n return messages.errors || messages.warnings || messages.successes\r\n}\r\n\r\nexport function determineFeedbackStatus(field: Field) {\r\n return isArr(field.decorator)\r\n ? (field.decorator[1]?.feedbackStatus ?? field.validateStatus)\r\n : field.validateStatus\r\n}\r\n"],"names":["getFeedbackMessage","field","messages","determineFeedbackStatus","isArr"],"mappings":";AAGO,SAASA,EAAmBC,GAAc;AAC/C,QAAMC,IAAW;AAAA,IACf,QAAQD,EAAM,WAAW,KAAK,IAAI;AAAA,IAClC,UAAUA,EAAM,aAAa,KAAK,IAAI;AAAA,IACtC,WAAWA,EAAM,cAAc,KAAK,IAAI;AAAA,EAAA;AAG1C,SAAOC,EAAS,UAAUA,EAAS,YAAYA,EAAS;AAC1D;AAEO,SAASC,EAAwBF,GAAc;AACpD,SAAOG,EAAMH,EAAM,SAAS,IACvBA,EAAM,UAAU,CAAC,GAAG,kBAAkBA,EAAM,iBAC7CA,EAAM;AACZ;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@formily/core'\nimport { isArr } from '@formily/shared'\n\nexport function getFeedbackMessage(field: Field) {\n const messages = {\n errors: field.selfErrors.join(', '),\n warnings: field.selfWarnings.join(', '),\n successes: field.selfSuccesses.join(', '),\n }\n\n return messages.errors || messages.warnings || messages.successes\n}\n\nexport function determineFeedbackStatus(field: Field) {\n return isArr(field.decorator)\n ? (field.decorator[1]?.feedbackStatus ?? field.validateStatus)\n : field.validateStatus\n}\n"],"names":["getFeedbackMessage","field","messages","determineFeedbackStatus","isArr"],"mappings":";AAGO,SAASA,EAAmBC,GAAc;AAC/C,QAAMC,IAAW;AAAA,IACf,QAAQD,EAAM,WAAW,KAAK,IAAI;AAAA,IAClC,UAAUA,EAAM,aAAa,KAAK,IAAI;AAAA,IACtC,WAAWA,EAAM,cAAc,KAAK,IAAI;AAAA,EAAA;AAG1C,SAAOC,EAAS,UAAUA,EAAS,YAAYA,EAAS;AAC1D;AAEO,SAASC,EAAwBF,GAAc;AACpD,SAAOG,EAAMH,EAAM,SAAS,IACvBA,EAAM,UAAU,CAAC,GAAG,kBAAkBA,EAAM,iBAC7CA,EAAM;AACZ;"}
@@ -2,10 +2,14 @@ import { defineComponent as A, ref as l, computed as d, provide as e, watch as x
2
2
  import { isValid as z, isEmpty as D } from "@formily/shared";
3
3
  import { useThrottleFn as T } from "@vueuse/core";
4
4
  import { useId as M, formContextKey as S } from "element-plus";
5
- import { formLayoutIdContext as W, useFormDeepLayout as $, useResponsiveFormLayout as H, filterValidFormLayoutProps as r, formLayoutDeepContext as V, formLayoutShallowContext as E } from "./utils.mjs";
6
- import { useCleanAttrs as K } from "../__builtins__/shared/utils.mjs";
7
- import { stylePrefix as j } from "../__builtins__/configs/index.mjs";
8
- const Y = /* @__PURE__ */ A({
5
+ import { stylePrefix as W } from "../__builtins__/configs/index.mjs";
6
+ import "@formily/reactive";
7
+ import "@formily/core";
8
+ import "@silver-formily/reactive-vue";
9
+ import "@silver-formily/vue";
10
+ import { useCleanAttrs as $ } from "../__builtins__/shared/utils.mjs";
11
+ import { formLayoutIdContext as H, useFormDeepLayout as V, useResponsiveFormLayout as E, filterValidFormLayoutProps as r, formLayoutDeepContext as K, formLayoutShallowContext as j } from "./utils.mjs";
12
+ const to = /* @__PURE__ */ A({
9
13
  name: "FFormLayout",
10
14
  inheritAttrs: !1,
11
15
  __name: "form-layout",
@@ -31,18 +35,18 @@ const Y = /* @__PURE__ */ A({
31
35
  requireAsteriskPosition: {}
32
36
  },
33
37
  setup(c) {
34
- const o = c, y = `${j}-form`, { props: s } = K(), n = l(), u = o.tag === "form", v = M(), p = d(() => s.value.id ?? `formily-${v.value}`), L = d(() => u ? p.value : s.value.id);
35
- u && e(W, p);
36
- const h = $(), { props: a } = H(o, n), C = l({
38
+ const o = c, y = `${W}-form`, { props: s } = $(), n = l(), u = o.tag === "form", v = M(), p = d(() => s.value.id ?? `formily-${v.value}`), L = d(() => u ? p.value : s.value.id);
39
+ u && e(H, p);
40
+ const h = V(), { props: a } = E(o, n), C = l({
37
41
  ...h.value,
38
42
  ...o.shallow ? {
39
43
  size: o.size,
40
44
  ...z(o.colon) && { colon: o.colon }
41
45
  } : r(o)
42
46
  });
43
- e(V, C);
47
+ e(K, C);
44
48
  const f = l(o.shallow ? r(o) : {});
45
- e(E, f);
49
+ e(j, f);
46
50
  const k = T(() => {
47
51
  if (!D(a.value)) {
48
52
  const i = r(a.value);
@@ -76,6 +80,6 @@ const Y = /* @__PURE__ */ A({
76
80
  }
77
81
  });
78
82
  export {
79
- Y as _
83
+ to as _
80
84
  };
81
85
  //# sourceMappingURL=form-layout.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-layout.mjs","sources":["../../src/form-layout/form-layout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { FormContext } from 'element-plus'\r\nimport type { IFormLayoutProps } from './types'\r\nimport { isEmpty, isValid } from '@formily/shared'\r\nimport { useThrottleFn } from '@vueuse/core'\r\nimport { formContextKey, useId } from 'element-plus'\r\nimport { computed, provide, reactive, ref, toRef, watch } from 'vue'\r\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\r\nimport { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutIdContext, formLayoutShallowContext, useFormDeepLayout, useResponsiveFormLayout } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FFormLayout',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IFormLayoutProps>(), {\r\n tag: 'form',\r\n colon: undefined,\r\n labelWrap: undefined,\r\n fullness: undefined,\r\n size: 'default',\r\n layout: 'horizontal',\r\n shallow: true,\r\n statusIcon: true,\r\n asterisk: undefined,\r\n})\r\nconst formPrefixCls = `${stylePrefix}-form`\r\nconst { props: attrs } = useCleanAttrs()\r\nconst rootHTMLRef = ref<HTMLElement>()\r\nconst isFormTag = props.tag === 'form'\r\nconst formLayoutBaseId = useId()\r\nconst formLayoutId = computed(() => attrs.value.id ?? `formily-${formLayoutBaseId.value}`)\r\nconst formLayoutDomId = computed(() => (isFormTag ? formLayoutId.value : attrs.value.id))\r\nif (isFormTag) {\r\n provide(formLayoutIdContext, formLayoutId)\r\n}\r\n\r\nconst formLayoutDeepConfig = useFormDeepLayout()\r\nconst { props: responsiveProps } = useResponsiveFormLayout(props, rootHTMLRef)\r\n\r\nconst deepLayout = ref({\r\n ...formLayoutDeepConfig.value,\r\n ...(props.shallow\r\n ? {\r\n size: props.size,\r\n ...(isValid(props.colon) && { colon: props.colon }),\r\n }\r\n : filterValidFormLayoutProps(props)),\r\n})\r\nprovide(formLayoutDeepContext, deepLayout)\r\n\r\nconst shallowLayout = ref(props.shallow ? filterValidFormLayoutProps(props) : {})\r\nprovide(formLayoutShallowContext, shallowLayout)\r\n\r\nconst updateLayout = useThrottleFn(() => {\r\n if (!isEmpty(responsiveProps.value)) {\r\n const _responsiveProps = filterValidFormLayoutProps(responsiveProps.value)\r\n shallowLayout.value = filterValidFormLayoutProps({ ...props, ..._responsiveProps })\r\n }\r\n}, 200, true)\r\n\r\nwatch(() => [props, responsiveProps], updateLayout, {\r\n deep: true,\r\n immediate: true,\r\n})\r\n\r\nconst formContext = reactive({\r\n size: toRef(props, 'size'),\r\n statusIcon: toRef(props, 'statusIcon'),\r\n hideRequiredAsterisk: toRef(props, 'hideRequiredAsterisk'),\r\n requireAsteriskPosition: toRef(props, 'requireAsteriskPosition'),\r\n})\r\nprovide(formContextKey, formContext as FormContext)\r\n</script>\r\n\r\n<template>\r\n <component\r\n :is=\"props.tag\"\r\n :id=\"formLayoutDomId\"\r\n ref=\"rootHTMLRef\"\r\n :class=\"formPrefixCls\"\r\n v-bind=\"attrs\"\r\n @submit.prevent.stop\r\n >\r\n <slot />\r\n </component>\r\n</template>\r\n"],"names":["props","__props","formPrefixCls","stylePrefix","attrs","useCleanAttrs","rootHTMLRef","ref","isFormTag","formLayoutBaseId","useId","formLayoutId","computed","formLayoutDomId","provide","formLayoutIdContext","formLayoutDeepConfig","useFormDeepLayout","responsiveProps","useResponsiveFormLayout","deepLayout","isValid","filterValidFormLayoutProps","formLayoutDeepContext","shallowLayout","formLayoutShallowContext","updateLayout","useThrottleFn","isEmpty","_responsiveProps","watch","formContext","reactive","toRef","formContextKey","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_unref","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAQC,GAWRC,IAAgB,GAAGC,CAAW,SAC9B,EAAE,OAAOC,EAAA,IAAUC,EAAA,GACnBC,IAAcC,EAAA,GACdC,IAAYR,EAAM,QAAQ,QAC1BS,IAAmBC,EAAA,GACnBC,IAAeC,EAAS,MAAMR,EAAM,MAAM,MAAM,WAAWK,EAAiB,KAAK,EAAE,GACnFI,IAAkBD,EAAS,MAAOJ,IAAYG,EAAa,QAAQP,EAAM,MAAM,EAAG;AACxF,IAAII,KACFM,EAAQC,GAAqBJ,CAAY;AAG3C,UAAMK,IAAuBC,EAAA,GACvB,EAAE,OAAOC,EAAA,IAAoBC,EAAwBnB,GAAOM,CAAW,GAEvEc,IAAab,EAAI;AAAA,MACrB,GAAGS,EAAqB;AAAA,MACxB,GAAIhB,EAAM,UACN;AAAA,QACE,MAAMA,EAAM;AAAA,QACZ,GAAIqB,EAAQrB,EAAM,KAAK,KAAK,EAAE,OAAOA,EAAM,MAAA;AAAA,MAAM,IAEnDsB,EAA2BtB,CAAK;AAAA,IAAA,CACrC;AACD,IAAAc,EAAQS,GAAuBH,CAAU;AAEzC,UAAMI,IAAgBjB,EAAIP,EAAM,UAAUsB,EAA2BtB,CAAK,IAAI,EAAE;AAChF,IAAAc,EAAQW,GAA0BD,CAAa;AAE/C,UAAME,IAAeC,EAAc,MAAM;AACvC,UAAI,CAACC,EAAQV,EAAgB,KAAK,GAAG;AACnC,cAAMW,IAAmBP,EAA2BJ,EAAgB,KAAK;AACzE,QAAAM,EAAc,QAAQF,EAA2B,EAAE,GAAGtB,GAAO,GAAG6B,GAAkB;AAAA,MACpF;AAAA,IACF,GAAG,KAAK,EAAI;AAEZ,IAAAC,EAAM,MAAM,CAAC9B,GAAOkB,CAAe,GAAGQ,GAAc;AAAA,MAClD,MAAM;AAAA,MACN,WAAW;AAAA,IAAA,CACZ;AAED,UAAMK,IAAcC,EAAS;AAAA,MAC3B,MAAMC,EAAMjC,GAAO,MAAM;AAAA,MACzB,YAAYiC,EAAMjC,GAAO,YAAY;AAAA,MACrC,sBAAsBiC,EAAMjC,GAAO,sBAAsB;AAAA,MACzD,yBAAyBiC,EAAMjC,GAAO,yBAAyB;AAAA,IAAA,CAChE;AACD,WAAAc,EAAQoB,GAAgBH,CAA0B,cAIhDI,KAAAC,EASYC,EARLrC,EAAM,GAAG,GADhBsC,EASY;AAAA,MAPT,IAAIzB,EAAA;AAAA,eACD;AAAA,MAAJ,KAAIP;AAAA,MACH,OAAOJ;AAAA,IAAA,GACAqC,EAAAnC,CAAA,GAAK;AAAA,MACZ,4BAAD,MAAA;AAAA,MAAA,GAAoB,CAAA,WAAA,MAAA,CAAA;AAAA,IAAA;iBAEpB,MAAQ;AAAA,QAARoC,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}
1
+ {"version":3,"file":"form-layout.mjs","sources":["../../src/form-layout/form-layout.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FormContext } from 'element-plus'\nimport type { IFormLayoutProps } from './types'\nimport { isEmpty, isValid } from '@formily/shared'\nimport { useThrottleFn } from '@vueuse/core'\nimport { formContextKey, useId } from 'element-plus'\nimport { computed, provide, reactive, ref, toRef, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { filterValidFormLayoutProps, formLayoutDeepContext, formLayoutIdContext, formLayoutShallowContext, useFormDeepLayout, useResponsiveFormLayout } from './utils'\n\ndefineOptions({\n name: 'FFormLayout',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IFormLayoutProps>(), {\n tag: 'form',\n colon: undefined,\n labelWrap: undefined,\n fullness: undefined,\n size: 'default',\n layout: 'horizontal',\n shallow: true,\n statusIcon: true,\n asterisk: undefined,\n})\nconst formPrefixCls = `${stylePrefix}-form`\nconst { props: attrs } = useCleanAttrs()\nconst rootHTMLRef = ref<HTMLElement>()\nconst isFormTag = props.tag === 'form'\nconst formLayoutBaseId = useId()\nconst formLayoutId = computed(() => attrs.value.id ?? `formily-${formLayoutBaseId.value}`)\nconst formLayoutDomId = computed(() => (isFormTag ? formLayoutId.value : attrs.value.id))\nif (isFormTag) {\n provide(formLayoutIdContext, formLayoutId)\n}\n\nconst formLayoutDeepConfig = useFormDeepLayout()\nconst { props: responsiveProps } = useResponsiveFormLayout(props, rootHTMLRef)\n\nconst deepLayout = ref({\n ...formLayoutDeepConfig.value,\n ...(props.shallow\n ? {\n size: props.size,\n ...(isValid(props.colon) && { colon: props.colon }),\n }\n : filterValidFormLayoutProps(props)),\n})\nprovide(formLayoutDeepContext, deepLayout)\n\nconst shallowLayout = ref(props.shallow ? filterValidFormLayoutProps(props) : {})\nprovide(formLayoutShallowContext, shallowLayout)\n\nconst updateLayout = useThrottleFn(() => {\n if (!isEmpty(responsiveProps.value)) {\n const _responsiveProps = filterValidFormLayoutProps(responsiveProps.value)\n shallowLayout.value = filterValidFormLayoutProps({ ...props, ..._responsiveProps })\n }\n}, 200, true)\n\nwatch(() => [props, responsiveProps], updateLayout, {\n deep: true,\n immediate: true,\n})\n\nconst formContext = reactive({\n size: toRef(props, 'size'),\n statusIcon: toRef(props, 'statusIcon'),\n hideRequiredAsterisk: toRef(props, 'hideRequiredAsterisk'),\n requireAsteriskPosition: toRef(props, 'requireAsteriskPosition'),\n})\nprovide(formContextKey, formContext as FormContext)\n</script>\n\n<template>\n <component\n :is=\"props.tag\"\n :id=\"formLayoutDomId\"\n ref=\"rootHTMLRef\"\n :class=\"formPrefixCls\"\n v-bind=\"attrs\"\n @submit.prevent.stop\n >\n <slot />\n </component>\n</template>\n"],"names":["props","__props","formPrefixCls","stylePrefix","attrs","useCleanAttrs","rootHTMLRef","ref","isFormTag","formLayoutBaseId","useId","formLayoutId","computed","formLayoutDomId","provide","formLayoutIdContext","formLayoutDeepConfig","useFormDeepLayout","responsiveProps","useResponsiveFormLayout","deepLayout","isValid","filterValidFormLayoutProps","formLayoutDeepContext","shallowLayout","formLayoutShallowContext","updateLayout","useThrottleFn","isEmpty","_responsiveProps","watch","formContext","reactive","toRef","formContextKey","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_unref","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAMA,IAAQC,GAWRC,IAAgB,GAAGC,CAAW,SAC9B,EAAE,OAAOC,EAAA,IAAUC,EAAA,GACnBC,IAAcC,EAAA,GACdC,IAAYR,EAAM,QAAQ,QAC1BS,IAAmBC,EAAA,GACnBC,IAAeC,EAAS,MAAMR,EAAM,MAAM,MAAM,WAAWK,EAAiB,KAAK,EAAE,GACnFI,IAAkBD,EAAS,MAAOJ,IAAYG,EAAa,QAAQP,EAAM,MAAM,EAAG;AACxF,IAAII,KACFM,EAAQC,GAAqBJ,CAAY;AAG3C,UAAMK,IAAuBC,EAAA,GACvB,EAAE,OAAOC,EAAA,IAAoBC,EAAwBnB,GAAOM,CAAW,GAEvEc,IAAab,EAAI;AAAA,MACrB,GAAGS,EAAqB;AAAA,MACxB,GAAIhB,EAAM,UACN;AAAA,QACE,MAAMA,EAAM;AAAA,QACZ,GAAIqB,EAAQrB,EAAM,KAAK,KAAK,EAAE,OAAOA,EAAM,MAAA;AAAA,MAAM,IAEnDsB,EAA2BtB,CAAK;AAAA,IAAA,CACrC;AACD,IAAAc,EAAQS,GAAuBH,CAAU;AAEzC,UAAMI,IAAgBjB,EAAIP,EAAM,UAAUsB,EAA2BtB,CAAK,IAAI,EAAE;AAChF,IAAAc,EAAQW,GAA0BD,CAAa;AAE/C,UAAME,IAAeC,EAAc,MAAM;AACvC,UAAI,CAACC,EAAQV,EAAgB,KAAK,GAAG;AACnC,cAAMW,IAAmBP,EAA2BJ,EAAgB,KAAK;AACzE,QAAAM,EAAc,QAAQF,EAA2B,EAAE,GAAGtB,GAAO,GAAG6B,GAAkB;AAAA,MACpF;AAAA,IACF,GAAG,KAAK,EAAI;AAEZ,IAAAC,EAAM,MAAM,CAAC9B,GAAOkB,CAAe,GAAGQ,GAAc;AAAA,MAClD,MAAM;AAAA,MACN,WAAW;AAAA,IAAA,CACZ;AAED,UAAMK,IAAcC,EAAS;AAAA,MAC3B,MAAMC,EAAMjC,GAAO,MAAM;AAAA,MACzB,YAAYiC,EAAMjC,GAAO,YAAY;AAAA,MACrC,sBAAsBiC,EAAMjC,GAAO,sBAAsB;AAAA,MACzD,yBAAyBiC,EAAMjC,GAAO,yBAAyB;AAAA,IAAA,CAChE;AACD,WAAAc,EAAQoB,GAAgBH,CAA0B,cAIhDI,KAAAC,EASYC,EARLrC,EAAM,GAAG,GADhBsC,EASY;AAAA,MAPT,IAAIzB,EAAA;AAAA,eACD;AAAA,MAAJ,KAAIP;AAAA,MACH,OAAOJ;AAAA,IAAA,GACAqC,EAAAnC,CAAA,GAAK;AAAA,MACZ,4BAAD,MAAA;AAAA,MAAA,GAAoB,CAAA,WAAA,MAAA,CAAA;AAAA,IAAA;iBAEpB,MAAQ;AAAA,QAARoC,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}