UNPKG

epic-designer-gold

Version:

基于vue3的设计器,可视化开发页面表单

585 lines (584 loc) 19.7 kB
import { c as I } from "./_commonjsHelpers-BVfed4GL.js"; import { b as fe, a as ce, c as me, d as We, e as qe, u as Ke, f as Je, g as Qe } from "./index-B2_JTx7E.js"; import { r as Xe } from "./_vue_commonjs-external-NwvjgbHK.js"; import { _ as Ye, e as Ze } from "./index-kOCEDlqX.js"; import { s as pe, r as et, b as tt } from "./index-DDGSZCWD.js"; import { s as ve, r as nt, a as rt } from "./index-CaIHah0h.js"; function ut(t, o) { for (var c = 0; c < o.length; c++) { const d = o[c]; if (typeof d != "string" && !Array.isArray(d)) { for (const a in d) if (a !== "default" && !(a in t)) { const l = Object.getOwnPropertyDescriptor(d, a); l && Object.defineProperty(t, a, l.get ? l : { enumerable: !0, get: () => d[a] }); } } } return Object.freeze(Object.defineProperty(t, Symbol.toStringTag, { value: "Module" })); } var be = {}, ge = {}, he = {}, Q = {}; Object.defineProperty(Q, "__esModule", { value: !0 }); const lt = fe, it = pe, ot = ve, at = { name: "InputNumber", common: lt.commonDark, peers: { Button: it.buttonDark, Input: ot.inputDark }, self(t) { const { textColorDisabled: o } = t; return { iconColorDisabled: o }; } }; Q.default = at; var X = {}; Object.defineProperty(X, "__esModule", { value: !0 }); const st = ce, dt = fe, ft = pe, ct = ve; function mt(t) { const { textColorDisabled: o } = t; return { iconColorDisabled: o }; } const pt = (0, st.createTheme)({ name: "InputNumber", common: dt.commonLight, peers: { Button: ft.buttonLight, Input: ct.inputLight }, self: mt }); X.default = pt; var k = {}, Y = {}; Object.defineProperty(Y, "__esModule", { value: !0 }); const de = me; Y.default = (0, de.cB)("input-number", [(0, de.cM)("rtl", ` direction: rtl; `)]); var vt = I && I.__importDefault || function(t) { return t && t.__esModule ? t : { default: t }; }; Object.defineProperty(k, "__esModule", { value: !0 }); k.inputNumberRtl = void 0; const bt = et, gt = nt, ht = vt(Y); k.inputNumberRtl = { name: "InputNumber", style: ht.default, peers: [gt.inputRtl, bt.buttonRtl] }; (function(t) { var o = I && I.__importDefault || function(l) { return l && l.__esModule ? l : { default: l }; }; Object.defineProperty(t, "__esModule", { value: !0 }), t.inputNumberRtl = t.inputNumberLight = t.inputNumberDark = void 0; var c = Q; Object.defineProperty(t, "inputNumberDark", { enumerable: !0, get: function() { return o(c).default; } }); var d = X; Object.defineProperty(t, "inputNumberLight", { enumerable: !0, get: function() { return o(d).default; } }); var a = k; Object.defineProperty(t, "inputNumberRtl", { enumerable: !0, get: function() { return a.inputNumberRtl; } }); })(he); var Z = {}; Object.defineProperty(Z, "__esModule", { value: !0 }); const J = me; Z.default = (0, J.c)([(0, J.cB)("input-number-suffix", ` display: inline-block; margin-right: 10px; `), (0, J.cB)("input-number-prefix", ` display: inline-block; margin-left: 10px; `)]); var V = {}; Object.defineProperty(V, "__esModule", { value: !0 }); V.parse = _t; V.isWipValue = yt; V.validator = Nt; V.format = It; V.parseNumber = Mt; function _t(t) { return t == null || typeof t == "string" && t.trim() === "" ? null : Number(t); } function yt(t) { return t.includes(".") && (/^(-)?\d+.*(\.|0)$/.test(t) || /^-?\d*$/.test(t)) || t === "-" || t === "-0"; } function Nt(t) { return t == null ? !0 : !Number.isNaN(t); } function It(t, o) { return typeof t != "number" ? "" : o === void 0 ? String(t) : t.toFixed(o); } function Mt(t) { if (t === null) return null; if (typeof t == "number") return t; { const o = Number(t); return Number.isNaN(o) ? null : o; } } (function(t) { var o = I && I.__importDefault || function(r) { return r && r.__esModule ? r : { default: r }; }; Object.defineProperty(t, "__esModule", { value: !0 }), t.inputNumberProps = void 0; const c = Qe, d = Je, a = qe, l = Xe, ee = Ye, te = Ze, D = ce, _e = Ke, m = We, ne = tt, ye = rt, Ne = he, Ie = o(Z), v = V, re = 800, ue = 100; t.inputNumberProps = Object.assign(Object.assign({}, D.useTheme.props), { autofocus: Boolean, loading: { type: Boolean, default: void 0 }, placeholder: String, defaultValue: { type: Number, default: null }, value: Number, step: { type: [Number, String], default: 1 }, min: [Number, String], max: [Number, String], size: String, disabled: { type: Boolean, default: void 0 }, validator: Function, bordered: { type: Boolean, default: void 0 }, showButton: { type: Boolean, default: !0 }, buttonPlacement: { type: String, default: "right" }, inputProps: Object, readonly: Boolean, clearable: Boolean, keyboard: { type: Object, default: {} }, updateValueOnInput: { type: Boolean, default: !0 }, round: { type: Boolean, default: void 0 }, parse: Function, format: Function, precision: Number, status: String, "onUpdate:value": [Function, Array], onUpdateValue: [Function, Array], onFocus: [Function, Array], onBlur: [Function, Array], onClear: [Function, Array], // deprecated onChange: [Function, Array] }), t.default = (0, l.defineComponent)({ name: "InputNumber", props: t.inputNumberProps, slots: Object, setup(r) { process.env.NODE_ENV !== "production" && (0, l.watchEffect)(() => { r.onChange !== void 0 && (0, m.warnOnce)("input-number", "`on-change` is deprecated, please use `on-update:value` instead"); }); const { mergedBorderedRef: b, mergedClsPrefixRef: x, mergedRtlRef: A, mergedComponentPropsRef: p } = (0, D.useConfig)(r), y = (0, D.useTheme)("InputNumber", "-input-number", Ie.default, Ne.inputNumberLight, r, x), { localeRef: Me } = (0, D.useLocale)("InputNumber"), T = (0, D.useFormItem)(r, { mergedSize: (e) => { var n, u; const { size: i } = r; if (i) return i; const { mergedSize: s } = e || {}; if (s != null && s.value) return s.value; const f = (u = (n = p == null ? void 0 : p.value) === null || n === void 0 ? void 0 : n.InputNumber) === null || u === void 0 ? void 0 : u.size; return f || "medium"; } }), { mergedSizeRef: Ve, mergedDisabledRef: xe, mergedStatusRef: Pe } = T, h = (0, l.ref)(null), le = (0, l.ref)(null), ie = (0, l.ref)(null), U = (0, l.ref)(r.defaultValue), Oe = (0, l.toRef)(r, "value"), _ = (0, a.useMergedState)(Oe, U), M = (0, l.ref)(""), $ = (e) => { const n = String(e).split(".")[1]; return n ? n.length : 0; }, De = (e) => { const n = [r.min, r.max, r.step, e].map((u) => u === void 0 ? 0 : $(u)); return Math.max(...n); }, we = (0, a.useMemo)(() => { const { placeholder: e } = r; return e !== void 0 ? e : Me.value.placeholder; }), C = (0, a.useMemo)(() => { const e = (0, v.parseNumber)(r.step); return e !== null ? e === 0 ? 1 : Math.abs(e) : 1; }), oe = (0, a.useMemo)(() => { const e = (0, v.parseNumber)(r.min); return e !== null ? e : null; }), ae = (0, a.useMemo)(() => { const e = (0, v.parseNumber)(r.max); return e !== null ? e : null; }), P = () => { const { value: e } = _; if ((0, v.validator)(e)) { const { format: n, precision: u } = r; n ? M.value = n(e) : e === null || u === void 0 || $(e) > u ? M.value = (0, v.format)(e, void 0) : M.value = (0, v.format)(e, u); } else M.value = String(e); }; P(); const w = (e) => { const { value: n } = _; if (e === n) { P(); return; } const { "onUpdate:value": u, onUpdateValue: i, onChange: s } = r, { nTriggerFormInput: f, nTriggerFormChange: O } = T; s && (0, m.call)(s, e), i && (0, m.call)(i, e), u && (0, m.call)(u, e), U.value = e, f(), O(); }, g = ({ offset: e, doUpdateIfValid: n, fixPrecision: u, isInputing: i }) => { const { value: s } = M; if (i && (0, v.isWipValue)(s)) return !1; const f = (r.parse || v.parse)(s); if (f === null) return n && w(null), null; if ((0, v.validator)(f)) { const O = $(f), { precision: S } = r; if (S !== void 0 && S < O && !u) return !1; let N = Number.parseFloat((f + e).toFixed(S ?? De(f))); if ((0, v.validator)(N)) { const { value: q } = ae, { value: K } = oe; if (q !== null && N > q) { if (!n || i) return !1; N = q; } if (K !== null && N < K) { if (!n || i) return !1; N = K; } return r.validator && !r.validator(N) ? !1 : (n && w(N), N); } } return !1; }, Re = (0, a.useMemo)(() => g({ offset: 0, doUpdateIfValid: !1, isInputing: !1, fixPrecision: !1 }) === !1), E = (0, a.useMemo)(() => { const { value: e } = _; if (r.validator && e === null) return !1; const { value: n } = C; return g({ offset: -n, doUpdateIfValid: !1, isInputing: !1, fixPrecision: !1 }) !== !1; }), L = (0, a.useMemo)(() => { const { value: e } = _; if (r.validator && e === null) return !1; const { value: n } = C; return g({ offset: +n, doUpdateIfValid: !1, isInputing: !1, fixPrecision: !1 }) !== !1; }); function Be(e) { const { onFocus: n } = r, { nTriggerFormFocus: u } = T; n && (0, m.call)(n, e), u(); } function Se(e) { var n, u; if (e.target === ((n = h.value) === null || n === void 0 ? void 0 : n.wrapperElRef)) return; const i = g({ offset: 0, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }); if (i !== !1) { const O = (u = h.value) === null || u === void 0 ? void 0 : u.inputElRef; O && (O.value = String(i || "")), _.value === i && P(); } else P(); const { onBlur: s } = r, { nTriggerFormBlur: f } = T; s && (0, m.call)(s, e), f(), (0, l.nextTick)(() => { P(); }); } function Te(e) { const { onClear: n } = r; n && (0, m.call)(n, e); } function z() { const { value: e } = L; if (!e) { W(); return; } const { value: n } = _; if (n === null) r.validator || w(se()); else { const { value: u } = C; g({ offset: u, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }); } } function H() { const { value: e } = E; if (!e) { G(); return; } const { value: n } = _; if (n === null) r.validator || w(se()); else { const { value: u } = C; g({ offset: -u, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }); } } const Ce = Be, je = Se; function se() { if (r.validator) return null; const { value: e } = oe, { value: n } = ae; return e !== null ? Math.max(0, e) : n !== null ? Math.min(0, n) : 0; } function Fe(e) { Te(e), w(null); } function ke(e) { var n, u, i; !((n = ie.value) === null || n === void 0) && n.$el.contains(e.target) && e.preventDefault(), !((u = le.value) === null || u === void 0) && u.$el.contains(e.target) && e.preventDefault(), (i = h.value) === null || i === void 0 || i.activate(); } let R = null, B = null, j = null; function G() { j && (window.clearTimeout(j), j = null), R && (window.clearInterval(R), R = null); } let F = null; function W() { F && (window.clearTimeout(F), F = null), B && (window.clearInterval(B), B = null); } function Ae() { G(), j = window.setTimeout(() => { R = window.setInterval(() => { H(); }, ue); }, re), (0, c.on)("mouseup", document, G, { once: !0 }); } function Ue() { W(), F = window.setTimeout(() => { B = window.setInterval(() => { z(); }, ue); }, re), (0, c.on)("mouseup", document, W, { once: !0 }); } const $e = () => { B || z(); }, Ee = () => { R || H(); }; function Le(e) { var n, u; if (e.key === "Enter") { if (e.target === ((n = h.value) === null || n === void 0 ? void 0 : n.wrapperElRef)) return; g({ offset: 0, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }) !== !1 && ((u = h.value) === null || u === void 0 || u.deactivate()); } else if (e.key === "ArrowUp") { if (!L.value || r.keyboard.ArrowUp === !1) return; e.preventDefault(), g({ offset: 0, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }) !== !1 && z(); } else if (e.key === "ArrowDown") { if (!E.value || r.keyboard.ArrowDown === !1) return; e.preventDefault(), g({ offset: 0, doUpdateIfValid: !0, isInputing: !1, fixPrecision: !0 }) !== !1 && H(); } } function ze(e) { M.value = e, r.updateValueOnInput && !r.format && !r.parse && r.precision === void 0 && g({ offset: 0, doUpdateIfValid: !0, isInputing: !0, fixPrecision: !1 }); } (0, l.watch)(_, () => { P(); }); const He = { focus: () => { var e; return (e = h.value) === null || e === void 0 ? void 0 : e.focus(); }, blur: () => { var e; return (e = h.value) === null || e === void 0 ? void 0 : e.blur(); }, select: () => { var e; return (e = h.value) === null || e === void 0 ? void 0 : e.select(); } }, Ge = (0, _e.useRtl)("InputNumber", A, x); return Object.assign(Object.assign({}, He), { rtlEnabled: Ge, inputInstRef: h, minusButtonInstRef: le, addButtonInstRef: ie, mergedClsPrefix: x, mergedBordered: b, uncontrolledValue: U, mergedValue: _, mergedPlaceholder: we, displayedValueInvalid: Re, mergedSize: Ve, mergedDisabled: xe, displayedValue: M, addable: L, minusable: E, mergedStatus: Pe, handleFocus: Ce, handleBlur: je, handleClear: Fe, handleMouseDown: ke, handleAddClick: $e, handleMinusClick: Ee, handleAddMousedown: Ue, handleMinusMousedown: Ae, handleKeyDown: Le, handleUpdateDisplayedValue: ze, // theme mergedTheme: y, inputThemeOverrides: { paddingSmall: "0 8px 0 10px", paddingMedium: "0 8px 0 12px", paddingLarge: "0 8px 0 14px" }, buttonThemeOverrides: (0, l.computed)(() => { const { self: { iconColorDisabled: e } } = y.value, [n, u, i, s] = (0, d.rgba)(e); return { textColorTextDisabled: `rgb(${n}, ${u}, ${i})`, opacityDisabled: `${s}` }; }) }); }, render() { const { mergedClsPrefix: r, $slots: b } = this, x = () => (0, l.h)(ne.NxButton, { text: !0, disabled: !this.minusable || this.mergedDisabled || this.readonly, focusable: !1, theme: this.mergedTheme.peers.Button, themeOverrides: this.mergedTheme.peerOverrides.Button, builtinThemeOverrides: this.buttonThemeOverrides, onClick: this.handleMinusClick, onMousedown: this.handleMinusMousedown, ref: "minusButtonInstRef" }, { icon: () => (0, m.resolveSlot)(b["minus-icon"], () => [ (0, l.h)(ee.NBaseIcon, { clsPrefix: r }, { default: () => (0, l.h)(te.RemoveIcon, null) }) ]) }), A = () => (0, l.h)(ne.NxButton, { text: !0, disabled: !this.addable || this.mergedDisabled || this.readonly, focusable: !1, theme: this.mergedTheme.peers.Button, themeOverrides: this.mergedTheme.peerOverrides.Button, builtinThemeOverrides: this.buttonThemeOverrides, onClick: this.handleAddClick, onMousedown: this.handleAddMousedown, ref: "addButtonInstRef" }, { icon: () => (0, m.resolveSlot)(b["add-icon"], () => [ (0, l.h)(ee.NBaseIcon, { clsPrefix: r }, { default: () => (0, l.h)(te.AddIcon, null) }) ]) }); return (0, l.h)( "div", { class: [ `${r}-input-number`, this.rtlEnabled && `${r}-input-number--rtl` ] }, (0, l.h)(ye.NInput, { ref: "inputInstRef", autofocus: this.autofocus, status: this.mergedStatus, bordered: this.mergedBordered, loading: this.loading, value: this.displayedValue, onUpdateValue: this.handleUpdateDisplayedValue, theme: this.mergedTheme.peers.Input, themeOverrides: this.mergedTheme.peerOverrides.Input, builtinThemeOverrides: this.inputThemeOverrides, size: this.mergedSize, placeholder: this.mergedPlaceholder, disabled: this.mergedDisabled, readonly: this.readonly, round: this.round, textDecoration: this.displayedValueInvalid ? "line-through" : void 0, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeydown: this.handleKeyDown, onMousedown: this.handleMouseDown, onClear: this.handleClear, clearable: this.clearable, inputProps: this.inputProps, internalLoadingBeforeSuffix: !0 }, { prefix: () => { var p; return this.showButton && this.buttonPlacement === "both" ? [ x(), (0, m.resolveWrappedSlot)(b.prefix, (y) => y ? (0, l.h)("span", { class: `${r}-input-number-prefix` }, y) : null) ] : (p = b.prefix) === null || p === void 0 ? void 0 : p.call(b); }, suffix: () => { var p; return this.showButton ? [ (0, m.resolveWrappedSlot)(b.suffix, (y) => y ? (0, l.h)("span", { class: `${r}-input-number-suffix` }, y) : null), this.buttonPlacement === "right" ? x() : null, A() ] : (p = b.suffix) === null || p === void 0 ? void 0 : p.call(b); } }) ); } }); })(ge); (function(t) { var o = I && I.__importDefault || function(d) { return d && d.__esModule ? d : { default: d }; }; Object.defineProperty(t, "__esModule", { value: !0 }), t.NInputNumber = t.inputNumberProps = void 0; var c = ge; Object.defineProperty(t, "inputNumberProps", { enumerable: !0, get: function() { return c.inputNumberProps; } }), Object.defineProperty(t, "NInputNumber", { enumerable: !0, get: function() { return o(c).default; } }); })(be); const Rt = /* @__PURE__ */ ut({ __proto__: null }, [be]); export { Rt as i };