UNPKG

@glance-networks/agent-plugin

Version:

Glance Networks Agent Plugin

1,869 lines 160 kB
var we = Object.defineProperty; var me = (r, e, o) => e in r ? we(r, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : r[e] = o; var _r = (r, e, o) => me(r, typeof e != "symbol" ? e + "" : e, o); var qr = (r) => { throw TypeError(r); }, Kr = (r, e, o) => e.has(r) || qr("Cannot " + o), ve = (r, e, o) => (Kr(r, e, "read from private field"), o ? o.call(r) : e.get(r)), ke = (r, e, o) => e.has(r) ? qr("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(r) : e.set(r, o), xe = (r, e, o, t) => (Kr(r, e, "write to private field"), e.set(r, o), o); const _e = /* @__PURE__ */ new Set(["string", "number", "boolean"]), Ce = (r) => { let e; return { // Create c() { e = document.createElement("slot"), r && e.setAttribute("name", r); }, // Mount m(o, t) { o.insertBefore(e, t || null); }, // Props changed p() { }, // Detach d(o) { o && e.parentNode && e.parentNode.removeChild(e); } }; }; function Ue(r, { name: e, mode: o, styles: t }) { var n; if (!globalThis.customElements) { console.log( `Component ${e} not registered as there is no customElements in this environment. Perhaps this is an SSR compile, which is not supported for Leo components yet.` ); return; } if (customElements.get(e)) { console.log(`Attempted to register ${e} component multiple times.`); return; } const a = new r({ target: document.createElement("div") }), s = Object.keys(a.$$.props), i = s.reduce((m, y) => (m.set(y.toLowerCase(), y), m), /* @__PURE__ */ new Map()), c = Array.from(i.keys()), l = new Set( s.filter((m) => typeof a.$$.ctx[a.$$.props[m]] == "boolean") ); class u extends HTMLElement { constructor() { super(), ke(this, n), this.listenerRemovers = /* @__PURE__ */ new Map(); const y = this.shadowRoot ?? this.attachShadow({ mode: o }); if (t) { const b = new CSSStyleSheet(); b.replaceSync((t == null ? void 0 : t.default) || t), y.adoptedStyleSheets && (y.adoptedStyleSheets = [b]); } y.replaceChildren(); let p = /* @__PURE__ */ new Set(); const w = () => { var b; const g = Array.from(this.children).map( (C) => C.getAttribute("slot") ); if (this.childNodes.length && g.push(void 0), this.component && // If the size is the same, and every one of our last slots // is present, then nothing has changed, and we don't need // to do anything here. p.size === g.length && g.every((C) => p.has(C))) return; p = new Set(g); const v = g.reduce( (C, z) => ({ ...C, // @ts-ignore [z ?? "default"]: [() => Ce(z)] }), {} ), U = Object.keys(((b = this.component) == null ? void 0 : b.$$.props) ?? {}).map((C) => [C, this[C]]).reduce((C, [z, S]) => ({ ...C, [z]: S }), {}); this.component && this.component.$destroy(), this.component = new r({ // Target this shadowDOM, so we get nicely encapsulated // styles target: y, props: { // Copy over existing props (there might be none, if // this is our first render). ...U, // Create WebComponent slots for each Svelte slot we // have content for. This has to be done at render or // Svelte won't support fallback content. $$slots: v, // Not sure what this is needed for but Svelte crashes // without it. I think this might be related to slot // props: // https://svelte.dev/tutorial/slot-props $$scope: { ctx: [] } } }); }; new MutationObserver(w).observe(this, { childList: !0, attributes: !1, attributeOldValue: !1, subtree: !1, characterData: !1, characterDataOldValue: !1 }), w(); for (const b of s) Object.defineProperty(this, b, { enumerable: !0, get() { const g = this.component.$$.props[b]; return this.component.$$.ctx[g]; }, set(g) { _e.has(typeof g) && (l.has(b) ? g ? this.setAttribute(b, "") : this.removeAttribute(b) : this.setAttribute(b, g)), this.component.$set({ [b]: g }); } }); } get component() { return ve(this, n); } set component(y) { xe(this, n, y); for (const [p, w] of this.listenerRemovers.entries()) for (const [b, g] of w.entries()) g(), this.addEventListener(p, b); } static get observedAttributes() { return c; } attributeChangedCallback(y, p, w) { const b = i.get(y); b && p !== w && (this[b] = l.has(b) ? w !== null : w); } addEventListener(y, p) { this.listenerRemovers.has(y) || this.listenerRemovers.set(y, /* @__PURE__ */ new Map()); const w = this.component.$on(y, p); this.listenerRemovers.get(y).set(p, w); } removeEventListener(y, p) { var w, b, g; (b = (w = this.listenerRemovers.get(y)) == null ? void 0 : w.get(p)) == null || b(), (g = this.listenerRemovers.get(y)) == null || g.delete(p); } } n = /* @__PURE__ */ new WeakMap(), customElements.define(e, u); } function Fr() { } function N(r, e) { for (const o in e) r[o] = e[o]; return ( /** @type {T & S} */ r ); } function Qr(r) { return r(); } function Nr() { return /* @__PURE__ */ Object.create(null); } function V(r) { r.forEach(Qr); } function Vr(r) { return typeof r == "function"; } function Br(r, e) { return r != r ? e == e : r !== e || r && typeof r == "object" || typeof r == "function"; } function ze(r) { return Object.keys(r).length === 0; } function br(r, e, o, t) { if (r) { const n = Zr(r, e, o, t); return r[0](n); } } function Zr(r, e, o, t) { return r[1] && t ? N(o.ctx.slice(), r[1](t(e))) : o.ctx; } function pr(r, e, o, t) { if (r[2] && t) { const n = r[2](t(o)); if (e.dirty === void 0) return n; if (typeof n == "object") { const a = [], s = Math.max(e.dirty.length, n.length); for (let i = 0; i < s; i += 1) a[i] = e.dirty[i] | n[i]; return a; } return e.dirty | n; } return e.dirty; } function hr(r, e, o, t, n, a) { if (n) { const s = Zr(e, o, t, a); r.p(s, n); } } function yr(r) { if (r.ctx.length > 32) { const e = [], o = r.ctx.length / 32; for (let t = 0; t < o; t++) e[t] = -1; return e; } return -1; } function mr(r) { const e = {}; for (const o in r) o[0] !== "$" && (e[o] = r[o]); return e; } function vr(r, e) { const o = {}; e = new Set(e); for (const t in r) !e.has(t) && t[0] !== "$" && (o[t] = r[t]); return o; } function Hr(r, e) { r.appendChild(e); } function Fe(r, e, o) { const t = Se(r); if (!t.getElementById(e)) { const n = sr("style"); n.id = e, n.textContent = o, Ae(t, n); } } function Se(r) { if (!r) return document; const e = r.getRootNode ? r.getRootNode() : r.ownerDocument; return e && /** @type {ShadowRoot} */ e.host ? ( /** @type {ShadowRoot} */ e ) : r.ownerDocument; } function Ae(r, e) { return Hr( /** @type {Document} */ r.head || r, e ), e.sheet; } function Z(r, e, o) { r.insertBefore(e, o || null); } function O(r) { r.parentNode && r.parentNode.removeChild(r); } function sr(r) { return document.createElement(r); } function Ee(r) { return document.createTextNode(r); } function Tr() { return Ee(""); } function F(r, e, o, t) { return r.addEventListener(e, o, t), () => r.removeEventListener(e, o, t); } function tr(r, e, o) { o == null ? r.removeAttribute(e) : r.getAttribute(e) !== o && r.setAttribute(e, o); } const Me = ["width", "height"]; function fr(r, e) { const o = Object.getOwnPropertyDescriptors(r.__proto__); for (const t in e) e[t] == null ? r.removeAttribute(t) : t === "style" ? r.style.cssText = e[t] : t === "__value" ? r.value = r[t] = e[t] : o[t] && o[t].set && Me.indexOf(t) === -1 ? r[t] = e[t] : tr(r, t, e[t]); } function Be(r, e) { Object.keys(e).forEach((o) => { Te(r, o, e[o]); }); } function Te(r, e, o) { const t = e.toLowerCase(); t in r ? r[t] = typeof r[t] == "boolean" && o === "" ? !0 : o : e in r ? r[e] = typeof r[e] == "boolean" && o === "" ? !0 : o : tr(r, e, o); } function Lr(r) { return /-/.test(r) ? Be : fr; } function Re(r) { return Array.from(r.childNodes); } let ur; function dr(r) { ur = r; } function Ne() { if (!ur) throw new Error("Function called outside component initialization"); return ur; } function Xr(r) { return Ne().$$.context.get(r); } function k(r, e) { const o = r.$$.callbacks[e.type]; o && o.slice().forEach((t) => t.call(this, e)); } const or = [], Ir = []; let ar = []; const jr = [], Le = /* @__PURE__ */ Promise.resolve(); let Sr = !1; function Ie() { Sr || (Sr = !0, Le.then(Jr)); } function Ar(r) { ar.push(r); } const Cr = /* @__PURE__ */ new Set(); let $ = 0; function Jr() { if ($ !== 0) return; const r = ur; do { try { for (; $ < or.length; ) { const e = or[$]; $++, dr(e), je(e.$$); } } catch (e) { throw or.length = 0, $ = 0, e; } for (dr(null), or.length = 0, $ = 0; Ir.length; ) Ir.pop()(); for (let e = 0; e < ar.length; e += 1) { const o = ar[e]; Cr.has(o) || (Cr.add(o), o()); } ar.length = 0; } while (or.length); for (; jr.length; ) jr.pop()(); Sr = !1, Cr.clear(), dr(r); } function je(r) { if (r.fragment !== null) { r.update(), V(r.before_update); const e = r.dirty; r.dirty = [-1], r.fragment && r.fragment.p(r.ctx, e), r.after_update.forEach(Ar); } } function Ge(r) { const e = [], o = []; ar.forEach((t) => r.indexOf(t) === -1 ? e.push(t) : o.push(t)), o.forEach((t) => t()), ar = e; } const wr = /* @__PURE__ */ new Set(); let Q; function Yr() { Q = { r: 0, c: [], p: Q // parent group }; } function $r() { Q.r || V(Q.c), Q = Q.p; } function E(r, e) { r && r.i && (wr.delete(r), r.i(e)); } function M(r, e, o, t) { if (r && r.o) { if (wr.has(r)) return; wr.add(r), Q.c.push(() => { wr.delete(r), t && (o && r.d(1), t()); }), r.o(e); } else t && t(); } function xr(r, e) { const o = {}, t = {}, n = { $$scope: 1 }; let a = r.length; for (; a--; ) { const s = r[a], i = e[a]; if (i) { for (const c in s) c in i || (t[c] = 1); for (const c in i) n[c] || (o[c] = i[c], n[c] = 1); r[a] = i; } else for (const c in s) n[c] = 1; } for (const s in t) s in o || (o[s] = void 0); return o; } function Oe(r) { return typeof r == "object" && r !== null ? r : {}; } function Pe(r) { r && r.c(); } function re(r, e, o) { const { fragment: t, after_update: n } = r.$$; t && t.m(e, o), Ar(() => { const a = r.$$.on_mount.map(Qr).filter(Vr); r.$$.on_destroy ? r.$$.on_destroy.push(...a) : V(a), r.$$.on_mount = []; }), n.forEach(Ar); } function ee(r, e) { const o = r.$$; o.fragment !== null && (Ge(o.after_update), V(o.on_destroy), o.fragment && o.fragment.d(e), o.on_destroy = o.fragment = null, o.ctx = []); } function De(r, e) { r.$$.dirty[0] === -1 && (or.push(r), Ie(), r.$$.dirty.fill(0)), r.$$.dirty[e / 31 | 0] |= 1 << e % 31; } function oe(r, e, o, t, n, a, s = null, i = [-1]) { const c = ur; dr(r); const l = r.$$ = { fragment: null, ctx: [], // state props: a, update: Fr, not_equal: n, bound: Nr(), // lifecycle on_mount: [], on_destroy: [], on_disconnect: [], before_update: [], after_update: [], context: new Map(e.context || (c ? c.$$.context : [])), // everything else callbacks: Nr(), dirty: i, skip_bound: !1, root: e.target || c.$$.root }; s && s(l.root); let u = !1; if (l.ctx = o ? o(r, e.props || {}, (m, y, ...p) => { const w = p.length ? p[0] : y; return l.ctx && n(l.ctx[m], l.ctx[m] = w) && (!l.skip_bound && l.bound[m] && l.bound[m](w), u && De(r, m)), y; }) : [], l.update(), u = !0, V(l.before_update), l.fragment = t ? t(l.ctx) : !1, e.target) { if (e.hydrate) { const m = Re(e.target); l.fragment && l.fragment.l(m), m.forEach(O); } else l.fragment && l.fragment.c(); e.intro && E(r.$$.fragment), re(r, e.target, e.anchor), Jr(); } dr(c); } class te { constructor() { /** * ### PRIVATE API * * Do not use, may change at any time * * @type {any} */ _r(this, "$$"); /** * ### PRIVATE API * * Do not use, may change at any time * * @type {any} */ _r(this, "$$set"); } /** @returns {void} */ $destroy() { ee(this, 1), this.$destroy = Fr; } /** * @template {Extract<keyof Events, string>} K * @param {K} type * @param {((e: Events[K]) => void) | null | undefined} callback * @returns {() => void} */ $on(e, o) { if (!Vr(o)) return Fr; const t = this.$$.callbacks[e] || (this.$$.callbacks[e] = []); return t.push(o), () => { const n = t.indexOf(o); n !== -1 && t.splice(n, 1); }; } /** * @param {Partial<Props>} props * @returns {void} */ $set(e) { this.$$set && !ze(e) && (this.$$.skip_bound = !0, this.$$set(e), this.$$.skip_bound = !1); } } const We = "4"; typeof window < "u" && (window.__svelte || (window.__svelte = { v: /* @__PURE__ */ new Set() })).v.add(We); const Rr = "-", qe = (r) => { const e = Qe(r), { conflictingClassGroups: o, conflictingClassGroupModifiers: t } = r; return { getClassGroupId: (s) => { const i = s.split(Rr); return i[0] === "" && i.length !== 1 && i.shift(), ae(i, e) || Ke(s); }, getConflictingClassGroupIds: (s, i) => { const c = o[s] || []; return i && t[s] ? [...c, ...t[s]] : c; } }; }, ae = (r, e) => { var s; if (r.length === 0) return e.classGroupId; const o = r[0], t = e.nextPart.get(o), n = t ? ae(r.slice(1), t) : void 0; if (n) return n; if (e.validators.length === 0) return; const a = r.join(Rr); return (s = e.validators.find(({ validator: i }) => i(a))) == null ? void 0 : s.classGroupId; }, Gr = /^\[(.+)\]$/, Ke = (r) => { if (Gr.test(r)) { const e = Gr.exec(r)[1], o = e == null ? void 0 : e.substring(0, e.indexOf(":")); if (o) return "arbitrary.." + o; } }, Qe = (r) => { const { theme: e, prefix: o } = r, t = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return Ze(Object.entries(r.classGroups), o).forEach(([a, s]) => { Er(s, t, a, e); }), t; }, Er = (r, e, o, t) => { r.forEach((n) => { if (typeof n == "string") { const a = n === "" ? e : Or(e, n); a.classGroupId = o; return; } if (typeof n == "function") { if (Ve(n)) { Er(n(t), e, o, t); return; } e.validators.push({ validator: n, classGroupId: o }); return; } Object.entries(n).forEach(([a, s]) => { Er(s, Or(e, a), o, t); }); }); }, Or = (r, e) => { let o = r; return e.split(Rr).forEach((t) => { o.nextPart.has(t) || o.nextPart.set(t, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), o = o.nextPart.get(t); }), o; }, Ve = (r) => r.isThemeGetter, Ze = (r, e) => e ? r.map(([o, t]) => { const n = t.map((a) => typeof a == "string" ? e + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([s, i]) => [e + s, i])) : a); return [o, n]; }) : r, He = (r) => { if (r < 1) return { get: () => { }, set: () => { } }; let e = 0, o = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(); const n = (a, s) => { o.set(a, s), e++, e > r && (e = 0, t = o, o = /* @__PURE__ */ new Map()); }; return { get(a) { let s = o.get(a); if (s !== void 0) return s; if ((s = t.get(a)) !== void 0) return n(a, s), s; }, set(a, s) { o.has(a) ? o.set(a, s) : n(a, s); } }; }, ne = "!", Xe = (r) => { const { separator: e, experimentalParseClassName: o } = r, t = e.length === 1, n = e[0], a = e.length, s = (i) => { const c = []; let l = 0, u = 0, m; for (let g = 0; g < i.length; g++) { let v = i[g]; if (l === 0) { if (v === n && (t || i.slice(g, g + a) === e)) { c.push(i.slice(u, g)), u = g + a; continue; } if (v === "/") { m = g; continue; } } v === "[" ? l++ : v === "]" && l--; } const y = c.length === 0 ? i : i.substring(u), p = y.startsWith(ne), w = p ? y.substring(1) : y, b = m && m > u ? m - u : void 0; return { modifiers: c, hasImportantModifier: p, baseClassName: w, maybePostfixModifierPosition: b }; }; return o ? (i) => o({ className: i, parseClassName: s }) : s; }, Je = (r) => { if (r.length <= 1) return r; const e = []; let o = []; return r.forEach((t) => { t[0] === "[" ? (e.push(...o.sort(), t), o = []) : o.push(t); }), e.push(...o.sort()), e; }, Ye = (r) => ({ cache: He(r.cacheSize), parseClassName: Xe(r), ...qe(r) }), $e = /\s+/, ro = (r, e) => { const { parseClassName: o, getClassGroupId: t, getConflictingClassGroupIds: n } = e, a = [], s = r.trim().split($e); let i = ""; for (let c = s.length - 1; c >= 0; c -= 1) { const l = s[c], { modifiers: u, hasImportantModifier: m, baseClassName: y, maybePostfixModifierPosition: p } = o(l); let w = !!p, b = t(w ? y.substring(0, p) : y); if (!b) { if (!w) { i = l + (i.length > 0 ? " " + i : i); continue; } if (b = t(y), !b) { i = l + (i.length > 0 ? " " + i : i); continue; } w = !1; } const g = Je(u).join(":"), v = m ? g + ne : g, U = v + b; if (a.includes(U)) continue; a.push(U); const C = n(b, w); for (let z = 0; z < C.length; ++z) { const S = C[z]; a.push(v + S); } i = l + (i.length > 0 ? " " + i : i); } return i; }; function eo() { let r = 0, e, o, t = ""; for (; r < arguments.length; ) (e = arguments[r++]) && (o = se(e)) && (t && (t += " "), t += o); return t; } const se = (r) => { if (typeof r == "string") return r; let e, o = ""; for (let t = 0; t < r.length; t++) r[t] && (e = se(r[t])) && (o && (o += " "), o += e); return o; }; function oo(r, ...e) { let o, t, n, a = s; function s(c) { const l = e.reduce((u, m) => m(u), r()); return o = Ye(l), t = o.cache.get, n = o.cache.set, a = i, i(c); } function i(c) { const l = t(c); if (l) return l; const u = ro(c, o); return n(c, u), u; } return function() { return a(eo.apply(null, arguments)); }; } const _ = (r) => { const e = (o) => o[r] || []; return e.isThemeGetter = !0, e; }, ie = /^\[(?:([a-z-]+):)?(.+)\]$/i, to = /^\d+\/\d+$/, ao = /* @__PURE__ */ new Set(["px", "full", "screen"]), no = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, so = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, io = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, lo = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, co = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, R = (r) => nr(r) || ao.has(r) || to.test(r), j = (r) => ir(r, "length", wo), nr = (r) => !!r && !Number.isNaN(Number(r)), Ur = (r) => ir(r, "number", nr), lr = (r) => !!r && Number.isInteger(Number(r)), fo = (r) => r.endsWith("%") && nr(r.slice(0, -1)), h = (r) => ie.test(r), G = (r) => no.test(r), uo = /* @__PURE__ */ new Set(["length", "size", "percentage"]), go = (r) => ir(r, uo, le), bo = (r) => ir(r, "position", le), po = /* @__PURE__ */ new Set(["image", "url"]), ho = (r) => ir(r, po, vo), yo = (r) => ir(r, "", mo), cr = () => !0, ir = (r, e, o) => { const t = ie.exec(r); return t ? t[1] ? typeof e == "string" ? t[1] === e : e.has(t[1]) : o(t[2]) : !1; }, wo = (r) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. so.test(r) && !io.test(r) ), le = () => !1, mo = (r) => lo.test(r), vo = (r) => co.test(r), ko = () => { const r = _("colors"), e = _("spacing"), o = _("blur"), t = _("brightness"), n = _("borderColor"), a = _("borderRadius"), s = _("borderSpacing"), i = _("borderWidth"), c = _("contrast"), l = _("grayscale"), u = _("hueRotate"), m = _("invert"), y = _("gap"), p = _("gradientColorStops"), w = _("gradientColorStopPositions"), b = _("inset"), g = _("margin"), v = _("opacity"), U = _("padding"), C = _("saturate"), z = _("scale"), S = _("sepia"), P = _("skew"), D = _("space"), B = _("translate"), A = () => ["auto", "contain", "none"], W = () => ["auto", "hidden", "clip", "visible", "scroll"], q = () => ["auto", h, e], x = () => [h, e], H = () => ["", R, j], L = () => ["auto", nr, h], X = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], I = () => ["solid", "dashed", "dotted", "double", "none"], J = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], K = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], T = () => ["", "0", h], Y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [nr, h]; return { cacheSize: 500, separator: ":", theme: { colors: [cr], spacing: [R, j], blur: ["none", "", G, h], brightness: d(), borderColor: [r], borderRadius: ["none", "", "full", G, h], borderSpacing: x(), borderWidth: H(), contrast: d(), grayscale: T(), hueRotate: d(), invert: T(), gap: x(), gradientColorStops: [r], gradientColorStopPositions: [fo, j], inset: q(), margin: q(), opacity: d(), padding: x(), saturate: d(), scale: d(), sepia: T(), skew: d(), space: x(), translate: x() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", h] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [G] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": Y() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": Y() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...X(), h] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: W() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": W() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": W() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: A() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": A() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": A() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", lr, h] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: q() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", h] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: T() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: T() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", lr, h] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [cr] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", lr, h] }, h] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": L() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": L() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [cr] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [lr, h] }, h] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": L() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": L() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", h] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", h] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [y] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [y] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [y] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...K()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...K(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...K(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [U] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [U] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [U] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [U] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [U] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [U] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [U] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [U] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [U] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [g] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [g] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [g] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [g] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [g] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [g] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [g] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [g] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [g] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [D] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [D] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", h, e] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [h, e, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [h, e, "none", "full", "min", "max", "fit", "prose", { screen: [G] }, G] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [h, e, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [h, e, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [h, e, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [h, e, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", G, j] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Ur] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [cr] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", h] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", nr, Ur] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", R, h] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", h] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", h] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [r] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [v] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [r] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [v] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...I(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", R, j] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", R, h] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [r] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: x() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", h] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", h] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [v] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...X(), bo] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", go] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, ho] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [r] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [p] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [p] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [p] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [i] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [i] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [i] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [i] }], /** * Border Width End * @see https://t