jadq-x-vue
Version:
Craft AI-driven interfaces effortlessly
25 lines (24 loc) • 851 B
JavaScript
import m from "../../_util/hooks/use-state.mjs";
import { computed as s, watch as d, unref as l } from "vue";
function u(e) {
return typeof e == "string";
}
const _ = (e, t, f, g) => {
const [p, o] = m(""), [a, i] = m(1), v = s(() => t.value && u(e.value));
return d(e, () => {
const r = l(p);
o(e.value), !v.value && u(e.value) ? i(e.value.length) : u(e.value) && u(r) && e.value.indexOf(r) !== 0 && i(1);
}, { immediate: !0 }), d([a, t, e], (r, C, T) => {
if (v.value && u(e.value) && l(a) < e.value.length) {
const n = setTimeout(() => {
i(l(a) + f.value);
}, g.value);
T(() => {
clearTimeout(n);
});
}
}, { immediate: !0 }), [s(() => v.value && u(e.value) ? e.value.slice(0, l(a)) : e.value), s(() => v.value && u(e.value) && l(a) < e.value.length)];
};
export {
_ as default
};