@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.
- package/LICENSE +21 -21
- package/README.en-US.md +32 -32
- package/README.md +32 -32
- package/esm/__builtins__/configs/index.mjs.map +1 -1
- package/esm/__builtins__/index.mjs +12 -11
- package/esm/__builtins__/shared/index.mjs +11 -10
- package/esm/__builtins__/shared/loading.mjs.map +1 -1
- package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
- package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
- package/esm/__builtins__/shared/utils.d.ts +1 -0
- package/esm/__builtins__/shared/utils.mjs +23 -17
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +56 -52
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.d.ts +0 -1
- package/esm/array-base/utils.mjs +45 -46
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +36 -33
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +39 -37
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/utils.mjs +9 -2
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/index.mjs +38 -34
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-list-tabs/index.mjs +38 -36
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs +12 -5
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/index.mjs +63 -60
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/utils.mjs +18 -11
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +28 -25
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/index.mjs +24 -18
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +22 -18
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/index.mjs +20 -16
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/color-picker/index.mjs +9 -6
- package/esm/color-picker/index.mjs.map +1 -1
- package/esm/color-picker-panel/index.mjs +9 -6
- package/esm/color-picker-panel/index.mjs.map +1 -1
- package/esm/date-picker/index.mjs +14 -11
- package/esm/date-picker/index.mjs.map +1 -1
- package/esm/date-picker/utils.mjs.map +1 -1
- package/esm/date-picker-panel/index.mjs +14 -11
- package/esm/date-picker-panel/index.mjs.map +1 -1
- package/esm/editable/editable.d.ts +2 -0
- package/esm/editable/index.d.ts +1 -0
- package/esm/editable/index.mjs +71 -66
- package/esm/editable/index.mjs.map +1 -1
- package/esm/form/form.mjs +6 -6
- package/esm/form/form.mjs.map +1 -1
- package/esm/form-button-group/form-button-group.d.ts +9 -0
- package/esm/form-button-group/index.d.ts +15 -0
- package/esm/form-button-group/index.mjs +47 -28
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/utils.mjs +9 -2
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +21 -18
- package/esm/form-collapse/index.mjs.map +1 -1
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.mjs +22 -22
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-drawer/index.mjs +21 -21
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +26 -22
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.d.ts +1 -0
- package/esm/form-item/index.mjs +102 -99
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/types.d.ts +4 -0
- package/esm/form-item/utils.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +14 -10
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-layout/utils.mjs +23 -23
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +30 -27
- package/esm/form-step/index.mjs.map +1 -1
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +24 -22
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/form-tab/utils.mjs.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.mjs +82 -78
- package/esm/index.mjs.map +1 -1
- package/esm/input/index.mjs +30 -26
- package/esm/input/index.mjs.map +1 -1
- package/esm/input-number/index.mjs +11 -8
- package/esm/input-number/index.mjs.map +1 -1
- package/esm/input-tag/index.mjs +20 -16
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/mention/index.mjs +24 -20
- package/esm/mention/index.mjs.map +1 -1
- package/esm/pagination/components/jumper.mjs.map +1 -1
- package/esm/pagination/components/next.mjs.map +1 -1
- package/esm/pagination/components/pager.mjs.map +1 -1
- package/esm/pagination/components/prev.mjs.map +1 -1
- package/esm/pagination/components/total.mjs.map +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/password/index.mjs.map +1 -1
- package/esm/preview-text/index.mjs +57 -53
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.d.ts +5 -0
- package/esm/query-form/default-components.mjs +47 -0
- package/esm/query-form/default-components.mjs.map +1 -0
- package/esm/query-form/hooks.d.ts +25 -0
- package/esm/query-form/hooks.mjs +29 -0
- package/esm/query-form/hooks.mjs.map +1 -0
- package/esm/query-form/index.d.ts +117 -0
- package/esm/query-form/index.mjs +337 -0
- package/esm/query-form/index.mjs.map +1 -0
- package/esm/query-form/query-form-light.d.ts +27 -0
- package/esm/query-form/query-form.d.ts +52 -0
- package/esm/query-form/types.d.ts +44 -0
- package/esm/query-form/types.mjs +2 -0
- package/esm/query-form/types.mjs.map +1 -0
- package/esm/query-form-item/index.d.ts +151 -0
- package/esm/query-form-item/index.mjs +188 -0
- package/esm/query-form-item/index.mjs.map +1 -0
- package/esm/query-form-item/query-form-item.d.ts +96 -0
- package/esm/query-form-item/types.d.ts +46 -0
- package/esm/query-form-item/types.mjs +2 -0
- package/esm/query-form-item/types.mjs.map +1 -0
- package/esm/radio/index.mjs +29 -25
- package/esm/radio/index.mjs.map +1 -1
- package/esm/rate/index.mjs +13 -10
- package/esm/rate/index.mjs.map +1 -1
- package/esm/reset/index.mjs.map +1 -1
- package/esm/segmented/index.mjs +16 -12
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/select/index.mjs +26 -22
- package/esm/select/index.mjs.map +1 -1
- package/esm/select-table/index.mjs +36 -33
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/shared/overlay-elements.mjs +14 -11
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/slider/index.mjs +13 -10
- package/esm/slider/index.mjs.map +1 -1
- package/esm/styles/form-button-group/index.css +1 -1
- package/esm/styles/form-item/index.css +1 -1
- package/esm/styles/query-form/index.css +1 -0
- package/esm/styles/query-form-item/index.css +1 -0
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.mjs.map +1 -1
- package/esm/time-picker/index.mjs +9 -6
- package/esm/time-picker/index.mjs.map +1 -1
- package/esm/time-select/index.mjs +9 -6
- package/esm/time-select/index.mjs.map +1 -1
- package/esm/transfer/index.mjs.map +1 -1
- package/esm/tree/index.mjs +33 -29
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +18 -14
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/upload/index.mjs +10 -7
- package/esm/upload/index.mjs.map +1 -1
- package/esm/vendor/lodash.mjs +751 -663
- package/esm/vendor/lodash.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/package.json +115 -115
package/esm/form-item/index.mjs
CHANGED
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { isVoidField as
|
|
2
|
-
import { useField as
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (Ee(
|
|
21
|
-
return
|
|
22
|
-
|
|
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
|
|
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(
|
|
52
|
-
const e =
|
|
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(
|
|
57
|
+
Object.entries(Re(e, ze)).filter(([r, w]) => v(w))
|
|
55
58
|
)
|
|
56
|
-
),
|
|
59
|
+
), Q = Be(), t = s(() => Object.assign({
|
|
57
60
|
colon: !0,
|
|
58
61
|
feedbackLayout: "loose",
|
|
59
62
|
fullness: !1,
|
|
60
63
|
labelWrap: !1
|
|
61
|
-
},
|
|
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
|
|
66
|
-
() => t.value.layout === "vertical" ||
|
|
67
|
-
),
|
|
68
|
-
if (
|
|
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
|
-
}),
|
|
75
|
+
}), ee = s(() => {
|
|
73
76
|
const r = U(t.value?.wrapperWidth || "");
|
|
74
77
|
return r ? { width: r, flex: "unset" } : {};
|
|
75
|
-
}),
|
|
78
|
+
}), te = s(() => ({
|
|
76
79
|
justifyContent: t.value?.wrapperAlign === "right" && "flex-end"
|
|
77
|
-
})),
|
|
80
|
+
})), ae = s(
|
|
78
81
|
() => e.asterisk && V.value?.pattern !== "readPretty"
|
|
79
|
-
),
|
|
80
|
-
|
|
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",
|
|
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-${
|
|
94
|
+
[o.m(`label-${_.value}`)]: _.value
|
|
92
95
|
}
|
|
93
|
-
]), M =
|
|
96
|
+
]), M = s(() => [
|
|
94
97
|
`${d}-feedback`,
|
|
95
98
|
o.is(e.feedbackStatus),
|
|
96
99
|
o.is("loose", t.value.feedbackLayout === "loose")
|
|
97
|
-
]), L =
|
|
98
|
-
async function
|
|
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
|
|
105
|
+
const re = () => {
|
|
103
106
|
};
|
|
104
107
|
/* istanbul ignore next -- @preserve */
|
|
105
|
-
const
|
|
108
|
+
const se = async () => {
|
|
106
109
|
};
|
|
107
110
|
/* istanbul ignore next -- @preserve */
|
|
108
|
-
const
|
|
109
|
-
},
|
|
111
|
+
const ie = () => {
|
|
112
|
+
}, ne = (r) => {
|
|
110
113
|
/* istanbul ignore else -- @preserve */
|
|
111
114
|
k.value.includes(r) || k.value.push(r);
|
|
112
|
-
},
|
|
115
|
+
}, ue = (r) => {
|
|
113
116
|
k.value = k.value.filter((w) => w !== r);
|
|
114
117
|
}, j = b(!1);
|
|
115
|
-
|
|
118
|
+
ge(S, () => {
|
|
116
119
|
j.value = S.value?.scrollWidth > S.value?.clientWidth;
|
|
117
120
|
});
|
|
118
|
-
const T =
|
|
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:
|
|
125
|
+
validateState: de.value,
|
|
123
126
|
labelId: A,
|
|
124
127
|
inputIds: k,
|
|
125
128
|
isGroup: B,
|
|
126
129
|
hasLabel: L,
|
|
127
|
-
addInputId:
|
|
128
|
-
removeInputId:
|
|
129
|
-
resetField:
|
|
130
|
-
clearValidate:
|
|
131
|
-
validate:
|
|
132
|
-
labelPosition:
|
|
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:
|
|
141
|
+
setInitialValue: ie
|
|
139
142
|
});
|
|
140
|
-
return
|
|
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
|
-
}),
|
|
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
|
-
})),
|
|
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", ...
|
|
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:
|
|
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
|
-
|
|
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:
|
|
183
|
+
style: F(`width: ${S.value?.clientWidth ?? 0}px;`)
|
|
181
184
|
}, [
|
|
182
|
-
T.value ? (a(), n(
|
|
183
|
-
|
|
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(
|
|
186
|
-
|
|
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(
|
|
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
|
-
|
|
213
|
+
C(l(D), {
|
|
211
214
|
class: u(`${d}-label-tooltip`)
|
|
212
215
|
}, {
|
|
213
216
|
default: m(() => [
|
|
214
|
-
|
|
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:
|
|
237
|
+
style: F(te.value)
|
|
235
238
|
}, [
|
|
236
|
-
l(v)(e.addonBefore) ? (a(), n(
|
|
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:
|
|
251
|
+
style: F(ee.value)
|
|
249
252
|
}, [
|
|
250
|
-
t.value.feedbackLayout === "popover" ? (a(), f(l(
|
|
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
|
-
|
|
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
|
-
|
|
268
|
+
C(l(D), null, {
|
|
266
269
|
default: m(() => [
|
|
267
|
-
e.feedbackStatus === "error" ? (a(), f(l(
|
|
268
|
-
e.feedbackStatus === "success" ? (a(), f(l(
|
|
269
|
-
e.feedbackStatus === "warning" ? (a(), f(l(
|
|
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
|
-
|
|
276
|
+
E(" " + y(e.feedbackText), 1)
|
|
274
277
|
], 2)
|
|
275
278
|
]),
|
|
276
279
|
_: 3
|
|
277
|
-
}, 8, ["visible"])) :
|
|
278
|
-
|
|
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(
|
|
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(
|
|
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,
|
|
306
|
+
], 10, je));
|
|
304
307
|
}
|
|
305
308
|
});
|
|
306
|
-
function
|
|
307
|
-
if (
|
|
308
|
-
return
|
|
309
|
-
const e =
|
|
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
|
-
...
|
|
314
|
+
...i,
|
|
312
315
|
feedbackText: e,
|
|
313
|
-
feedbackStatus:
|
|
316
|
+
feedbackStatus: W,
|
|
314
317
|
asterisk: o
|
|
315
318
|
};
|
|
316
319
|
}
|
|
317
|
-
const
|
|
320
|
+
const Ge = ve(
|
|
318
321
|
Y,
|
|
319
|
-
|
|
322
|
+
pe(
|
|
320
323
|
{
|
|
321
324
|
validateStatus: !0,
|
|
322
325
|
title: "label",
|
|
323
326
|
required: !0,
|
|
324
327
|
description: "extra"
|
|
325
328
|
},
|
|
326
|
-
|
|
329
|
+
De
|
|
327
330
|
)
|
|
328
|
-
),
|
|
331
|
+
), nt = _e(Ge, {
|
|
329
332
|
BaseItem: Y
|
|
330
333
|
});
|
|
331
334
|
export {
|
|
332
335
|
Y as FormBaseItem,
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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":";;;;;;;;;;;;;;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,IAAiBC;AAAA,MAA8C,MACnE,OAAO;AAAA,QACL,OAAO,QAAQC,GAAKV,GAAOW,EAAsB,CAAC,EAC/C,OAAO,CAAC,CAACC,GAAGlB,CAAK,MAAMmB,EAAQnB,CAAK,CAAC;AAAA,MAAA;AAAA,IAC1C,GAEIoB,IAAmBC,GAAA,GACnBC,IAAaP,EAAS,MAAM,OAAO,OAAO;AAAA,MAC9C,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,WAAW;AAAA,IAAA,GACVK,EAAiB,OAAON,EAAe,KAAK,CAAC,GAC1CS,IAAQC,GAAA,GAERC,IAAgBC,GAAY,QAAW,EAAE,UAAU,IAAO,GAC1DC,IAAeZ,EAAS,MACxBI,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,IAAgBtB;AAAA,MACpB,MACMO,EAAW,MAAM,WAAW,cAAegB,GAAMhB,EAAW,MAAM,MAAM,KAAKA,EAAW,MAAM,OAAO,SAAS,UAAiB,IAC1H,QAEFA,EAAW,MAAM,cAAc;AAAA,IACxC,GAGIiB,IAAaxB,EAAwB,MAAM;AAC/C,UAAIsB,EAAc,UAAU;AAC1B,eAAO,CAAA;AAGT,YAAMG,IAAazC,EAAQuB,EAAW,MAAM,cAAc,EAAE;AAC5D,aAAIkB,IACK,EAAE,OAAOA,EAAA,IACX,CAAA;AAAA,IACT,CAAC,GAEKC,IAAe1B,EAAwB,MAAM;AACjD,YAAM2B,IAAe3C,EAAQuB,EAAW,OAAO,gBAAgB,EAAE;AACjE,aAAIoB,IACK,EAAE,OAAOA,GAAc,MAAM,QAAA,IAC/B,CAAA;AAAA,IACT,CAAC,GAEKC,KAAsB5B,EAAwB,OAC3C;AAAA,MACL,gBAAgBO,EAAW,OAAO,iBAAiB,WAAW;AAAA,IAAA,EAEjE,GAEKsB,KAAa7B;AAAA,MAAS,MAC1BT,EAAM,YAAYiB,EAAM,OAAO,YAAY;AAAA,IAAA,GAGvCsB,KAAkB9B,EAAS,MAAM;AAAA,MACrCL,EAAG,EAAA;AAAA,MACHA,EAAG,EAAEiB,EAAa,SAAS,SAAS;AAAA,MACpCjB,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,cAAcsB,EAAc,UAAU,YAAY;AAAA,MACxDtB,EAAG,GAAG,WAAWsB,EAAc,UAAU,SAAS;AAAA,MAClDtB,EAAG,GAAG,YAAYkC,GAAW,SAAStC,EAAM,QAAQ;AAAA,MACpDI,EAAG,GAAG,eAAeY,EAAW,OAAO,oBAAoB;AAAA,MAC3DZ,EAAG,GAAGY,EAAW,MAAM,cAAc;AAAA,MACrCA,EAAW,OAAO,4BAA4B,UAC1C,mBACA;AAAA,MACJ;AAAA,QACE,CAACZ,EAAG,EAAE,UAAU,CAAC,GAAGY,EAAW,OAAO;AAAA,QACtC,CAACZ,EAAG,EAAE,SAAS2B,EAAc,KAAK,EAAE,CAAC,GAAGA,EAAc;AAAA,MAAA;AAAA,IACxD,CACD,GAEKS,IAAkB/B,EAAS,MAAM;AAAA,MACrC,GAAGH,CAAS;AAAA,MACZF,EAAG,GAAGJ,EAAM,cAAc;AAAA,MAC1BI,EAAG,GAAG,SAASY,EAAW,MAAM,mBAAmB,OAAO;AAAA,IAAA,CAC3D,GAEKyB,IAAWhC,EAAkB,MACzBT,EAAM,UAAU,MAAMa,EAAQb,EAAM,KAAK,KAAMa,EAAQX,EAAM,KAAK,CAC3E,GAEKwC,IAAWjC,EAA6B,MAE1CT,EAAM,QAAQwB,EAAS,MAAM,WAAW,IAAIA,EAAS,MAAM,CAAC,IAAI,OAEnE,GAEKmB,IAAUlC,EAAkB,MACzB,CAACiC,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,IAAa7C,EAAS,MACnB2C,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,MAAM1D,EAAM,gBAAgB,CAAC2D,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,UAAQrB,GAAWU,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,EAAA5D,CAAA,EAAG,YAAY4D,EAAAnD,CAAA,EAAQG,EAAA,MAAW,QAAQ,KAAA,GAAQV,CAAS,QAAQU,EAAA,MAAW,QAAQ,EAAA,CAAA;AAAA,QAC9F,SAAOiB,EAAA,KAAU;AAAA,MAAA;mBAGlB,MAEW;AAAA,UAFKoC,EAAQrE,EAAM,KAAK,UACjCkE,EAA+BC,EAAfnE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7B+D,EA8BM,OAAA;AAAA;YA9BO,YAAUzD,CAAS,iBAAA;AAAA,UAAA;YAC9BgE,EAsBYN,EAAAO,CAAA,GAAA;AAAA,cAtBA,UAAQ,CAAGjB,EAAA,SAActC,EAAA,MAAW,kBAAa;AAAA,YAAA;cAShD,WACT,MAEW;AAAA,gBAFKqD,EAAQrE,EAAM,OAAO,UACnCkE,EAAiCC,EAAjBnE,EAAM,OAAO,GAAA,EAAA,KAAA,EAAA,CAAA,WAE/B+D,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,EAAA3E,EAAM,KAAK,GAAA,CAAA;AAAA,kBAAA;kBAEAgB,EAAA,MAAW,kBAAa,eAAxC+C,EAEWU,GAAA,EAAA,KAAA,KAAA;AAAA,oBADNC,EAAAC,EAAA3E,EAAM,OAAO,GAAA,CAAA;AAAA,kBAAA;;;yBAjBtB,MAOO;AAAA,gBAPP4E,EAOO,QAAA;AAAA,kBANJ,OAAKR,EAAA;AAAA,wBAAuB9D,CAAS,gBAAA,GAAA;AAAA,oBAAwD,cAAAgD,EAAA,SAAetD,EAAM,WAAWgB,EAAA,MAAW,kBAAa;AAAA,kBAAA;;kBAKtJ4D,EAA6C,QAAA;AAAA,6BAAnC;AAAA,oBAAJ,KAAIhD;AAAA,kBAAA,GAAc+C,EAAA3E,EAAM,KAAK,GAAA,GAAA;AAAA,gBAAA;;;;YAgBtBA,EAAM,WAAWgB,EAAA,MAAW,kBAAa,eAA1DkD,EAIYF,EAAAO,CAAA,GAAA;AAAA;cAJ4D,SAASvE,EAAM;AAAA,YAAA;yBACrF,MAES;AAAA,gBAFTsE,EAESN,EAAAa,CAAA,GAAA;AAAA,kBAFA,YAAUvE,CAAS,gBAAA;AAAA,gBAAA;6BAC1B,MAAc;AAAA,oBAAdgE,EAAcN,EAAAc,EAAA,CAAA;AAAA,kBAAA;;;;;;YAGN9D,EAAA,MAAW,cAAvB+C,EAAoE,QAAA;AAAA;cAArC,YAAUzD,CAAS,QAAA;AAAA,YAAA,GAAU,KAAC,CAAA;;;;;MAIjEsE,EAkEM,OAAA;AAAA,QAjEH,OAAKR,EAAA;AAAA,aAAgB9D,CAAS;AAAA,UAA8B0D,EAAAnD,CAAA,EAAQG,QAAW,UAAU,QAAQV,CAAS,QAAQU,EAAA,MAAW,UAAU;AAAA,QAAA;QAIvI,SAAOqB,GAAA,KAAmB;AAAA,MAAA;QAEX2B,EAAAnD,CAAA,EAAQb,EAAM,WAAW,UAAzC+D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQrE,EAAM,WAAW,UACvCkE,EAAqCC,EAArBnE,EAAM,WAAW,GAAA,EAAA,KAAA,EAAA,CAAA,WAEnC+D,EAEM,OAAA;AAAA;YAFO,YAAUzD,CAAS,eAAA;AAAA,UAAA,GAC3BqE,EAAA3E,EAAM,WAAW,GAAA,CAAA;AAAA,QAAA;QAGxB4E,EA0CM,OAAA;AAAA,UAzCH,OAAKR,EAAA;AAAA,YAAeJ,EAAA5D,CAAA,EAAG,EAAC,SAAA;AAAA,YAAwBY,EAAA,MAAW,YAAQ;AAAA,YAA8BgD,EAAA5D,CAAA,EAAG,GAAE,eAAA,CAAA,CAAkBJ,EAAM,UAAU;AAAA,UAAA;UAIrI,SAAOmC,EAAA,KAAY;AAAA,QAAA;UAGfnB,EAAA,MAAW,mBAAc,kBADjCkD,EAoBYF,EAAAO,CAAA,GAAA;AAAA;qBAlBN;AAAA,YAAJ,KAAI1C;AAAA,YACH,SAAO,CAAA,CAAI7B,EAAM;AAAA,YAClB,QAAO;AAAA,YACN,QAAQ;AAAA,UAAA;YAEE,WACT,MAAQ;AAAA,cAAR+E,EAAQC,EAAA,QAAA,SAAA;AAAA,YAAA;YAEC,WACT,MAOM;AAAA,cAPNJ,EAOM,OAAA;AAAA,gBAPA,OAAKR,EAAA,CAAA,GAAM5B,EAAA,OAAiBwB,EAAA5D,CAAA,EAAG,GAAE,SAAA,CAAA,CAAA;AAAA,cAAA;gBACrCkE,EAISN,EAAAa,CAAA,GAAA,MAAA;AAAA,6BAHP,MAAuD;AAAA,oBAApC7E,EAAM,mBAAc,gBAAvCkE,EAAuDF,EAAAiB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBACpCjF,EAAM,mBAAc,kBAAvCkE,EAAyDF,EAAAkB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;oBAC1ClF,EAAM,mBAAc,kBAAnCkE,EAAqDF,EAAAmB,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA;;;;kBAC9C,MACTR,EAAG3E,EAAM,YAAY,GAAA,CAAA;AAAA,cAAA;;;gCAI3B+E,EAAeC,EAAA,QAAA,WAAA,EAAA,KAAA,GAAA;AAAA,UACfV,EAYkBc,IAAA;AAAA,YAZA,MAAI,GAAKpB,EAAA5D,CAAA,EAAG,UAAU,KAAK;AAAA,UAAA;uBAC3C,MAEM;AAAA,cAFKJ,EAAM,gBAAgBgB,EAAA,MAAW,mBAAc,kBAA1D+C,EAEM,OAAA;AAAA;gBAFqE,SAAOvB,EAAA,KAAe;AAAA,cAAA,GAC5FmC,EAAA3E,EAAM,YAAY,GAAA,CAAA;cAEPgE,EAAAnD,CAAA,EAAQb,EAAM,KAAK,UAAnC+D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,gBANOJ,EAAQrE,EAAM,KAAK,UACjCkE,EAA+BC,EAAfnE,EAAM,KAAK,GAAA,EAAA,KAAA,EAAA,CAAA,WAE7B+D,EAEM,OAAA;AAAA;kBAFO,YAAUzD,CAAS,QAAA;AAAA,gBAAA,GAC3BqE,EAAA3E,EAAM,KAAK,GAAA,CAAA;AAAA,cAAA;;;;;QAKNgE,EAAAnD,CAAA,EAAQb,EAAM,UAAU,UAAxC+D,EAOWU,GAAA,EAAA,KAAA,KAAA;AAAA,UANOJ,EAAQrE,EAAM,UAAU,UACtCkE,EAAoCC,EAApBnE,EAAM,UAAU,GAAA,EAAA,KAAA,EAAA,CAAA,WAElC+D,EAEM,OAAA;AAAA;YAFO,YAAUzD,CAAS,cAAA;AAAA,UAAA,GAC3BqE,EAAA3E,EAAM,UAAU,GAAA,CAAA;AAAA,QAAA;;;;;AChUtB,SAASqF,GAAoBrF,GAAOiB,GAAO;AAChD,MAAIqE,GAAYrE,CAAK,KAAK,CAACA;AACzB,WAAOjB;AAGT,QAAMuF,IAAeC,GAAmBvE,CAAK,GACvCwE,IAAiBC,GAAwBzE,CAAK,GAC9C0E,IAAW,cAAc3F,IAC3BA,EAAM,WACNiB,EAAM,YAAYA,EAAM,YAAY;AAExC,SAAO;AAAA,IACL,GAAGjB;AAAA,IACH,cAAAuF;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
|
+
{"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":"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","x_google_ignoreList":[0]}
|
package/esm/form-item/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../src/form-item/utils.ts"],"sourcesContent":["import type { Field } from '@formily/core'\
|
|
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 {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
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 = `${
|
|
35
|
-
u && e(
|
|
36
|
-
const h =
|
|
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(
|
|
47
|
+
e(K, C);
|
|
44
48
|
const f = l(o.shallow ? r(o) : {});
|
|
45
|
-
e(
|
|
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
|
-
|
|
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>\
|
|
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;;;;;"}
|