velaris-richtext-editor
Version:
A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React
1,638 lines • 354 kB
JavaScript
var xu = Object.defineProperty;
var yu = (e, t, r) => t in e ? xu(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
var tr = (e, t, r) => yu(e, typeof t != "symbol" ? t + "" : t, r);
import { jsxs as I, jsx as s, Fragment as fe } from "react/jsx-runtime";
import * as Z from "react";
import lr, { useState as K, useRef as Ge, useEffect as le, useMemo as ye, useCallback as te, createContext as bu, useContext as wu, useSyncExternalStore as Su, Fragment as Au, memo as Cu, forwardRef as Tu, useId as Iu, useImperativeHandle as Ou, useLayoutEffect as Ru } from "react";
import { c as oo, B as at, N as ao, R as co, g as Gr, u as Pu, E as Nu } from "./dom-dataset-CJ7GyQ2E.js";
import { Slot as Cs } from "@radix-ui/react-slot";
import * as Re from "@radix-ui/react-dialog";
import { WrapText as Eu, PencilRuler as Mu, FlipHorizontal as $u, FlipVertical as _u, CropIcon as ku, ChevronUp as Lu, Paperclip as Du, Eye as Bu, Settings as zu, ZoomOut as ju, ZoomIn as qu, BookMarked as Fu, Sigma as Hu, SmilePlusIcon as Wu, Replace as Xo, SmilePlus as Gu, Frame as Uu, Columns2 as Ko, PanelRight as Vu, PanelLeft as Xu, Clipboard as Ku, Copy as Yu, GripVertical as Ju, Plus as Ts, Columns4 as Zu, Columns3 as Qu, Heading6 as ef, Heading5 as tf, Heading4 as rf, Heading3 as nf, Heading2 as of, Heading1 as af, ChevronsUpDown as cf, Trash as sf, Trash2 as lf, TableCellsSplit as uf, TableCellsMerge as ff, BetweenVerticalEnd as df, BetweenVerticalStart as hf, BetweenHorizonalStart as pf, BetweenHorizonalEnd as gf, Unlink as mf, Pencil as vf, Sparkles as xf, Table as yf, Minimize as bf, Maximize as wf, Video as Sf, ImageUp as Af, Link as Cf, ListTodo as Tf, ListOrdered as If, List as Of, IndentDecrease as Rf, IndentIncrease as Pf, Type as Nf, CodeXml as Ef, Code as Mf, Superscript as $f, Subscript as _f, ChevronDown as kf, Undo2 as Lf, Redo2 as Df, PaintRoller as Bf, Eraser as zf, Minus as jf, Strikethrough as qf, Quote as Ff, Underline as Hf, Italic as Wf, LoaderCircle as Gf, Bold as Uf, X as Is, ChevronRight as Vf, Check as Os, Circle as Xf } from "lucide-react";
import { m as we, B as Kf, q as dr, V as ji, u as ge, r as Yf, I as hr, k as pr, j as Rs, C as Jf, E as Zf } from "./index-D9llIWB5.js";
import * as kt from "@radix-ui/react-popover";
import * as Ps from "@radix-ui/react-label";
import { O as Ht, Q as Qf, z as ed, S as td, a as so, P as lo, T as Wt, A as rd, R as nd, U as id, N as Gt, n as Ns, m as Ct, b as od, D as ad, V as gr, W as cd, E as sd } from "./index-Drmyqk9P.js";
import { Resizable as ld } from "re-resizable";
import ud from "react-image-crop";
import { TextAlignRightIcon as fd, TextAlignLeftIcon as dd, TextAlignJustifyIcon as hd, TextAlignCenterIcon as pd } from "@radix-ui/react-icons";
import * as ft from "@radix-ui/react-tabs";
import * as qi from "@radix-ui/react-checkbox";
import gd, { sticky as md } from "tippy.js";
import { HexColorPicker as vd } from "react-colorful";
import * as Es from "@radix-ui/react-separator";
import * as Fi from "@radix-ui/react-switch";
import * as ce from "@radix-ui/react-dropdown-menu";
import * as Ut from "@radix-ui/react-tooltip";
import * as Ie from "@radix-ui/react-toast";
import * as Ms from "@radix-ui/react-toggle";
var $s = typeof global == "object" && global && global.Object === Object && global, xd = typeof self == "object" && self && self.Object === Object && self, Be = $s || xd || Function("return this")(), Le = Be.Symbol, _s = Object.prototype, yd = _s.hasOwnProperty, bd = _s.toString, Pt = Le ? Le.toStringTag : void 0;
function wd(e) {
var t = yd.call(e, Pt), r = e[Pt];
try {
e[Pt] = void 0;
var n = !0;
} catch {
}
var i = bd.call(e);
return n && (t ? e[Pt] = r : delete e[Pt]), i;
}
var Sd = Object.prototype, Ad = Sd.toString;
function Cd(e) {
return Ad.call(e);
}
var Td = "[object Null]", Id = "[object Undefined]", Yo = Le ? Le.toStringTag : void 0;
function ct(e) {
return e == null ? e === void 0 ? Id : Td : Yo && Yo in Object(e) ? wd(e) : Cd(e);
}
function Ue(e) {
return e != null && typeof e == "object";
}
var Od = "[object Symbol]";
function Sr(e) {
return typeof e == "symbol" || Ue(e) && ct(e) == Od;
}
function ks(e, t) {
for (var r = -1, n = e == null ? 0 : e.length, i = Array(n); ++r < n; )
i[r] = t(e[r], r, e);
return i;
}
var De = Array.isArray, Jo = Le ? Le.prototype : void 0, Zo = Jo ? Jo.toString : void 0;
function mr(e) {
if (typeof e == "string")
return e;
if (De(e))
return ks(e, mr) + "";
if (Sr(e))
return Zo ? Zo.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
var Rd = /\s/;
function Pd(e) {
for (var t = e.length; t-- && Rd.test(e.charAt(t)); )
;
return t;
}
var Nd = /^\s+/;
function Ed(e) {
return e && e.slice(0, Pd(e) + 1).replace(Nd, "");
}
function ot(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var Qo = NaN, Md = /^[-+]0x[0-9a-f]+$/i, $d = /^0b[01]+$/i, _d = /^0o[0-7]+$/i, kd = parseInt;
function wt(e) {
if (typeof e == "number")
return e;
if (Sr(e))
return Qo;
if (ot(e)) {
var t = typeof e.valueOf == "function" ? e.valueOf() : e;
e = ot(t) ? t + "" : t;
}
if (typeof e != "string")
return e === 0 ? e : +e;
e = Ed(e);
var r = $d.test(e);
return r || _d.test(e) ? kd(e.slice(2), r ? 2 : 8) : Md.test(e) ? Qo : +e;
}
var Ld = 1 / 0, Dd = 17976931348623157e292;
function Bd(e) {
if (!e)
return e === 0 ? e : 0;
if (e = wt(e), e === Ld || e === -1 / 0) {
var t = e < 0 ? -1 : 1;
return t * Dd;
}
return e === e ? e : 0;
}
function zd(e) {
var t = Bd(e), r = t % 1;
return t === t ? r ? t - r : t : 0;
}
function uo(e) {
return e;
}
var jd = "[object AsyncFunction]", qd = "[object Function]", Fd = "[object GeneratorFunction]", Hd = "[object Proxy]";
function Ls(e) {
if (!ot(e))
return !1;
var t = ct(e);
return t == qd || t == Fd || t == jd || t == Hd;
}
var Ur = Be["__core-js_shared__"], ea = function() {
var e = /[^.]+$/.exec(Ur && Ur.keys && Ur.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function Wd(e) {
return !!ea && ea in e;
}
var Gd = Function.prototype, Ud = Gd.toString;
function dt(e) {
if (e != null) {
try {
return Ud.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var Vd = /[\\^$.*+?()[\]{}|]/g, Xd = /^\[object .+?Constructor\]$/, Kd = Function.prototype, Yd = Object.prototype, Jd = Kd.toString, Zd = Yd.hasOwnProperty, Qd = RegExp(
"^" + Jd.call(Zd).replace(Vd, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function eh(e) {
if (!ot(e) || Wd(e))
return !1;
var t = Ls(e) ? Qd : Xd;
return t.test(dt(e));
}
function th(e, t) {
return e == null ? void 0 : e[t];
}
function ht(e, t) {
var r = th(e, t);
return eh(r) ? r : void 0;
}
var Hi = ht(Be, "WeakMap");
function rh(e, t, r) {
switch (r.length) {
case 0:
return e.call(t);
case 1:
return e.call(t, r[0]);
case 2:
return e.call(t, r[0], r[1]);
case 3:
return e.call(t, r[0], r[1], r[2]);
}
return e.apply(t, r);
}
var nh = 800, ih = 16, oh = Date.now;
function ah(e) {
var t = 0, r = 0;
return function() {
var n = oh(), i = ih - (n - r);
if (r = n, i > 0) {
if (++t >= nh)
return arguments[0];
} else
t = 0;
return e.apply(void 0, arguments);
};
}
function ch(e) {
return function() {
return e;
};
}
var ta = function() {
try {
var e = ht(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}(), sh = ta ? function(e, t) {
return ta(e, "toString", {
configurable: !0,
enumerable: !1,
value: ch(t),
writable: !0
});
} : uo, lh = ah(sh);
function uh(e, t, r, n) {
for (var i = e.length, o = r + -1; ++o < i; )
if (t(e[o], o, e))
return o;
return -1;
}
function fh(e) {
return e !== e;
}
function dh(e, t, r) {
for (var n = r - 1, i = e.length; ++n < i; )
if (e[n] === t)
return n;
return -1;
}
function hh(e, t, r) {
return t === t ? dh(e, t, r) : uh(e, fh, r);
}
function ph(e, t) {
var r = e == null ? 0 : e.length;
return !!r && hh(e, t, 0) > -1;
}
var gh = 9007199254740991, mh = /^(?:0|[1-9]\d*)$/;
function Ds(e, t) {
var r = typeof e;
return t = t ?? gh, !!t && (r == "number" || r != "symbol" && mh.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
function Bs(e, t) {
return e === t || e !== e && t !== t;
}
var ra = Math.max;
function vh(e, t, r) {
return t = ra(t === void 0 ? e.length - 1 : t, 0), function() {
for (var n = arguments, i = -1, o = ra(n.length - t, 0), a = Array(o); ++i < o; )
a[i] = n[t + i];
i = -1;
for (var c = Array(t + 1); ++i < t; )
c[i] = n[i];
return c[t] = r(a), rh(e, this, c);
};
}
function xh(e, t) {
return lh(vh(e, t, uo), e + "");
}
var yh = 9007199254740991;
function fo(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= yh;
}
function zs(e) {
return e != null && fo(e.length) && !Ls(e);
}
var bh = Object.prototype;
function wh(e) {
var t = e && e.constructor, r = typeof t == "function" && t.prototype || bh;
return e === r;
}
function Sh(e, t) {
for (var r = -1, n = Array(e); ++r < e; )
n[r] = t(r);
return n;
}
var Ah = "[object Arguments]";
function na(e) {
return Ue(e) && ct(e) == Ah;
}
var js = Object.prototype, Ch = js.hasOwnProperty, Th = js.propertyIsEnumerable, ho = na(/* @__PURE__ */ function() {
return arguments;
}()) ? na : function(e) {
return Ue(e) && Ch.call(e, "callee") && !Th.call(e, "callee");
};
function Ih() {
return !1;
}
var qs = typeof exports == "object" && exports && !exports.nodeType && exports, ia = qs && typeof module == "object" && module && !module.nodeType && module, Oh = ia && ia.exports === qs, oa = Oh ? Be.Buffer : void 0, Rh = oa ? oa.isBuffer : void 0, Wi = Rh || Ih, Ph = "[object Arguments]", Nh = "[object Array]", Eh = "[object Boolean]", Mh = "[object Date]", $h = "[object Error]", _h = "[object Function]", kh = "[object Map]", Lh = "[object Number]", Dh = "[object Object]", Bh = "[object RegExp]", zh = "[object Set]", jh = "[object String]", qh = "[object WeakMap]", Fh = "[object ArrayBuffer]", Hh = "[object DataView]", Wh = "[object Float32Array]", Gh = "[object Float64Array]", Uh = "[object Int8Array]", Vh = "[object Int16Array]", Xh = "[object Int32Array]", Kh = "[object Uint8Array]", Yh = "[object Uint8ClampedArray]", Jh = "[object Uint16Array]", Zh = "[object Uint32Array]", ae = {};
ae[Wh] = ae[Gh] = ae[Uh] = ae[Vh] = ae[Xh] = ae[Kh] = ae[Yh] = ae[Jh] = ae[Zh] = !0;
ae[Ph] = ae[Nh] = ae[Fh] = ae[Eh] = ae[Hh] = ae[Mh] = ae[$h] = ae[_h] = ae[kh] = ae[Lh] = ae[Dh] = ae[Bh] = ae[zh] = ae[jh] = ae[qh] = !1;
function Qh(e) {
return Ue(e) && fo(e.length) && !!ae[ct(e)];
}
function po(e) {
return function(t) {
return e(t);
};
}
var Fs = typeof exports == "object" && exports && !exports.nodeType && exports, $t = Fs && typeof module == "object" && module && !module.nodeType && module, ep = $t && $t.exports === Fs, Vr = ep && $s.process, vr = function() {
try {
var e = $t && $t.require && $t.require("util").types;
return e || Vr && Vr.binding && Vr.binding("util");
} catch {
}
}(), aa = vr && vr.isTypedArray, Hs = aa ? po(aa) : Qh, tp = Object.prototype, rp = tp.hasOwnProperty;
function np(e, t) {
var r = De(e), n = !r && ho(e), i = !r && !n && Wi(e), o = !r && !n && !i && Hs(e), a = r || n || i || o, c = a ? Sh(e.length, String) : [], l = c.length;
for (var u in e)
rp.call(e, u) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
i && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
o && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
Ds(u, l))) && c.push(u);
return c;
}
function ip(e, t) {
return function(r) {
return e(t(r));
};
}
var op = ip(Object.keys, Object), ap = Object.prototype, cp = ap.hasOwnProperty;
function sp(e) {
if (!wh(e))
return op(e);
var t = [];
for (var r in Object(e))
cp.call(e, r) && r != "constructor" && t.push(r);
return t;
}
function Ws(e) {
return zs(e) ? np(e) : sp(e);
}
var lp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, up = /^\w*$/;
function go(e, t) {
if (De(e))
return !1;
var r = typeof e;
return r == "number" || r == "symbol" || r == "boolean" || e == null || Sr(e) ? !0 : up.test(e) || !lp.test(e) || t != null && e in Object(t);
}
var Lt = ht(Object, "create");
function fp() {
this.__data__ = Lt ? Lt(null) : {}, this.size = 0;
}
function dp(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var hp = "__lodash_hash_undefined__", pp = Object.prototype, gp = pp.hasOwnProperty;
function mp(e) {
var t = this.__data__;
if (Lt) {
var r = t[e];
return r === hp ? void 0 : r;
}
return gp.call(t, e) ? t[e] : void 0;
}
var vp = Object.prototype, xp = vp.hasOwnProperty;
function yp(e) {
var t = this.__data__;
return Lt ? t[e] !== void 0 : xp.call(t, e);
}
var bp = "__lodash_hash_undefined__";
function wp(e, t) {
var r = this.__data__;
return this.size += this.has(e) ? 0 : 1, r[e] = Lt && t === void 0 ? bp : t, this;
}
function lt(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
lt.prototype.clear = fp;
lt.prototype.delete = dp;
lt.prototype.get = mp;
lt.prototype.has = yp;
lt.prototype.set = wp;
function Sp() {
this.__data__ = [], this.size = 0;
}
function Ar(e, t) {
for (var r = e.length; r--; )
if (Bs(e[r][0], t))
return r;
return -1;
}
var Ap = Array.prototype, Cp = Ap.splice;
function Tp(e) {
var t = this.__data__, r = Ar(t, e);
if (r < 0)
return !1;
var n = t.length - 1;
return r == n ? t.pop() : Cp.call(t, r, 1), --this.size, !0;
}
function Ip(e) {
var t = this.__data__, r = Ar(t, e);
return r < 0 ? void 0 : t[r][1];
}
function Op(e) {
return Ar(this.__data__, e) > -1;
}
function Rp(e, t) {
var r = this.__data__, n = Ar(r, e);
return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;
}
function Ve(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
Ve.prototype.clear = Sp;
Ve.prototype.delete = Tp;
Ve.prototype.get = Ip;
Ve.prototype.has = Op;
Ve.prototype.set = Rp;
var Dt = ht(Be, "Map");
function Pp() {
this.size = 0, this.__data__ = {
hash: new lt(),
map: new (Dt || Ve)(),
string: new lt()
};
}
function Np(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
function Cr(e, t) {
var r = e.__data__;
return Np(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
}
function Ep(e) {
var t = Cr(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
function Mp(e) {
return Cr(this, e).get(e);
}
function $p(e) {
return Cr(this, e).has(e);
}
function _p(e, t) {
var r = Cr(this, e), n = r.size;
return r.set(e, t), this.size += r.size == n ? 0 : 1, this;
}
function Xe(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
Xe.prototype.clear = Pp;
Xe.prototype.delete = Ep;
Xe.prototype.get = Mp;
Xe.prototype.has = $p;
Xe.prototype.set = _p;
var kp = "Expected a function";
function mo(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(kp);
var r = function() {
var n = arguments, i = t ? t.apply(this, n) : n[0], o = r.cache;
if (o.has(i))
return o.get(i);
var a = e.apply(this, n);
return r.cache = o.set(i, a) || o, a;
};
return r.cache = new (mo.Cache || Xe)(), r;
}
mo.Cache = Xe;
var Lp = 500;
function Dp(e) {
var t = mo(e, function(n) {
return r.size === Lp && r.clear(), n;
}), r = t.cache;
return t;
}
var Bp = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, zp = /\\(\\)?/g, jp = Dp(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(Bp, function(r, n, i, o) {
t.push(i ? o.replace(zp, "$1") : n || r);
}), t;
});
function Gi(e) {
return e == null ? "" : mr(e);
}
function Gs(e, t) {
return De(e) ? e : go(e, t) ? [e] : jp(Gi(e));
}
function Tr(e) {
if (typeof e == "string" || Sr(e))
return e;
var t = e + "";
return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
}
function Us(e, t) {
t = Gs(t, e);
for (var r = 0, n = t.length; e != null && r < n; )
e = e[Tr(t[r++])];
return r && r == n ? e : void 0;
}
function qp(e, t, r) {
var n = e == null ? void 0 : Us(e, t);
return n === void 0 ? r : n;
}
function Vs(e, t) {
for (var r = -1, n = t.length, i = e.length; ++r < n; )
e[i + r] = t[r];
return e;
}
var ca = Le ? Le.isConcatSpreadable : void 0;
function Fp(e) {
return De(e) || ho(e) || !!(ca && e && e[ca]);
}
function Hp(e, t, r, n, i) {
var o = -1, a = e.length;
for (r || (r = Fp), i || (i = []); ++o < a; ) {
var c = e[o];
r(c) && Vs(i, c);
}
return i;
}
function Wp(e, t, r) {
var n = -1, i = e.length;
t < 0 && (t = -t > i ? 0 : i + t), r = r > i ? i : r, r < 0 && (r += i), i = t > r ? 0 : r - t >>> 0, t >>>= 0;
for (var o = Array(i); ++n < i; )
o[n] = e[n + t];
return o;
}
function Gp(e, t, r) {
var n = e.length;
return r = r === void 0 ? n : r, r >= n ? e : Wp(e, t, r);
}
var Up = "\\ud800-\\udfff", Vp = "\\u0300-\\u036f", Xp = "\\ufe20-\\ufe2f", Kp = "\\u20d0-\\u20ff", Yp = Vp + Xp + Kp, Jp = "\\ufe0e\\ufe0f", Zp = "\\u200d", Qp = RegExp("[" + Zp + Up + Yp + Jp + "]");
function vo(e) {
return Qp.test(e);
}
function eg(e) {
return e.split("");
}
var Xs = "\\ud800-\\udfff", tg = "\\u0300-\\u036f", rg = "\\ufe20-\\ufe2f", ng = "\\u20d0-\\u20ff", ig = tg + rg + ng, og = "\\ufe0e\\ufe0f", ag = "[" + Xs + "]", Ui = "[" + ig + "]", Vi = "\\ud83c[\\udffb-\\udfff]", cg = "(?:" + Ui + "|" + Vi + ")", Ks = "[^" + Xs + "]", Ys = "(?:\\ud83c[\\udde6-\\uddff]){2}", Js = "[\\ud800-\\udbff][\\udc00-\\udfff]", sg = "\\u200d", Zs = cg + "?", Qs = "[" + og + "]?", lg = "(?:" + sg + "(?:" + [Ks, Ys, Js].join("|") + ")" + Qs + Zs + ")*", ug = Qs + Zs + lg, fg = "(?:" + [Ks + Ui + "?", Ui, Ys, Js, ag].join("|") + ")", dg = RegExp(Vi + "(?=" + Vi + ")|" + fg + ug, "g");
function hg(e) {
return e.match(dg) || [];
}
function pg(e) {
return vo(e) ? hg(e) : eg(e);
}
function gg(e, t, r) {
return e === e && (r !== void 0 && (e = e <= r ? e : r), t !== void 0 && (e = e >= t ? e : t)), e;
}
function el(e, t, r) {
return r === void 0 && (r = t, t = void 0), r !== void 0 && (r = wt(r), r = r === r ? r : 0), t !== void 0 && (t = wt(t), t = t === t ? t : 0), gg(wt(e), t, r);
}
function mg() {
this.__data__ = new Ve(), this.size = 0;
}
function vg(e) {
var t = this.__data__, r = t.delete(e);
return this.size = t.size, r;
}
function xg(e) {
return this.__data__.get(e);
}
function yg(e) {
return this.__data__.has(e);
}
var bg = 200;
function wg(e, t) {
var r = this.__data__;
if (r instanceof Ve) {
var n = r.__data__;
if (!Dt || n.length < bg - 1)
return n.push([e, t]), this.size = ++r.size, this;
r = this.__data__ = new Xe(n);
}
return r.set(e, t), this.size = r.size, this;
}
function We(e) {
var t = this.__data__ = new Ve(e);
this.size = t.size;
}
We.prototype.clear = mg;
We.prototype.delete = vg;
We.prototype.get = xg;
We.prototype.has = yg;
We.prototype.set = wg;
function Sg(e, t) {
for (var r = -1, n = e == null ? 0 : e.length, i = 0, o = []; ++r < n; ) {
var a = e[r];
t(a, r, e) && (o[i++] = a);
}
return o;
}
function Ag() {
return [];
}
var Cg = Object.prototype, Tg = Cg.propertyIsEnumerable, sa = Object.getOwnPropertySymbols, Ig = sa ? function(e) {
return e == null ? [] : (e = Object(e), Sg(sa(e), function(t) {
return Tg.call(e, t);
}));
} : Ag;
function Og(e, t, r) {
var n = t(e);
return De(e) ? n : Vs(n, r(e));
}
function la(e) {
return Og(e, Ws, Ig);
}
var Xi = ht(Be, "DataView"), Ki = ht(Be, "Promise"), Yi = ht(Be, "Set"), ua = "[object Map]", Rg = "[object Object]", fa = "[object Promise]", da = "[object Set]", ha = "[object WeakMap]", pa = "[object DataView]", Pg = dt(Xi), Ng = dt(Dt), Eg = dt(Ki), Mg = dt(Yi), $g = dt(Hi), nt = ct;
(Xi && nt(new Xi(new ArrayBuffer(1))) != pa || Dt && nt(new Dt()) != ua || Ki && nt(Ki.resolve()) != fa || Yi && nt(new Yi()) != da || Hi && nt(new Hi()) != ha) && (nt = function(e) {
var t = ct(e), r = t == Rg ? e.constructor : void 0, n = r ? dt(r) : "";
if (n)
switch (n) {
case Pg:
return pa;
case Ng:
return ua;
case Eg:
return fa;
case Mg:
return da;
case $g:
return ha;
}
return t;
});
var ga = Be.Uint8Array, _g = "__lodash_hash_undefined__";
function kg(e) {
return this.__data__.set(e, _g), this;
}
function Lg(e) {
return this.__data__.has(e);
}
function Bt(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.__data__ = new Xe(); ++t < r; )
this.add(e[t]);
}
Bt.prototype.add = Bt.prototype.push = kg;
Bt.prototype.has = Lg;
function Dg(e, t) {
for (var r = -1, n = e == null ? 0 : e.length; ++r < n; )
if (t(e[r], r, e))
return !0;
return !1;
}
function tl(e, t) {
return e.has(t);
}
var Bg = 1, zg = 2;
function rl(e, t, r, n, i, o) {
var a = r & Bg, c = e.length, l = t.length;
if (c != l && !(a && l > c))
return !1;
var u = o.get(e), d = o.get(t);
if (u && d)
return u == t && d == e;
var f = -1, h = !0, p = r & zg ? new Bt() : void 0;
for (o.set(e, t), o.set(t, e); ++f < c; ) {
var g = e[f], m = t[f];
if (n)
var y = a ? n(m, g, f, t, e, o) : n(g, m, f, e, t, o);
if (y !== void 0) {
if (y)
continue;
h = !1;
break;
}
if (p) {
if (!Dg(t, function(w, S) {
if (!tl(p, S) && (g === w || i(g, w, r, n, o)))
return p.push(S);
})) {
h = !1;
break;
}
} else if (!(g === m || i(g, m, r, n, o))) {
h = !1;
break;
}
}
return o.delete(e), o.delete(t), h;
}
function jg(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(n, i) {
r[++t] = [i, n];
}), r;
}
function qg(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(n) {
r[++t] = n;
}), r;
}
var Fg = 1, Hg = 2, Wg = "[object Boolean]", Gg = "[object Date]", Ug = "[object Error]", Vg = "[object Map]", Xg = "[object Number]", Kg = "[object RegExp]", Yg = "[object Set]", Jg = "[object String]", Zg = "[object Symbol]", Qg = "[object ArrayBuffer]", em = "[object DataView]", ma = Le ? Le.prototype : void 0, Xr = ma ? ma.valueOf : void 0;
function tm(e, t, r, n, i, o, a) {
switch (r) {
case em:
if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
return !1;
e = e.buffer, t = t.buffer;
case Qg:
return !(e.byteLength != t.byteLength || !o(new ga(e), new ga(t)));
case Wg:
case Gg:
case Xg:
return Bs(+e, +t);
case Ug:
return e.name == t.name && e.message == t.message;
case Kg:
case Jg:
return e == t + "";
case Vg:
var c = jg;
case Yg:
var l = n & Fg;
if (c || (c = qg), e.size != t.size && !l)
return !1;
var u = a.get(e);
if (u)
return u == t;
n |= Hg, a.set(e, t);
var d = rl(c(e), c(t), n, i, o, a);
return a.delete(e), d;
case Zg:
if (Xr)
return Xr.call(e) == Xr.call(t);
}
return !1;
}
var rm = 1, nm = Object.prototype, im = nm.hasOwnProperty;
function om(e, t, r, n, i, o) {
var a = r & rm, c = la(e), l = c.length, u = la(t), d = u.length;
if (l != d && !a)
return !1;
for (var f = l; f--; ) {
var h = c[f];
if (!(a ? h in t : im.call(t, h)))
return !1;
}
var p = o.get(e), g = o.get(t);
if (p && g)
return p == t && g == e;
var m = !0;
o.set(e, t), o.set(t, e);
for (var y = a; ++f < l; ) {
h = c[f];
var w = e[h], S = t[h];
if (n)
var b = a ? n(S, w, h, t, e, o) : n(w, S, h, e, t, o);
if (!(b === void 0 ? w === S || i(w, S, r, n, o) : b)) {
m = !1;
break;
}
y || (y = h == "constructor");
}
if (m && !y) {
var A = e.constructor, P = t.constructor;
A != P && "constructor" in e && "constructor" in t && !(typeof A == "function" && A instanceof A && typeof P == "function" && P instanceof P) && (m = !1);
}
return o.delete(e), o.delete(t), m;
}
var am = 1, va = "[object Arguments]", xa = "[object Array]", rr = "[object Object]", cm = Object.prototype, ya = cm.hasOwnProperty;
function sm(e, t, r, n, i, o) {
var a = De(e), c = De(t), l = a ? xa : nt(e), u = c ? xa : nt(t);
l = l == va ? rr : l, u = u == va ? rr : u;
var d = l == rr, f = u == rr, h = l == u;
if (h && Wi(e)) {
if (!Wi(t))
return !1;
a = !0, d = !1;
}
if (h && !d)
return o || (o = new We()), a || Hs(e) ? rl(e, t, r, n, i, o) : tm(e, t, l, r, n, i, o);
if (!(r & am)) {
var p = d && ya.call(e, "__wrapped__"), g = f && ya.call(t, "__wrapped__");
if (p || g) {
var m = p ? e.value() : e, y = g ? t.value() : t;
return o || (o = new We()), i(m, y, r, n, o);
}
}
return h ? (o || (o = new We()), om(e, t, r, n, i, o)) : !1;
}
function xo(e, t, r, n, i) {
return e === t ? !0 : e == null || t == null || !Ue(e) && !Ue(t) ? e !== e && t !== t : sm(e, t, r, n, xo, i);
}
var lm = 1, um = 2;
function fm(e, t, r, n) {
var i = r.length, o = i;
if (e == null)
return !o;
for (e = Object(e); i--; ) {
var a = r[i];
if (a[2] ? a[1] !== e[a[0]] : !(a[0] in e))
return !1;
}
for (; ++i < o; ) {
a = r[i];
var c = a[0], l = e[c], u = a[1];
if (a[2]) {
if (l === void 0 && !(c in e))
return !1;
} else {
var d = new We(), f;
if (!(f === void 0 ? xo(u, l, lm | um, n, d) : f))
return !1;
}
}
return !0;
}
function nl(e) {
return e === e && !ot(e);
}
function dm(e) {
for (var t = Ws(e), r = t.length; r--; ) {
var n = t[r], i = e[n];
t[r] = [n, i, nl(i)];
}
return t;
}
function il(e, t) {
return function(r) {
return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));
};
}
function hm(e) {
var t = dm(e);
return t.length == 1 && t[0][2] ? il(t[0][0], t[0][1]) : function(r) {
return r === e || fm(r, e, t);
};
}
function pm(e, t) {
return e != null && t in Object(e);
}
function gm(e, t, r) {
t = Gs(t, e);
for (var n = -1, i = t.length, o = !1; ++n < i; ) {
var a = Tr(t[n]);
if (!(o = e != null && r(e, a)))
break;
e = e[a];
}
return o || ++n != i ? o : (i = e == null ? 0 : e.length, !!i && fo(i) && Ds(a, i) && (De(e) || ho(e)));
}
function mm(e, t) {
return e != null && gm(e, t, pm);
}
var vm = 1, xm = 2;
function ym(e, t) {
return go(e) && nl(t) ? il(Tr(e), t) : function(r) {
var n = qp(r, e);
return n === void 0 && n === t ? mm(r, e) : xo(t, n, vm | xm);
};
}
function ol(e) {
return function(t) {
return t == null ? void 0 : t[e];
};
}
function bm(e) {
return function(t) {
return Us(t, e);
};
}
function wm(e) {
return go(e) ? ol(Tr(e)) : bm(e);
}
function Sm(e) {
return typeof e == "function" ? e : e == null ? uo : typeof e == "object" ? De(e) ? ym(e[0], e[1]) : hm(e) : wm(e);
}
var Kr = function() {
return Be.Date.now();
}, Am = "Expected a function", Cm = Math.max, Tm = Math.min;
function Ir(e, t, r) {
var n, i, o, a, c, l, u = 0, d = !1, f = !1, h = !0;
if (typeof e != "function")
throw new TypeError(Am);
t = wt(t) || 0, ot(r) && (d = !!r.leading, f = "maxWait" in r, o = f ? Cm(wt(r.maxWait) || 0, t) : o, h = "trailing" in r ? !!r.trailing : h);
function p(E) {
var M = n, O = i;
return n = i = void 0, u = E, a = e.apply(O, M), a;
}
function g(E) {
return u = E, c = setTimeout(w, t), d ? p(E) : a;
}
function m(E) {
var M = E - l, O = E - u, C = t - M;
return f ? Tm(C, o - O) : C;
}
function y(E) {
var M = E - l, O = E - u;
return l === void 0 || M >= t || M < 0 || f && O >= o;
}
function w() {
var E = Kr();
if (y(E))
return S(E);
c = setTimeout(w, m(E));
}
function S(E) {
return c = void 0, h && n ? p(E) : (n = i = void 0, a);
}
function b() {
c !== void 0 && clearTimeout(c), u = 0, n = l = i = c = void 0;
}
function A() {
return c === void 0 ? a : S(Kr());
}
function P() {
var E = Kr(), M = y(E);
if (n = arguments, i = this, l = E, M) {
if (c === void 0)
return g(l);
if (f)
return clearTimeout(c), c = setTimeout(w, t), p(l);
}
return c === void 0 && (c = setTimeout(w, t)), a;
}
return P.cancel = b, P.flush = A, P;
}
function Yr(e) {
return Ue(e) && zs(e);
}
var Im = 200;
function Om(e, t, r, n) {
var i = -1, o = ph, a = !0, c = e.length, l = [], u = t.length;
if (!c)
return l;
r && (t = ks(t, po(r))), t.length >= Im && (o = tl, a = !1, t = new Bt(t));
e:
for (; ++i < c; ) {
var d = e[i], f = r == null ? d : r(d);
if (d = d !== 0 ? d : 0, a && f === f) {
for (var h = u; h--; )
if (t[h] === f)
continue e;
l.push(d);
} else o(t, f, n) || l.push(d);
}
return l;
}
function Rm(e) {
var t = e == null ? 0 : e.length;
return t ? e[t - 1] : void 0;
}
var Pm = xh(function(e, t) {
var r = Rm(t);
return Yr(r) && (r = void 0), Yr(e) ? Om(e, Hp(t, 1, Yr), Sm(r)) : [];
}), Nm = "[object Number]";
function xr(e) {
return typeof e == "number" || Ue(e) && ct(e) == Nm;
}
var Em = "[object RegExp]";
function Mm(e) {
return Ue(e) && ct(e) == Em;
}
var ba = vr && vr.isRegExp, $m = ba ? po(ba) : Mm, _m = ol("length"), al = "\\ud800-\\udfff", km = "\\u0300-\\u036f", Lm = "\\ufe20-\\ufe2f", Dm = "\\u20d0-\\u20ff", Bm = km + Lm + Dm, zm = "\\ufe0e\\ufe0f", jm = "[" + al + "]", Ji = "[" + Bm + "]", Zi = "\\ud83c[\\udffb-\\udfff]", qm = "(?:" + Ji + "|" + Zi + ")", cl = "[^" + al + "]", sl = "(?:\\ud83c[\\udde6-\\uddff]){2}", ll = "[\\ud800-\\udbff][\\udc00-\\udfff]", Fm = "\\u200d", ul = qm + "?", fl = "[" + zm + "]?", Hm = "(?:" + Fm + "(?:" + [cl, sl, ll].join("|") + ")" + fl + ul + ")*", Wm = fl + ul + Hm, Gm = "(?:" + [cl + Ji + "?", Ji, sl, ll, jm].join("|") + ")", wa = RegExp(Zi + "(?=" + Zi + ")|" + Gm + Wm, "g");
function Um(e) {
for (var t = wa.lastIndex = 0; wa.test(e); )
++t;
return t;
}
function Vm(e) {
return vo(e) ? Um(e) : _m(e);
}
var Xm = "Expected a function";
function zt(e, t, r) {
var n = !0, i = !0;
if (typeof e != "function")
throw new TypeError(Xm);
return ot(r) && (n = "leading" in r ? !!r.leading : n, i = "trailing" in r ? !!r.trailing : i), Ir(e, t, {
leading: n,
maxWait: t,
trailing: i
});
}
var Km = 30, Ym = "...", Jm = /\w*$/;
function Zm(e, t) {
var r = Km, n = Ym;
if (ot(t)) {
var i = "separator" in t ? t.separator : i;
r = "length" in t ? zd(t.length) : r, n = "omission" in t ? mr(t.omission) : n;
}
e = Gi(e);
var o = e.length;
if (vo(e)) {
var a = pg(e);
o = a.length;
}
if (r >= o)
return e;
var c = r - Vm(n);
if (c < 1)
return n;
var l = a ? Gp(a, 0, c).join("") : e.slice(0, c);
if (i === void 0)
return l + n;
if (a && (c += l.length - c), $m(i)) {
if (e.slice(c).search(i)) {
var u, d = l;
for (i.global || (i = RegExp(i.source, Gi(Jm.exec(i)) + "g")), i.lastIndex = 0; u = i.exec(d); )
var f = u.index;
l = l.slice(0, f === void 0 ? c : f);
}
} else if (e.indexOf(mr(i), c) != c) {
var h = l.lastIndexOf(i);
h > -1 && (l = l.slice(0, h));
}
return l + n;
}
const yo = "-", Qm = (e) => {
const t = tv(e), {
conflictingClassGroups: r,
conflictingClassGroupModifiers: n
} = e;
return {
getClassGroupId: (a) => {
const c = a.split(yo);
return c[0] === "" && c.length !== 1 && c.shift(), dl(c, t) || ev(a);
},
getConflictingClassGroupIds: (a, c) => {
const l = r[a] || [];
return c && n[a] ? [...l, ...n[a]] : l;
}
};
}, dl = (e, t) => {
var a;
if (e.length === 0)
return t.classGroupId;
const r = e[0], n = t.nextPart.get(r), i = n ? dl(e.slice(1), n) : void 0;
if (i)
return i;
if (t.validators.length === 0)
return;
const o = e.join(yo);
return (a = t.validators.find(({
validator: c
}) => c(o))) == null ? void 0 : a.classGroupId;
}, Sa = /^\[(.+)\]$/, ev = (e) => {
if (Sa.test(e)) {
const t = Sa.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
if (r)
return "arbitrary.." + r;
}
}, tv = (e) => {
const {
theme: t,
prefix: r
} = e, n = {
nextPart: /* @__PURE__ */ new Map(),
validators: []
};
return nv(Object.entries(e.classGroups), r).forEach(([o, a]) => {
Qi(a, n, o, t);
}), n;
}, Qi = (e, t, r, n) => {
e.forEach((i) => {
if (typeof i == "string") {
const o = i === "" ? t : Aa(t, i);
o.classGroupId = r;
return;
}
if (typeof i == "function") {
if (rv(i)) {
Qi(i(n), t, r, n);
return;
}
t.validators.push({
validator: i,
classGroupId: r
});
return;
}
Object.entries(i).forEach(([o, a]) => {
Qi(a, Aa(t, o), r, n);
});
});
}, Aa = (e, t) => {
let r = e;
return t.split(yo).forEach((n) => {
r.nextPart.has(n) || r.nextPart.set(n, {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}), r = r.nextPart.get(n);
}), r;
}, rv = (e) => e.isThemeGetter, nv = (e, t) => t ? e.map(([r, n]) => {
const i = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([a, c]) => [t + a, c])) : o);
return [r, i];
}) : e, iv = (e) => {
if (e < 1)
return {
get: () => {
},
set: () => {
}
};
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
const i = (o, a) => {
r.set(o, a), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
};
return {
get(o) {
let a = r.get(o);
if (a !== void 0)
return a;
if ((a = n.get(o)) !== void 0)
return i(o, a), a;
},
set(o, a) {
r.has(o) ? r.set(o, a) : i(o, a);
}
};
}, hl = "!", ov = (e) => {
const {
separator: t,
experimentalParseClassName: r
} = e, n = t.length === 1, i = t[0], o = t.length, a = (c) => {
const l = [];
let u = 0, d = 0, f;
for (let y = 0; y < c.length; y++) {
let w = c[y];
if (u === 0) {
if (w === i && (n || c.slice(y, y + o) === t)) {
l.push(c.slice(d, y)), d = y + o;
continue;
}
if (w === "/") {
f = y;
continue;
}
}
w === "[" ? u++ : w === "]" && u--;
}
const h = l.length === 0 ? c : c.substring(d), p = h.startsWith(hl), g = p ? h.substring(1) : h, m = f && f > d ? f - d : void 0;
return {
modifiers: l,
hasImportantModifier: p,
baseClassName: g,
maybePostfixModifierPosition: m
};
};
return r ? (c) => r({
className: c,
parseClassName: a
}) : a;
}, av = (e) => {
if (e.length <= 1)
return e;
const t = [];
let r = [];
return e.forEach((n) => {
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
}), t.push(...r.sort()), t;
}, cv = (e) => ({
cache: iv(e.cacheSize),
parseClassName: ov(e),
...Qm(e)
}), sv = /\s+/, lv = (e, t) => {
const {
parseClassName: r,
getClassGroupId: n,
getConflictingClassGroupIds: i
} = t, o = [], a = e.trim().split(sv);
let c = "";
for (let l = a.length - 1; l >= 0; l -= 1) {
const u = a[l], {
modifiers: d,
hasImportantModifier: f,
baseClassName: h,
maybePostfixModifierPosition: p
} = r(u);
let g = !!p, m = n(g ? h.substring(0, p) : h);
if (!m) {
if (!g) {
c = u + (c.length > 0 ? " " + c : c);
continue;
}
if (m = n(h), !m) {
c = u + (c.length > 0 ? " " + c : c);
continue;
}
g = !1;
}
const y = av(d).join(":"), w = f ? y + hl : y, S = w + m;
if (o.includes(S))
continue;
o.push(S);
const b = i(m, g);
for (let A = 0; A < b.length; ++A) {
const P = b[A];
o.push(w + P);
}
c = u + (c.length > 0 ? " " + c : c);
}
return c;
};
function uv() {
let e = 0, t, r, n = "";
for (; e < arguments.length; )
(t = arguments[e++]) && (r = pl(t)) && (n && (n += " "), n += r);
return n;
}
const pl = (e) => {
if (typeof e == "string")
return e;
let t, r = "";
for (let n = 0; n < e.length; n++)
e[n] && (t = pl(e[n])) && (r && (r += " "), r += t);
return r;
};
function fv(e, ...t) {
let r, n, i, o = a;
function a(l) {
const u = t.reduce((d, f) => f(d), e());
return r = cv(u), n = r.cache.get, i = r.cache.set, o = c, c(l);
}
function c(l) {
const u = n(l);
if (u)
return u;
const d = lv(l, r);
return i(l, d), d;
}
return function() {
return o(uv.apply(null, arguments));
};
}
const oe = (e) => {
const t = (r) => r[e] || [];
return t.isThemeGetter = !0, t;
}, gl = /^\[(?:([a-z-]+):)?(.+)\]$/i, dv = /^\d+\/\d+$/, hv = /* @__PURE__ */ new Set(["px", "full", "screen"]), pv = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, gv = /\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$/, mv = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, vv = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, xv = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, He = (e) => St(e) || hv.has(e) || dv.test(e), tt = (e) => Tt(e, "length", Iv), St = (e) => !!e && !Number.isNaN(Number(e)), Jr = (e) => Tt(e, "number", St), Nt = (e) => !!e && Number.isInteger(Number(e)), yv = (e) => e.endsWith("%") && St(e.slice(0, -1)), H = (e) => gl.test(e), rt = (e) => pv.test(e), bv = /* @__PURE__ */ new Set(["length", "size", "percentage"]), wv = (e) => Tt(e, bv, ml), Sv = (e) => Tt(e, "position", ml), Av = /* @__PURE__ */ new Set(["image", "url"]), Cv = (e) => Tt(e, Av, Rv), Tv = (e) => Tt(e, "", Ov), Et = () => !0, Tt = (e, t, r) => {
const n = gl.exec(e);
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
}, Iv = (e) => (
// `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.
gv.test(e) && !mv.test(e)
), ml = () => !1, Ov = (e) => vv.test(e), Rv = (e) => xv.test(e), Pv = () => {
const e = oe("colors"), t = oe("spacing"), r = oe("blur"), n = oe("brightness"), i = oe("borderColor"), o = oe("borderRadius"), a = oe("borderSpacing"), c = oe("borderWidth"), l = oe("contrast"), u = oe("grayscale"), d = oe("hueRotate"), f = oe("invert"), h = oe("gap"), p = oe("gradientColorStops"), g = oe("gradientColorStopPositions"), m = oe("inset"), y = oe("margin"), w = oe("opacity"), S = oe("padding"), b = oe("saturate"), A = oe("scale"), P = oe("sepia"), E = oe("skew"), M = oe("space"), O = oe("translate"), C = () => ["auto", "contain", "none"], _ = () => ["auto", "hidden", "clip", "visible", "scroll"], R = () => ["auto", H, t], N = () => [H, t], L = () => ["", He, tt], k = () => ["auto", St, H], U = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], ee = () => ["solid", "dashed", "dotted", "double", "none"], se = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], re = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], J = () => ["", "0", H], me = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], de = () => [St, H];
return {
cacheSize: 500,
separator: ":",
theme: {
colors: [Et],
spacing: [He, tt],
blur: ["none", "", rt, H],
brightness: de(),
borderColor: [e],
borderRadius: ["none", "", "full", rt, H],
borderSpacing: N(),
borderWidth: L(),
contrast: de(),
grayscale: J(),
hueRotate: de(),
invert: J(),
gap: N(),
gradientColorStops: [e],
gradientColorStopPositions: [yv, tt],
inset: R(),
margin: R(),
opacity: de(),
padding: N(),
saturate: de(),
scale: de(),
sepia: J(),
skew: de(),
space: N(),
translate: N()
},
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: [rt]
}],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/
"break-after": [{
"break-after": me()
}],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/
"break-before": [{
"break-before": me()
}],
/**
* 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: [...U(), H]
}],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/
overflow: [{
overflow: _()
}],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-x": [{
"overflow-x": _()
}],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-y": [{
"overflow-y": _()
}],
/**
* Overscroll Behavior
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
overscroll: [{
overscroll: C()
}],
/**
* Overscroll Behavior X
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-x": [{
"overscroll-x": C()
}],
/**
* Overscroll Behavior Y
* @see https://tailwindcss.com/docs/overscroll-behavior
*/
"overscroll-y": [{
"overscroll-y": C()
}],
/**
* 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: [m]
}],
/**
* Right / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-x": [{
"inset-x": [m]
}],
/**
* Top / Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-y": [{
"inset-y": [m]
}],
/**
* Start
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
start: [{
start: [m]
}],
/**
* End
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
end: [{
end: [m]
}],
/**
* Top
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
top: [{
top: [m]
}],
/**
* Right
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
right: [{
right: [m]
}],
/**
* Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
bottom: [{
bottom: [m]
}],
/**
* Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
left: [{
left: [m]
}],
/**
* Visibility
* @see https://tailwindcss.com/docs/visibility
*/
visibility: ["visible", "invisible", "collapse"],
/**
* Z-Index
* @see https://tailwindcss.com/docs/z-index
*/
z: [{
z: ["auto", Nt, H]
}],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/
basis: [{
basis: R()
}],
/**
* 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: J()
}],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/
shrink: [{
shrink: J()
}],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/
order: [{
order: ["first", "last", "none", Nt, H]
}],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/
"grid-cols": [{
"grid-cols": [Et]
}],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start-end": [{
col: ["auto", {
span: ["full", Nt, H]
}, H]
}],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start": [{
"col-start": k()
}],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-end": [{
"col-end": k()
}],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/
"grid-rows": [{
"grid-rows": [Et]
}],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start-end": [{
row: ["auto", {
span: [Nt, H]
}, H]
}],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start": [{
"row-start": k()
}],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-end": [{
"row-end": k()
}],
/**
* 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: [h]
}],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/
"gap-x": [{
"gap-x": [h]
}],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/
"gap-y": [{
"gap-y": [h]
}],
/**
* Justify Content
* @see https://tail