UNPKG

react-fa-picker

Version:

A reusable React Icon Picker component, bundled with its own Tailwind CSS build.

1,794 lines 2.11 MB
import * as z from "react"; import z1, { createContext as DX, useState as P1, useRef as C1, useEffect as y1, useContext as IX, useLayoutEffect as Go, useCallback as Yo, useMemo as Q6 } from "react"; import * as Xo from "react-dom"; import BX from "react-dom"; function jX(c) { return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c; } var U3 = { exports: {} }, s3 = {}; /** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ft; function qX() { if (ft) return s3; ft = 1; var c = Symbol.for("react.transitional.element"), e = Symbol.for("react.fragment"); function l(a, s, n) { var t = null; if (n !== void 0 && (t = "" + n), s.key !== void 0 && (t = "" + s.key), "key" in s) { n = {}; for (var o in s) o !== "key" && (n[o] = s[o]); } else n = s; return s = n.ref, { $$typeof: c, type: a, key: t, ref: s !== void 0 ? s : null, props: n }; } return s3.Fragment = e, s3.jsx = l, s3.jsxs = l, s3; } var n3 = {}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var mt; function $X() { return mt || (mt = 1, process.env.NODE_ENV !== "production" && function() { function c(h) { if (h == null) return null; if (typeof h == "function") return h.$$typeof === F ? null : h.displayName || h.name || null; if (typeof h == "string") return h; switch (h) { case d: return "Fragment"; case M: return "Profiler"; case L: return "StrictMode"; case C: return "Suspense"; case H: return "SuspenseList"; case B: return "Activity"; } if (typeof h == "object") switch (typeof h.tag == "number" && console.error( "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." ), h.$$typeof) { case g: return "Portal"; case b: return (h.displayName || "Context") + ".Provider"; case N: return (h._context.displayName || "Context") + ".Consumer"; case x: var y = h.render; return h = h.displayName, h || (h = y.displayName || y.name || "", h = h !== "" ? "ForwardRef(" + h + ")" : "ForwardRef"), h; case P: return y = h.displayName || null, y !== null ? y : c(h.type) || "Memo"; case k: y = h._payload, h = h._init; try { return c(h(y)); } catch { } } return null; } function e(h) { return "" + h; } function l(h) { try { e(h); var y = !1; } catch { y = !0; } if (y) { y = console; var E = y.error, V = typeof Symbol == "function" && Symbol.toStringTag && h[Symbol.toStringTag] || h.constructor.name || "Object"; return E.call( y, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", V ), e(h); } } function a(h) { if (h === d) return "<>"; if (typeof h == "object" && h !== null && h.$$typeof === k) return "<...>"; try { var y = c(h); return y ? "<" + y + ">" : "<...>"; } catch { return "<...>"; } } function s() { var h = I.A; return h === null ? null : h.getOwner(); } function n() { return Error("react-stack-top-frame"); } function t(h) { if (e1.call(h, "key")) { var y = Object.getOwnPropertyDescriptor(h, "key").get; if (y && y.isReactWarning) return !1; } return h.key !== void 0; } function o(h, y) { function E() { t1 || (t1 = !0, console.error( "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", y )); } E.isReactWarning = !0, Object.defineProperty(h, "key", { get: E, configurable: !0 }); } function r() { var h = c(this.type); return G[h] || (G[h] = !0, console.error( "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." )), h = this.props.ref, h !== void 0 ? h : null; } function i(h, y, E, V, R, Z, Y, j) { return E = Z.ref, h = { $$typeof: p, type: h, key: y, props: Z, _owner: R }, (E !== void 0 ? E : null) !== null ? Object.defineProperty(h, "ref", { enumerable: !1, get: r }) : Object.defineProperty(h, "ref", { enumerable: !1, value: null }), h._store = {}, Object.defineProperty(h._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: 0 }), Object.defineProperty(h, "_debugInfo", { configurable: !1, enumerable: !1, writable: !0, value: null }), Object.defineProperty(h, "_debugStack", { configurable: !1, enumerable: !1, writable: !0, value: Y }), Object.defineProperty(h, "_debugTask", { configurable: !1, enumerable: !1, writable: !0, value: j }), Object.freeze && (Object.freeze(h.props), Object.freeze(h)), h; } function f(h, y, E, V, R, Z, Y, j) { var U = y.children; if (U !== void 0) if (V) if (s1(U)) { for (V = 0; V < U.length; V++) m(U[V]); Object.freeze && Object.freeze(U); } else console.error( "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." ); else m(U); if (e1.call(y, "key")) { U = c(h); var X = Object.keys(y).filter(function(p1) { return p1 !== "key"; }); V = 0 < X.length ? "{key: someKey, " + X.join(": ..., ") + ": ...}" : "{key: someKey}", f1[U + V] || (X = 0 < X.length ? "{" + X.join(": ..., ") + ": ...}" : "{}", console.error( `A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`, V, U, X, U ), f1[U + V] = !0); } if (U = null, E !== void 0 && (l(E), U = "" + E), t(y) && (l(y.key), U = "" + y.key), "key" in y) { E = {}; for (var K in y) K !== "key" && (E[K] = y[K]); } else E = y; return U && o( E, typeof h == "function" ? h.displayName || h.name || "Unknown" : h ), i( h, U, Z, R, s(), E, Y, j ); } function m(h) { typeof h == "object" && h !== null && h.$$typeof === p && h._store && (h._store.validated = 1); } var u = z1, p = Symbol.for("react.transitional.element"), g = Symbol.for("react.portal"), d = Symbol.for("react.fragment"), L = Symbol.for("react.strict_mode"), M = Symbol.for("react.profiler"), N = Symbol.for("react.consumer"), b = Symbol.for("react.context"), x = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), H = Symbol.for("react.suspense_list"), P = Symbol.for("react.memo"), k = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), F = Symbol.for("react.client.reference"), I = u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, e1 = Object.prototype.hasOwnProperty, s1 = Array.isArray, o1 = console.createTask ? console.createTask : function() { return null; }; u = { "react-stack-bottom-frame": function(h) { return h(); } }; var t1, G = {}, J = u["react-stack-bottom-frame"].bind( u, n )(), w = o1(a(n)), f1 = {}; n3.Fragment = d, n3.jsx = function(h, y, E, V, R) { var Z = 1e4 > I.recentlyCreatedOwnerStacks++; return f( h, y, E, !1, V, R, Z ? Error("react-stack-top-frame") : J, Z ? o1(a(h)) : w ); }, n3.jsxs = function(h, y, E, V, R) { var Z = 1e4 > I.recentlyCreatedOwnerStacks++; return f( h, y, E, !0, V, R, Z ? Error("react-stack-top-frame") : J, Z ? o1(a(h)) : w ); }; }()), n3; } var ut; function WX() { return ut || (ut = 1, process.env.NODE_ENV === "production" ? U3.exports = qX() : U3.exports = $X()), U3.exports; } var v = WX(); function Ko(c) { var e, l, a = ""; if (typeof c == "string" || typeof c == "number") a += c; else if (typeof c == "object") if (Array.isArray(c)) { var s = c.length; for (e = 0; e < s; e++) c[e] && (l = Ko(c[e])) && (a && (a += " "), a += l); } else for (l in c) c[l] && (a && (a += " "), a += l); return a; } function Qo() { for (var c, e, l = 0, a = "", s = arguments.length; l < s; l++) (c = arguments[l]) && (e = Ko(c)) && (a && (a += " "), a += e); return a; } const J6 = "-", UX = (c) => { const e = GX(c), { conflictingClassGroups: l, conflictingClassGroupModifiers: a } = c; return { getClassGroupId: (t) => { const o = t.split(J6); return o[0] === "" && o.length !== 1 && o.shift(), Jo(o, e) || ZX(t); }, getConflictingClassGroupIds: (t, o) => { const r = l[t] || []; return o && a[t] ? [...r, ...a[t]] : r; } }; }, Jo = (c, e) => { var t; if (c.length === 0) return e.classGroupId; const l = c[0], a = e.nextPart.get(l), s = a ? Jo(c.slice(1), a) : void 0; if (s) return s; if (e.validators.length === 0) return; const n = c.join(J6); return (t = e.validators.find(({ validator: o }) => o(n))) == null ? void 0 : t.classGroupId; }, zt = /^\[(.+)\]$/, ZX = (c) => { if (zt.test(c)) { const e = zt.exec(c)[1], l = e == null ? void 0 : e.substring(0, e.indexOf(":")); if (l) return "arbitrary.." + l; } }, GX = (c) => { const { theme: e, classGroups: l } = c, a = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; for (const s in l) m6(l[s], a, s, e); return a; }, m6 = (c, e, l, a) => { c.forEach((s) => { if (typeof s == "string") { const n = s === "" ? e : dt(e, s); n.classGroupId = l; return; } if (typeof s == "function") { if (YX(s)) { m6(s(a), e, l, a); return; } e.validators.push({ validator: s, classGroupId: l }); return; } Object.entries(s).forEach(([n, t]) => { m6(t, dt(e, n), l, a); }); }); }, dt = (c, e) => { let l = c; return e.split(J6).forEach((a) => { l.nextPart.has(a) || l.nextPart.set(a, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), l = l.nextPart.get(a); }), l; }, YX = (c) => c.isThemeGetter, XX = (c) => { if (c < 1) return { get: () => { }, set: () => { } }; let e = 0, l = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(); const s = (n, t) => { l.set(n, t), e++, e > c && (e = 0, a = l, l = /* @__PURE__ */ new Map()); }; return { get(n) { let t = l.get(n); if (t !== void 0) return t; if ((t = a.get(n)) !== void 0) return s(n, t), t; }, set(n, t) { l.has(n) ? l.set(n, t) : s(n, t); } }; }, u6 = "!", z6 = ":", KX = z6.length, QX = (c) => { const { prefix: e, experimentalParseClassName: l } = c; let a = (s) => { const n = []; let t = 0, o = 0, r = 0, i; for (let g = 0; g < s.length; g++) { let d = s[g]; if (t === 0 && o === 0) { if (d === z6) { n.push(s.slice(r, g)), r = g + KX; continue; } if (d === "/") { i = g; continue; } } d === "[" ? t++ : d === "]" ? t-- : d === "(" ? o++ : d === ")" && o--; } const f = n.length === 0 ? s : s.substring(r), m = JX(f), u = m !== f, p = i && i > r ? i - r : void 0; return { modifiers: n, hasImportantModifier: u, baseClassName: m, maybePostfixModifierPosition: p }; }; if (e) { const s = e + z6, n = a; a = (t) => t.startsWith(s) ? n(t.substring(s.length)) : { isExternal: !0, modifiers: [], hasImportantModifier: !1, baseClassName: t, maybePostfixModifierPosition: void 0 }; } if (l) { const s = a; a = (n) => l({ className: n, parseClassName: s }); } return a; }, JX = (c) => c.endsWith(u6) ? c.substring(0, c.length - 1) : c.startsWith(u6) ? c.substring(1) : c, cK = (c) => { const e = Object.fromEntries(c.orderSensitiveModifiers.map((a) => [a, !0])); return (a) => { if (a.length <= 1) return a; const s = []; let n = []; return a.forEach((t) => { t[0] === "[" || e[t] ? (s.push(...n.sort(), t), n = []) : n.push(t); }), s.push(...n.sort()), s; }; }, eK = (c) => ({ cache: XX(c.cacheSize), parseClassName: QX(c), sortModifiers: cK(c), ...UX(c) }), lK = /\s+/, aK = (c, e) => { const { parseClassName: l, getClassGroupId: a, getConflictingClassGroupIds: s, sortModifiers: n } = e, t = [], o = c.trim().split(lK); let r = ""; for (let i = o.length - 1; i >= 0; i -= 1) { const f = o[i], { isExternal: m, modifiers: u, hasImportantModifier: p, baseClassName: g, maybePostfixModifierPosition: d } = l(f); if (m) { r = f + (r.length > 0 ? " " + r : r); continue; } let L = !!d, M = a(L ? g.substring(0, d) : g); if (!M) { if (!L) { r = f + (r.length > 0 ? " " + r : r); continue; } if (M = a(g), !M) { r = f + (r.length > 0 ? " " + r : r); continue; } L = !1; } const N = n(u).join(":"), b = p ? N + u6 : N, x = b + M; if (t.includes(x)) continue; t.push(x); const C = s(M, L); for (let H = 0; H < C.length; ++H) { const P = C[H]; t.push(b + P); } r = f + (r.length > 0 ? " " + r : r); } return r; }; function sK() { let c = 0, e, l, a = ""; for (; c < arguments.length; ) (e = arguments[c++]) && (l = cr(e)) && (a && (a += " "), a += l); return a; } const cr = (c) => { if (typeof c == "string") return c; let e, l = ""; for (let a = 0; a < c.length; a++) c[a] && (e = cr(c[a])) && (l && (l += " "), l += e); return l; }; function nK(c, ...e) { let l, a, s, n = t; function t(r) { const i = e.reduce((f, m) => m(f), c()); return l = eK(i), a = l.cache.get, s = l.cache.set, n = o, o(r); } function o(r) { const i = a(r); if (i) return i; const f = aK(r, l); return s(r, f), f; } return function() { return n(sK.apply(null, arguments)); }; } const g1 = (c) => { const e = (l) => l[c] || []; return e.isThemeGetter = !0, e; }, er = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, lr = /^\((?:(\w[\w-]*):)?(.+)\)$/i, tK = /^\d+\/\d+$/, oK = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, rK = /\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$/, iK = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, fK = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, mK = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, A2 = (c) => tK.test(c), l1 = (c) => !!c && !Number.isNaN(Number(c)), s2 = (c) => !!c && Number.isInteger(Number(c)), D0 = (c) => c.endsWith("%") && l1(c.slice(0, -1)), U1 = (c) => oK.test(c), uK = () => !0, zK = (c) => ( // `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. rK.test(c) && !iK.test(c) ), ar = () => !1, dK = (c) => fK.test(c), pK = (c) => mK.test(c), hK = (c) => !O(c) && !D(c), LK = (c) => G2(c, tr, ar), O = (c) => er.test(c), C2 = (c) => G2(c, or, zK), I0 = (c) => G2(c, xK, l1), pt = (c) => G2(c, sr, ar), MK = (c) => G2(c, nr, pK), Z3 = (c) => G2(c, rr, dK), D = (c) => lr.test(c), t3 = (c) => Y2(c, or), CK = (c) => Y2(c, bK), ht = (c) => Y2(c, sr), gK = (c) => Y2(c, tr), vK = (c) => Y2(c, nr), G3 = (c) => Y2(c, rr, !0), G2 = (c, e, l) => { const a = er.exec(c); return a ? a[1] ? e(a[1]) : l(a[2]) : !1; }, Y2 = (c, e, l = !1) => { const a = lr.exec(c); return a ? a[1] ? e(a[1]) : l : !1; }, sr = (c) => c === "position" || c === "percentage", nr = (c) => c === "image" || c === "url", tr = (c) => c === "length" || c === "size" || c === "bg-size", or = (c) => c === "length", xK = (c) => c === "number", bK = (c) => c === "family-name", rr = (c) => c === "shadow", NK = () => { const c = g1("color"), e = g1("font"), l = g1("text"), a = g1("font-weight"), s = g1("tracking"), n = g1("leading"), t = g1("breakpoint"), o = g1("container"), r = g1("spacing"), i = g1("radius"), f = g1("shadow"), m = g1("inset-shadow"), u = g1("text-shadow"), p = g1("drop-shadow"), g = g1("blur"), d = g1("perspective"), L = g1("aspect"), M = g1("ease"), N = g1("animate"), b = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], x = () => [ "center", "top", "bottom", "left", "right", "top-left", // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378 "left-top", "top-right", // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378 "right-top", "bottom-right", // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378 "right-bottom", "bottom-left", // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378 "left-bottom" ], C = () => [...x(), D, O], H = () => ["auto", "hidden", "clip", "visible", "scroll"], P = () => ["auto", "contain", "none"], k = () => [D, O, r], B = () => [A2, "full", "auto", ...k()], F = () => [s2, "none", "subgrid", D, O], I = () => ["auto", { span: ["full", s2, D, O] }, s2, D, O], e1 = () => [s2, "auto", D, O], s1 = () => ["auto", "min", "max", "fr", D, O], o1 = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], t1 = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], G = () => ["auto", ...k()], J = () => [A2, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...k()], w = () => [c, D, O], f1 = () => [...x(), ht, pt, { position: [D, O] }], h = () => ["no-repeat", { repeat: ["", "x", "y", "space", "round"] }], y = () => ["auto", "cover", "contain", gK, LK, { size: [D, O] }], E = () => [D0, t3, C2], V = () => [ // Deprecated since Tailwind CSS v4.0.0 "", "none", "full", i, D, O ], R = () => ["", l1, t3, C2], Z = () => ["solid", "dashed", "dotted", "double"], Y = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], j = () => [l1, D0, ht, pt], U = () => [ // Deprecated since Tailwind CSS v4.0.0 "", "none", g, D, O ], X = () => ["none", l1, D, O], K = () => ["none", l1, D, O], p1 = () => [l1, D, O], _ = () => [A2, "full", ...k()]; return { cacheSize: 500, theme: { animate: ["spin", "ping", "pulse", "bounce"], aspect: ["video"], blur: [U1], breakpoint: [U1], color: [uK], container: [U1], "drop-shadow": [U1], ease: ["in", "out", "in-out"], font: [hK], "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"], "inset-shadow": [U1], leading: ["none", "tight", "snug", "normal", "relaxed", "loose"], perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"], radius: [U1], shadow: [U1], spacing: ["px", l1], text: [U1], "text-shadow": [U1], tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"] }, classGroups: { // -------------- // --- Layout --- // -------------- /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", A2, O, D, L] }], /** * Container * @see https://tailwindcss.com/docs/container * @deprecated since Tailwind CSS v4.0.0 */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [l1, O, D, o] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": b() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": b() }], /** * 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"], /** * Screen Reader Only * @see https://tailwindcss.com/docs/display#screen-reader-only */ sr: ["sr-only", "not-sr-only"], /** * 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: C() }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: H() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": H() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": H() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: P() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": P() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": P() }], /** * 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: [s2, "auto", D, O] }], // ------------------------ // --- Flexbox and Grid --- // ------------------------ /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: [A2, "full", "auto", o, ...k()] }], /** * 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: ["nowrap", "wrap", "wrap-reverse"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: [l1, A2, "auto", "initial", "none", O] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ["", l1, D, O] }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ["", l1, D, O] }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: [s2, "first", "last", "none", D, O] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": F() }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: I() }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": e1() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": e1() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": F() }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: I() }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": e1() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": e1() }], /** * 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": s1() }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": s1() }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: k() }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": k() }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": k() }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: [...o1(), "normal"] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": [...t1(), "normal"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", ...t1()] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...o1()] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: [...t1(), { baseline: ["", "last"] }] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", ...t1(), { baseline: ["", "last"] }] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": o1() }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": [...t1(), "baseline"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", ...t1()] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: k() }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: k() }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: k() }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: k() }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: k() }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: k() }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: k() }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: k() }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: k() }], /** * 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/margin#adding-space-between-children */ "space-x": [{ "space-x": k() }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/margin#adding-space-between-children */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/margin#adding-space-between-children */ "space-y": [{ "space-y": k() }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/margin#adding-space-between-children */ "space-y-reverse": ["space-y-reverse"], // -------------- // --- Sizing --- // -------------- /** * Size * @see https://tailwindcss.com/docs/width#setting-both-width-and-height */ size: [{ size: J() }], /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: [o, "screen", ...J()] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [ o, "screen", /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ "none", ...J() ] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [ o, "screen", "none", /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ "prose", /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ { screen: [t] }, ...J() ] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: ["screen", ...J()] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": ["screen", "none", ...J()] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": ["screen", ...J()] }], // ------------------ // --- Typography --- // ------------------ /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", l, t3, C2] }], /** * 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: [a, D, I0] }], /** * Font Stretch * @see https://tailwindcss.com/docs/font-stretch */ "font-stretch": [{ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", D0, O] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [CK, O, e] }], /** * 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: [s, D, O] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": [l1, "none", D, I0] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: [ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ n, ...k() ] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", D, O] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["disc", "decimal", "none", D, O] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://v3.tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: w() }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: w() }], /** * 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: [...Z(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: [l1, "from-font", "auto", D, C2] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: w() }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": [l1, "auto", D, O] }], /** * 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: k() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", D, O] }], /** * 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"] }], /** * Overflow Wrap * @see https://tailwindcss.com/docs/overflow-wrap */ wrap: [{ wrap: ["break-word", "anywhere", "normal"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", D, O] }], // ------------------- // --- 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 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: f1() }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: h() }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: y() }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { linear: [{ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, s2, D, O], radial: ["", D, O], conic: [s2, D, O] }, vK, MK] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: w() }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: E() }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: E() }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: E() }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: w() }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: w() }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: w() }], // --------------- // --- Borders --- // --------------- /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: V() }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": V() }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": V() }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": V() }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": V() }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": V() }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": V() }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": V() }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": V() }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": V() }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": V() }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": V() }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": V() }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": V() }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": V() }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: R() }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": R() }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": R() }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": R() }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": R() }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": R() }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": R() }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": R() }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "bor