UNPKG

ant-design-x-vue

Version:

Craft AI-driven interfaces effortlessly

77 lines (76 loc) 2.67 kB
import { useStyleInject as m, ATTR_TOKEN as g, CSS_IN_JS_INSTANCE as C } from "../StyleContext.mjs"; import y from "./useGlobalCache.mjs"; import { flattenToken as k, token2key as S } from "../util.mjs"; import { ref as A, computed as d } from "vue"; function p(t) { for (var e = 0, o, n = 0, c = t.length; c >= 4; ++n, c -= 4) o = t.charCodeAt(n) & 255 | (t.charCodeAt(++n) & 255) << 8 | (t.charCodeAt(++n) & 255) << 16 | (t.charCodeAt(++n) & 255) << 24, o = /* Math.imul(k, m): */ (o & 65535) * 1540483477 + ((o >>> 16) * 59797 << 16), o ^= /* k >>> r: */ o >>> 24, e = /* Math.imul(k, m): */ (o & 65535) * 1540483477 + ((o >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */ (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16); switch (c) { case 3: e ^= (t.charCodeAt(n + 2) & 255) << 16; case 2: e ^= (t.charCodeAt(n + 1) & 255) << 8; case 1: e ^= t.charCodeAt(n) & 255, e = /* Math.imul(h, m): */ (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16); } return e ^= e >>> 13, e = /* Math.imul(h, m): */ (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16), ((e ^ e >>> 15) >>> 0).toString(36); } const x = {}, E = "css", r = /* @__PURE__ */ new Map(); function _(t) { r.set(t, (r.get(t) || 0) + 1); } function b(t, e) { typeof document < "u" && document.querySelectorAll(`style[${g}="${t}"]`).forEach((n) => { var c; n[C] === e && ((c = n.parentNode) == null || c.removeChild(n)); }); } const I = 0; function K(t, e) { r.set(t, (r.get(t) || 0) - 1); const o = Array.from(r.keys()), n = o.filter((c) => (r.get(c) || 0) <= 0); o.length - n.length > I && n.forEach((c) => { b(c, e), r.delete(c); }); } const N = (t, e, o, n) => { let s = { ...o == null ? void 0 : o.getDerivativeToken(t), ...e }; return n && (s = n(s)), s; }; function j(t, e, o = A({})) { const n = m(), c = d(() => Object.assign({}, ...e.value || [])), s = d(() => k(c.value)), T = d(() => { var f; return k(((f = o.value) == null ? void 0 : f.override) || x); }); return y("token", d(() => { var f, a; return [((f = o.value) == null ? void 0 : f.salt) || "", (a = t.value) == null ? void 0 : a.id, s.value, T.value]; }), () => { const { salt: f = "", override: a = x, formatToken: h, getComputedToken: l } = o.value || {}, u = l ? l(c.value, a, t.value) : N(c.value, a, t.value, h), i = S(u, f); u._tokenKey = i, _(i); const v = `${E}-${p(i)}`; return u._hashId = v, [u, v]; }, (f) => { var a; K(f[0]._tokenKey, (a = n.value) == null ? void 0 : a.cache.instanceId); }); } export { N as g, p as m, j as u };