react-fa-picker
Version:
A reusable React Icon Picker component, bundled with its own Tailwind CSS build.
1,794 lines • 2.11 MB
JavaScript
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