UNPKG

maska

Version:

Simple zero-dependency input mask for Vanilla JS, Vue, Alpine.js and Svelte

27 lines (26 loc) 1.01 kB
import { MaskInput as c } from "./maska.mjs"; const u = /* @__PURE__ */ new WeakMap(), d = (f) => { f.directive("maska", (o, e, t) => { const a = o instanceof HTMLInputElement ? o : o.querySelector("input"); if (a == null || (a == null ? void 0 : a.type) === "file") return; let s = {}; const p = e.expression !== "" ? t.evaluateLater(e.expression) : () => { }; t.effect(() => { var k; if (p((n) => { s = typeof n == "string" ? { mask: n } : { ...n }; }), e.value != null) { const n = (l) => { const r = e.modifiers.includes("unmasked") ? l.unmasked : e.modifiers.includes("completed") ? l.completed : l.masked, m = t.Alpine.$data(a); e.value in m && (m[e.value] = r); }; s.onMaska = s.onMaska == null ? n : Array.isArray(s.onMaska) ? [...s.onMaska, n] : [s.onMaska, n]; } u.has(a) ? (k = u.get(a)) == null || k.update(s) : u.set(a, new c(a, s)); }); }).before("model"); }; export { d as xMaska };