epic-designer-gold
Version:
基于vue3的设计器,可视化开发页面表单
585 lines (584 loc) • 19.7 kB
JavaScript
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
};