mvframe 1.0.8 → 1.0.10

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.
@@ -1,189 +0,0 @@
1
- import { ref as i, computed as u, useAttrs as $, watch as C, resolveComponent as A, openBlock as V, createBlock as T, mergeProps as D, unref as c, createSlots as F, withCtx as p, createElementVNode as S, isRef as G, createTextVNode as O, toDisplayString as g, createElementBlock as W, renderSlot as q, normalizeProps as H, guardReactiveProps as I, createVNode as L } from "vue";
2
- const Q = { class: "flexMode hb vc" }, X = { key: 1 }, Y = { class: "tag" }, Z = { class: "flexMode hr" }, ee = /* @__PURE__ */ Object.assign({
3
- name: "MvcSelectV2",
4
- inheritAttrs: !1
5
- }, {
6
- __name: "index",
7
- props: {
8
- modelValue: {
9
- type: [String, Number, Array],
10
- default: void 0
11
- },
12
- multiple: {
13
- type: Boolean,
14
- default: !1
15
- },
16
- filterable: {
17
- type: Boolean,
18
- default: !1
19
- },
20
- options: {
21
- type: Array,
22
- default: () => []
23
- },
24
- valueKey: {
25
- type: String,
26
- default: "value"
27
- },
28
- labelKey: {
29
- type: String,
30
- default: "label"
31
- },
32
- selectAllTxt: {
33
- type: String,
34
- default: "All"
35
- },
36
- confirmTxt: {
37
- type: String,
38
- default: "Confirm"
39
- },
40
- nowrap: {
41
- type: Boolean,
42
- default: !1
43
- }
44
- },
45
- emits: ["update:modelValue", "change"],
46
- setup(h, { emit: w }) {
47
- const l = h, _ = i(null), n = i([]), r = i(!1), d = i(!1), b = i(!1), f = w, B = (e) => {
48
- l.multiple ? (n.value = Array.isArray(e) ? [...e] : [], y()) : (f("update:modelValue", e), f("change", e));
49
- }, K = (e) => {
50
- if (r.value = e, e && l.multiple) {
51
- const t = l.modelValue;
52
- n.value = Array.isArray(t) ? [...t] : t ? [t] : [], y();
53
- }
54
- }, m = () => {
55
- var o;
56
- if (!l.filterable || !r.value) return k();
57
- const e = _.value, t = ((o = e == null ? void 0 : e.filteredOptions) == null ? void 0 : o.value) ?? (e == null ? void 0 : e.filteredOptions) ?? [];
58
- if (!Array.isArray(t)) return k();
59
- const a = l.valueKey;
60
- return t.filter((s) => s.type !== "Group" && !s.disabled).map((s) => typeof s == "object" ? s[a] : s);
61
- }, M = (e) => {
62
- b.value = !1;
63
- const t = m();
64
- if (e)
65
- n.value = [.../* @__PURE__ */ new Set([...n.value, ...t])];
66
- else {
67
- const a = new Set(t);
68
- n.value = n.value.filter((o) => !a.has(o));
69
- }
70
- }, N = () => {
71
- var e, t;
72
- l.multiple && (f("update:modelValue", n.value), f("change", n.value), (t = (e = _.value) == null ? void 0 : e.blur) == null || t.call(e));
73
- }, k = () => {
74
- const e = l.valueKey;
75
- return (l.options || []).map((t) => typeof t == "object" ? t[e] : t);
76
- }, y = () => {
77
- const e = m(), t = new Set(n.value ?? []), a = e.filter((s) => t.has(s)).length, o = e.length;
78
- d.value = o > 0 && a === o, b.value = a > 0 && a < o;
79
- }, j = u(() => l.multiple && r.value ? n.value : l.modelValue), P = u(() => {
80
- const {
81
- modelValue: e,
82
- valueKey: t,
83
- labelKey: a,
84
- selectAllTxt: o,
85
- confirmTxt: s,
86
- nowrap: v,
87
- ...x
88
- } = l, U = x.props ?? {};
89
- return {
90
- ...x,
91
- props: {
92
- ...U,
93
- value: t,
94
- label: a
95
- }
96
- };
97
- }), R = u(
98
- () => l.nowrap ? {
99
- collapseTags: !0,
100
- collapseTagsTooltip: !0,
101
- maxCollapseTags: 1,
102
- tagTooltip: { popperStyle: { maxWidth: "400px" } }
103
- } : {}
104
- ), z = u(() => ({
105
- ...R.value,
106
- ...$(),
107
- ...P.value
108
- })), E = u(() => {
109
- const e = l.multiple && r.value ? n.value : l.modelValue, t = Array.isArray(e) ? e : e ? [e] : [];
110
- if (!l.filterable || !r.value) return t.length;
111
- const a = m();
112
- return t.filter((o) => a.includes(o)).length;
113
- }), J = u(() => m().length);
114
- return C(n, () => y(), { deep: !0 }), C(
115
- () => l.modelValue,
116
- (e) => {
117
- if (l.multiple && r.value) {
118
- const t = Array.isArray(e) ? [...e] : e ? [e] : [];
119
- JSON.stringify(t) !== JSON.stringify(n.value) && (n.value = t, y());
120
- }
121
- }
122
- ), (e, t) => {
123
- const a = A("el-checkbox"), o = A("el-button"), s = A("el-select-v2");
124
- return V(), T(s, D({
125
- ref_key: "selectRef",
126
- ref: _,
127
- "model-value": c(j),
128
- class: "MvcSelectV2"
129
- }, c(z), {
130
- "onUpdate:modelValue": B,
131
- onVisibleChange: K
132
- }), F({ _: 2 }, [
133
- l.filterable ? {
134
- name: "header",
135
- fn: p(() => [
136
- S("div", Q, [
137
- l.multiple ? (V(), T(a, {
138
- key: 0,
139
- modelValue: c(d),
140
- "onUpdate:modelValue": t[0] || (t[0] = (v) => G(d) ? d.value = v : null),
141
- indeterminate: c(b),
142
- class: "h24",
143
- onChange: M
144
- }, {
145
- default: p(() => [
146
- O(g(h.selectAllTxt), 1)
147
- ]),
148
- _: 1
149
- }, 8, ["modelValue", "indeterminate"])) : (V(), W("span", X)),
150
- S("span", Y, g(c(E)) + "/" + g(c(J)), 1)
151
- ])
152
- ]),
153
- key: "0"
154
- } : void 0,
155
- e.$slots.default ? {
156
- name: "default",
157
- fn: p((v) => [
158
- q(e.$slots, "default", H(I(v)))
159
- ]),
160
- key: "1"
161
- } : void 0,
162
- l.multiple ? {
163
- name: "footer",
164
- fn: p(() => [
165
- S("div", Z, [
166
- L(o, {
167
- type: "primary",
168
- size: "small",
169
- onClick: N
170
- }, {
171
- default: p(() => [
172
- O(g(h.confirmTxt), 1)
173
- ]),
174
- _: 1
175
- })
176
- ])
177
- ]),
178
- key: "2"
179
- } : void 0
180
- ]), 1040, ["model-value"]);
181
- };
182
- }
183
- }), le = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
184
- __proto__: null,
185
- default: ee
186
- }, Symbol.toStringTag, { value: "Module" }));
187
- export {
188
- le as _
189
- };
package/dist/cpt/Table.js DELETED
@@ -1,334 +0,0 @@
1
- import { reactive as z, markRaw as N, ref as ne, getCurrentInstance as ae, onBeforeMount as le, onMounted as re, computed as _, onUnmounted as se, resolveComponent as b, openBlock as f, createElementBlock as S, normalizeClass as $, createElementVNode as w, renderSlot as D, unref as n, createBlock as C, withCtx as m, createTextVNode as x, toDisplayString as v, createCommentVNode as g, createVNode as k, mergeProps as ie } from "vue";
2
- import { C as ue, _ as de, a as ce } from "./chip.js";
3
- import { useRemoteSummary as fe } from "../composition.js";
4
- /* empty css */
5
- import { _ as me } from "../vendor.js";
6
- const pe = { class: "MvcTable" }, ge = {
7
- key: 0,
8
- class: "flexMode vc"
9
- }, ye = { class: "tableArea relative radius ctx-auto" }, he = {
10
- key: 1,
11
- class: "flexMode vc h56 p16 xscroll nobar fadeout"
12
- }, be = /* @__PURE__ */ Object.assign({
13
- name: "MvcTable",
14
- inheritAttrs: !1
15
- }, {
16
- __name: "index",
17
- props: {
18
- defaultLoading: {
19
- type: Boolean,
20
- default: !0
21
- },
22
- tableName: {
23
- type: String,
24
- default: ""
25
- },
26
- autoHeader: {
27
- type: Boolean,
28
- default: !0
29
- },
30
- headerClass: {
31
- type: String,
32
- default: ""
33
- },
34
- height: {
35
- type: [String, Number],
36
- default: 0
37
- },
38
- minusHeight: {
39
- type: [String, Number],
40
- default: 0
41
- },
42
- defer: {
43
- type: Boolean,
44
- default: !1
45
- },
46
- rowKey: {
47
- type: String,
48
- default: ""
49
- },
50
- defaultExpandAll: {
51
- type: Boolean,
52
- default: !1
53
- },
54
- tool: {
55
- type: [Object, Boolean],
56
- default: () => ({
57
- download: !0,
58
- refresh: !0,
59
- column: !0
60
- })
61
- },
62
- noheader: {
63
- type: Boolean,
64
- default: !1
65
- },
66
- nofooter: {
67
- type: Boolean,
68
- default: !1
69
- },
70
- loadData: {
71
- type: Function,
72
- default: () => ({
73
- list: [],
74
- total: 0
75
- })
76
- },
77
- pageSize: {
78
- type: Number,
79
- default: 0
80
- },
81
- pageSizes: {
82
- type: Array,
83
- default: () => [10, 20, 50, 100]
84
- },
85
- /**
86
- * 远程汇总行按列格式化:与 util `$fu` 的 metric 形态一致。
87
- * 未传时使用全局 `$config.table.summaryMetric`(应用入口一次配置即可)。
88
- * 对象:`{ spend: { unit: 'currency', precision: 2 }, rate: { unit: '%', precision: 2 } }`
89
- * 函数:`(prop) => ({ unit, precision, currency })`。
90
- */
91
- summaryMetric: {
92
- type: [Object, Function],
93
- default: null
94
- }
95
- },
96
- emits: ["selection-change", "refresh"],
97
- setup(E, { expose: L, emit: R }) {
98
- const a = E, r = z({
99
- loading: !0,
100
- selection: []
101
- }), t = z({
102
- list: [],
103
- total: 0,
104
- page: 1,
105
- pageSize: 50,
106
- summary: !1,
107
- summaryType: "remote",
108
- nopagination: !1,
109
- params: {}
110
- }), y = z({
111
- tabelKey: 0,
112
- current: "",
113
- list: [
114
- {
115
- title: "Table Column Customization",
116
- size: 1024,
117
- cpt: N(ue)
118
- },
119
- {
120
- title: "Download from Current Table",
121
- cpt: N(de)
122
- }
123
- ]
124
- }), T = ne(null), { proxy: H } = ae();
125
- le(() => {
126
- I();
127
- }), re(() => {
128
- j();
129
- });
130
- const M = R, I = () => {
131
- r.loading = a.defaultLoading, a.pageSize && (t.pageSize = a.pageSize);
132
- }, j = () => {
133
- X(), a.defer === !1 && h();
134
- }, A = (e) => {
135
- h(e);
136
- }, h = async (e = {}) => {
137
- if (e.refresh && r.loading)
138
- return;
139
- r.loading = !0;
140
- const o = {
141
- pageSize: e.pageSize || t.pageSize,
142
- pageStart: e.pageStart || t.page
143
- };
144
- e.refresh && (o.remote = !0);
145
- const { list: i = [], total: l, summary: s } = await a.loadData(o) || {};
146
- t.list = i.map((d, c) => (d.index = c, d)), l === void 0 ? (t.total = t.list.length, t.nopagination = !0) : (t.total = l, t.nopagination = !1), window.config.table.scrollToTop && P(), O(s), r.loading = !1;
147
- }, O = (e) => {
148
- e ? t.summary = e : t.summary = !1;
149
- }, F = (e) => {
150
- if (t.summaryType === "locale")
151
- return [];
152
- if (t.summaryType === "remote") {
153
- const o = (l, s) => {
154
- if (l != null)
155
- return typeof l == "function" ? l(s) : l[s];
156
- }, i = (l) => {
157
- var d, c;
158
- const s = o(a.summaryMetric, l);
159
- return s !== void 0 ? s : o((c = (d = globalThis.$config) == null ? void 0 : d.table) == null ? void 0 : c.summaryMetric, l);
160
- };
161
- return fe(e, t.summary, { resolveMetric: i });
162
- }
163
- return [];
164
- }, P = () => {
165
- T.value.$refs.scrollBarRef.setScrollTop(0);
166
- }, V = () => {
167
- h({
168
- pageStart: 1
169
- });
170
- }, U = () => {
171
- h();
172
- }, G = (e) => {
173
- if (r.selection = e, M("selection-change", e), r.shiftKey) {
174
- const o = e[e.length - 2], i = e[e.length - 1], l = t.list.filter1((u) => u.id === o.id).index || 0, s = t.list.filter1((u) => u.id === i.id).index;
175
- let d = l, c = s;
176
- l > s && (d = s, c = l);
177
- for (let u = d; u <= c; u++)
178
- H.$refs.body.toggleRowSelection(t.list[u], !0);
179
- }
180
- }, q = () => {
181
- r.loading || (h({ refresh: !0 }), M("refresh"));
182
- }, J = () => {
183
- y.current = 0;
184
- }, Q = () => {
185
- y.current = 1;
186
- }, W = () => {
187
- r.tableKey++;
188
- }, X = () => {
189
- document.addEventListener("keydown", B), document.addEventListener("keyup", K);
190
- }, B = (e) => {
191
- e.keyCode === 16 && (r.shiftKey = !0);
192
- }, K = (e) => {
193
- e.keyCode === 16 && (r.shiftKey = !1);
194
- }, Y = () => {
195
- document.removeEventListener("keydown", B), document.removeEventListener("keyup", K);
196
- }, Z = ({ i: e, row: o }) => {
197
- t.list[e] = o;
198
- }, ee = _(() => {
199
- let e = a.height || window.config.options.pageHeight;
200
- return a.noheader === !1 && (e -= 64), a.nofooter === !1 && (e -= 56), e -= a.minusHeight, e;
201
- }), te = _(() => !!t.summary), oe = _(() => t.nopagination === !0 ? "total" : "total,->,prev,pager,next,sizes"), p = _(() => {
202
- if (a.tool) {
203
- const { column: e = !0, download: o = !0, refresh: i = !0 } = a.tool;
204
- return {
205
- column: e,
206
- download: o,
207
- refresh: i
208
- };
209
- } else
210
- return !1;
211
- });
212
- return se(() => {
213
- Y();
214
- }), L({
215
- initTable: A,
216
- editRow: Z
217
- }), (e, o) => {
218
- const i = b("el-button"), l = b("Loading"), s = b("el-table"), d = b("el-pagination"), c = b("Drawer");
219
- return f(), S("div", pe, [
220
- a.noheader === !1 ? (f(), S("div", {
221
- key: 0,
222
- class: $(["flexMode hb g12 p16 bg-white", a.autoHeader ? "minh64" : "h64"])
223
- }, [
224
- w("div", {
225
- class: $(["flexMode vc flexGrow maxwp100", a.headerClass])
226
- }, [
227
- D(e.$slots, "header", {}, void 0, !0)
228
- ], 2),
229
- n(p) ? (f(), S("div", ge, [
230
- n(p).refresh ? (f(), C(i, {
231
- key: 0,
232
- onClick: q
233
- }, {
234
- icon: m(() => [...o[2] || (o[2] = [
235
- w("i", { class: "imicon im-sync" }, null, -1)
236
- ])]),
237
- default: m(() => [
238
- x(" " + v(e.$l("Refresh")), 1)
239
- ]),
240
- _: 1
241
- })) : g("", !0),
242
- n(p).column ? (f(), C(i, {
243
- key: 1,
244
- onClick: J
245
- }, {
246
- icon: m(() => [...o[3] || (o[3] = [
247
- w("i", { class: "imicon im-column" }, null, -1)
248
- ])]),
249
- default: m(() => [
250
- x(" " + v(e.$l("Columns")), 1)
251
- ]),
252
- _: 1
253
- })) : g("", !0),
254
- n(p).download ? (f(), C(i, {
255
- key: 2,
256
- onClick: Q
257
- }, {
258
- icon: m(() => [...o[4] || (o[4] = [
259
- w("i", { class: "imicon im-download1" }, null, -1)
260
- ])]),
261
- default: m(() => [
262
- x(" " + v(e.$l("Download")), 1)
263
- ]),
264
- _: 1
265
- })) : g("", !0)
266
- ])) : g("", !0)
267
- ], 2)) : g("", !0),
268
- w("div", ye, [
269
- k(l, {
270
- loading: n(r).loading
271
- }, null, 8, ["loading"]),
272
- (f(), C(s, {
273
- ref_key: "body",
274
- ref: T,
275
- key: n(r).tableKey,
276
- height: n(ee),
277
- data: n(t).list,
278
- "default-expand-all": a.defaultExpandAll,
279
- "row-key": a.rowKey,
280
- stripe: "",
281
- border: "",
282
- "show-summary": n(te),
283
- "summary-method": F,
284
- class: "MainTable",
285
- onSelectionChange: G
286
- }, {
287
- default: m(() => [
288
- k(n(ce), ie({
289
- "table-name": a.tableName,
290
- column: n(p) ? n(p).column : !1
291
- }, e.$attrs), {
292
- default: m(() => [
293
- D(e.$slots, "default", {}, void 0, !0)
294
- ]),
295
- _: 3
296
- }, 16, ["table-name", "column"])
297
- ]),
298
- _: 3
299
- }, 8, ["height", "data", "default-expand-all", "row-key", "show-summary"]))
300
- ]),
301
- a.nofooter === !1 ? (f(), S("div", he, [
302
- k(d, {
303
- "current-page": n(t).page,
304
- "onUpdate:currentPage": o[0] || (o[0] = (u) => n(t).page = u),
305
- background: "",
306
- total: n(t).total,
307
- "default-page-size": n(t).pageSize,
308
- "page-sizes": a.pageSizes,
309
- "pager-count": 5,
310
- layout: n(oe),
311
- class: "wp100",
312
- onSizeChange: V,
313
- onCurrentChange: U
314
- }, null, 8, ["current-page", "total", "default-page-size", "page-sizes", "layout"])
315
- ])) : g("", !0),
316
- k(c, {
317
- current: n(y).current,
318
- "onUpdate:current": o[1] || (o[1] = (u) => n(y).current = u),
319
- "table-name": a.tableName,
320
- drawer: n(y).list,
321
- list: n(t).list,
322
- selection: n(r).selection,
323
- onInitColumn: W
324
- }, null, 8, ["current", "table-name", "drawer", "list", "selection"])
325
- ]);
326
- };
327
- }
328
- }), we = /* @__PURE__ */ me(be, [["__scopeId", "data-v-e72098dd"]]), xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
329
- __proto__: null,
330
- default: we
331
- }, Symbol.toStringTag, { value: "Module" }));
332
- export {
333
- xe as _
334
- };
package/dist/cpt/Tabs.js DELETED
@@ -1,80 +0,0 @@
1
- import { useAttrs as b, computed as l, resolveComponent as g, openBlock as p, createElementBlock as v, mergeProps as i, unref as o, createVNode as V, createElementVNode as T, createBlock as h, resolveDynamicComponent as K, normalizeProps as k, createCommentVNode as O } from "vue";
2
- /* empty css */
3
- import { _ as P } from "../vendor.js";
4
- const x = { class: "panelWrap" }, B = /* @__PURE__ */ Object.assign({
5
- name: "MvcTabs",
6
- inheritAttrs: !1
7
- }, {
8
- __name: "index",
9
- props: {
10
- modelValue: {
11
- type: [String, Number, Boolean],
12
- default: void 0
13
- },
14
- /** 与 BtnGroup 一致;每项需含 `component`(或 `componentKey` 指定字段)指向要渲染的组件 */
15
- options: {
16
- type: Array,
17
- default: () => []
18
- },
19
- valueKey: {
20
- type: String,
21
- default: "value"
22
- },
23
- labelKey: {
24
- type: String,
25
- default: "label"
26
- },
27
- componentKey: {
28
- type: String,
29
- default: "component"
30
- },
31
- /** 选项对象上用于 `v-bind` 到当前面板的字段名,如 `{ paneProps: { id: 1 } }` */
32
- panePropsKey: {
33
- type: String,
34
- default: "paneProps"
35
- },
36
- disabled: {
37
- type: Boolean,
38
- default: !1
39
- }
40
- },
41
- emits: ["update:modelValue", "change"],
42
- setup(d, { emit: m }) {
43
- const t = d, a = m, y = b(), r = (e) => e == null ? e : ["Object", "Array"].includes(globalThis.$getType(e)) ? e[t.valueKey] : e, f = (e) => {
44
- a("update:modelValue", e);
45
- const u = t.options.find((n) => r(n) === e);
46
- a("change", e, u);
47
- }, s = l(
48
- () => t.options.find((e) => r(e) === t.modelValue)
49
- ), c = l(() => {
50
- const e = s.value;
51
- if (!(!e || !["Object", "Array"].includes(globalThis.$getType(e))))
52
- return e[t.componentKey];
53
- }), _ = l(() => {
54
- const e = s.value;
55
- return !e || !["Object", "Array"].includes(globalThis.$getType(e)) ? {} : e[t.panePropsKey] ?? {};
56
- });
57
- return (e, u) => {
58
- const n = g("BtnGroup");
59
- return p(), v("div", i({ class: "MvcTabs flexMode flexV g12" }, o(y)), [
60
- V(n, {
61
- "model-value": t.modelValue,
62
- options: t.options,
63
- "value-key": t.valueKey,
64
- "label-key": t.labelKey,
65
- disabled: t.disabled,
66
- "onUpdate:modelValue": f
67
- }, null, 8, ["model-value", "options", "value-key", "label-key", "disabled"]),
68
- T("div", x, [
69
- o(c) ? (p(), h(K(o(c)), k(i({ key: 0 }, o(_))), null, 16)) : O("", !0)
70
- ])
71
- ], 16);
72
- };
73
- }
74
- }), S = /* @__PURE__ */ P(B, [["__scopeId", "data-v-62303cd8"]]), M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
75
- __proto__: null,
76
- default: S
77
- }, Symbol.toStringTag, { value: "Module" }));
78
- export {
79
- M as _
80
- };
@@ -1,103 +0,0 @@
1
- import { ref as S, reactive as $, getCurrentInstance as C, onMounted as V, nextTick as j, computed as u, watch as E, onUnmounted as I, resolveComponent as L, openBlock as k, createBlock as A, mergeProps as M, unref as a } from "vue";
2
- /* empty css */
3
- import { _ as O } from "../vendor.js";
4
- const T = /* @__PURE__ */ Object.assign({
5
- name: "MvcTextarea",
6
- inheritAttrs: !1
7
- }, {
8
- __name: "index",
9
- props: {
10
- modelValue: {
11
- type: [String, Number, Array],
12
- default: ""
13
- },
14
- rows: {
15
- type: Number,
16
- default: 3
17
- },
18
- height: {
19
- type: [String, Number],
20
- default: ""
21
- },
22
- output: {
23
- type: String,
24
- default: "string",
25
- validator: (i) => ["string", "array"].includes(i)
26
- },
27
- resize: {
28
- type: String,
29
- default: "vertical",
30
- validator: (i) => ["none", "vertical"].includes(i)
31
- }
32
- },
33
- emits: [
34
- "update:modelValue",
35
- "input",
36
- "change",
37
- "blur",
38
- "focus"
39
- ],
40
- setup(i, { emit: y }) {
41
- const r = i, p = S(null);
42
- let n = null;
43
- const o = $({
44
- val: "",
45
- isComposing: !1
46
- }), c = y, { proxy: s } = C();
47
- V(() => {
48
- var e, l;
49
- const t = (e = p.value) == null ? void 0 : e.$el;
50
- n = (l = t == null ? void 0 : t.querySelector) == null ? void 0 : l.call(t, "textarea"), n && (n.addEventListener("compositionstart", m), n.addEventListener("compositionend", d));
51
- });
52
- const m = () => {
53
- o.isComposing = !0;
54
- }, d = () => {
55
- o.isComposing = !1, j(() => f(o.val));
56
- }, h = (t) => {
57
- o.isComposing || f(t);
58
- }, v = (t) => {
59
- const e = String(t ?? "").split(/\r?\n/);
60
- return r.output === "array" ? e : e.join(",");
61
- }, _ = (t) => Array.isArray(t) ? t.join(`
62
- `) : String(t ?? "").replace(/,/g, `
63
- `), f = (t) => {
64
- const e = v(t);
65
- c("update:modelValue", e), c("input", e);
66
- }, b = u(() => {
67
- if (!r.height) return s.$attrs["input-style"];
68
- const t = typeof r.height == "number" ? `${r.height}px` : r.height;
69
- return { ...s.$attrs["input-style"] && typeof s.$attrs["input-style"] == "object" ? { ...s.$attrs["input-style"] } : {}, height: t, minHeight: t };
70
- }), x = u(() => !!(s.$attrs.maxlength || g.value)), g = u(() => s.$attrs.max);
71
- return E(
72
- () => r.modelValue,
73
- (t) => {
74
- const e = _(t);
75
- o.val !== e && (o.val = e);
76
- },
77
- { immediate: !0 }
78
- ), I(() => {
79
- n && (n.removeEventListener("compositionstart", m), n.removeEventListener("compositionend", d), n = null);
80
- }), (t, e) => {
81
- const l = L("el-input");
82
- return k(), A(l, M({
83
- ref_key: "inputRef",
84
- ref: p,
85
- type: "textarea",
86
- modelValue: a(o).val,
87
- "onUpdate:modelValue": e[0] || (e[0] = (w) => a(o).val = w),
88
- rows: r.rows,
89
- style: t.$attrs.style,
90
- "input-style": a(b),
91
- "show-word-limit": a(x),
92
- maxlength: a(g),
93
- class: "MvcTextarea"
94
- }, t.$attrs, { onInput: h }), null, 16, ["modelValue", "rows", "style", "input-style", "show-word-limit", "maxlength"]);
95
- };
96
- }
97
- }), B = /* @__PURE__ */ O(T, [["__scopeId", "data-v-4dba94bf"]]), P = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
98
- __proto__: null,
99
- default: B
100
- }, Symbol.toStringTag, { value: "Module" }));
101
- export {
102
- P as _
103
- };