UNPKG

mine-h5-ui

Version:

一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍

50 lines (49 loc) 1.4 kB
import { ref as o, onMounted as w, watch as h } from "vue"; /*! * mine-h5-ui v2.15.0 * Copyright (c) 2025 biaov * @license MIT */ const S = (s, n) => ({ sms: o(), handleSMS: (a) => { !s.smsIs && n("click-sms", a); } }), b = (s, n, l) => ({ handleIcon: (a) => { s.password ? l.value = l.value === "password" ? "text" : "password" : n("click-icon", a); } }), x = ({ props: s, emit: n, sms: l, inputVal: u }) => { const a = o(), f = o(s.digit ? "text" : s.password ? "password" : s.type), i = o(0), v = o(0), t = o(!1), d = (e) => { var c; e === 1 ? v.value = s.smsMsg ? l.value.offsetWidth : 10 : i.value = s.label ? Math.max(parseFloat(s.labelWidth || "0"), (c = a.value) == null ? void 0 : c.offsetWidth) : 10; }, r = (e) => { t.value = !t.value, n("focus", e); }, g = (e) => { t.value = !t.value, n("blur", e); }, I = (e) => { t.value = !t.value, n("change", e); }, m = (e) => { t.value = !t.value, n("input", e); }; return w(() => { d(0), d(1); }), h(u, (e, c) => { s.digit && !/^\d*$/g.test(e) && (u.value = +c); }), h( () => s.smsIs, () => { d(1); } ), { inputLabel: a, inputType: f, paddingLeft: i, paddingRight: v, isFocus: t, onFocus: r, onBlur: g, onChange: I, onInput: m }; }; export { b as useIcon, x as useInput, S as useSms };