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