vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
98 lines (97 loc) • 3.44 kB
JavaScript
import { defineComponent as z, mergeModels as b, useTemplateRef as B, useModel as F, createElementBlock as T, openBlock as N, normalizeClass as k, unref as o, withDirectives as c, createElementVNode as s, createBlock as $, createCommentVNode as g, vModelText as q, createVNode as x, withModifiers as D } from "vue";
import { useInputNumber as P } from "./hook/useInputNumber.mjs";
import { Icon as i } from "@vuux/icons";
const R = ["placeholder", "readonly", "disabled", "min", "max", "step"], G = /* @__PURE__ */ z({
name: "InputNumber",
__name: "index",
props: /* @__PURE__ */ b({
step: { default: 1 },
min: { default: 0 },
max: { default: 100 },
precision: {},
focusSelect: { type: Boolean },
disabled: { type: Boolean },
clear: { type: Boolean },
placeholder: { default: "请输入" },
readonly: { type: Boolean }
}, {
modelValue: { required: !0 },
modelModifiers: {}
}),
emits: /* @__PURE__ */ b(["blur", "focus", "clear", "input"], ["update:modelValue"]),
setup(r, { emit: C }) {
const l = r, E = C, a = B("inputNumberEl"), p = B("inputEl"), u = F(r, "modelValue"), { isFocus: d, isClear: I, classNames: V, onFocus: m, onBlur: f, onInput: v, onPlus: M, onMinus: y, handleClear: w, onClearTimer: t } = P(l, a, p, u, E);
return (S, e) => (N(), T("div", {
ref_key: "inputNumberEl",
ref: a,
class: k(["app-input-number", o(V)])
}, [
c(s("input", {
ref_key: "inputEl",
ref: p,
"onUpdate:modelValue": e[0] || (e[0] = (n) => u.value = n),
title: "",
type: "number",
placeholder: l.placeholder,
readonly: l.readonly,
disabled: l.disabled,
min: l.min,
max: l.max,
step: l.step,
onInput: e[1] || (e[1] = //@ts-ignore
(...n) => o(v) && o(v)(...n)),
onBlur: e[2] || (e[2] = //@ts-ignore
(...n) => o(f) && o(f)(...n)),
onFocus: e[3] || (e[3] = //@ts-ignore
(...n) => o(m) && o(m)(...n))
}, null, 40, R), [
[q, u.value]
]),
s("div", {
class: "input-operation",
onMouseenter: e[10] || (e[10] = (n) => d.value = !0),
onMouseleave: e[11] || (e[11] = (n) => d.value = !1)
}, [
s("div", {
class: "input-plus",
onMousedown: e[4] || (e[4] = //@ts-ignore
(...n) => o(M) && o(M)(...n)),
onMouseup: e[5] || (e[5] = //@ts-ignore
(...n) => o(t) && o(t)(...n)),
onMouseleave: e[6] || (e[6] = //@ts-ignore
(...n) => o(t) && o(t)(...n))
}, [
x(o(i), {
name: "Icon2569559",
size: 14
})
], 32),
s("div", {
class: "input-minus",
onMousedown: e[7] || (e[7] = //@ts-ignore
(...n) => o(y) && o(y)(...n)),
onMouseup: e[8] || (e[8] = //@ts-ignore
(...n) => o(t) && o(t)(...n)),
onMouseleave: e[9] || (e[9] = //@ts-ignore
(...n) => o(t) && o(t)(...n))
}, [
x(o(i), {
name: "Icon1336922",
size: 14
})
], 32)
], 32),
l.clear ? (N(), $(o(i), {
key: 0,
name: "Icon9176904",
size: 13,
opacity: 0.9,
class: k({ "is-active": o(I) }),
onClick: D(o(w), ["stop"])
}, null, 8, ["class", "onClick"])) : g("", !0)
], 2));
}
});
export {
G as default
};