UNPKG

@tiiqu/ui

Version:

A customizable, accessible, and developer-friendly React UI component library powered by Tailwind CSS, TypeScript, and Vite

1,257 lines 98.5 kB
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-zinc-200:oklch(92% .004 286.32);--color-zinc-700:oklch(37% .013 285.805);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-tiiqu-primary:#18e1c9;--color-tiiqu-secondary:#034459;--color-tiiqu-primary-light:#18e1c966;--color-tiiqu-secondary-light:#03445966;--color-tiiqu-gray:#e6ecee;--color-tiiqu-white:#fff;--color-tiiqu-black:#2e2c34}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.-right-2{right:calc(var(--spacing)*-2)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mb-4{margin-bottom:calc(var(--spacing)*4)}.contents{display:contents}.flex{display:flex}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-\\[100\\%\\]{height:100%}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-\\[90vh\\]{max-height:90vh}.max-h-fit{max-height:fit-content}.max-h-full{max-height:100%}.min-h-\\[3\\.1874rem\\]{min-height:3.1874rem}.min-h-\\[3\\.1875em\\]{min-height:3.1875em}.w-\\[100\\%\\]{width:100%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[90vw\\]{max-width:90vw}.min-w-\\[12\\.8125rem\\]{min-width:12.8125rem}.min-w-\\[13\\.8125em\\]{min-width:13.8125em}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-180{rotate:180deg}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.overflow-hidden{overflow:hidden}.rounded-\\[0\\.5em\\]{border-radius:.5em}.rounded-\\[0\\.5rem\\]{border-radius:.5rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border,.border-\\[1px\\]{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-tiiqu-gray{border-color:var(--color-tiiqu-gray)}.border-tiiqu-primary{border-color:var(--color-tiiqu-primary)}.border-tiiqu-secondary{border-color:var(--color-tiiqu-secondary)}.border-transparent{border-color:#0000}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-tiiqu-primary{background-color:var(--color-tiiqu-primary)}.bg-tiiqu-primary-light{background-color:var(--color-tiiqu-primary-light)}.bg-tiiqu-secondary{background-color:var(--color-tiiqu-secondary)}.bg-tiiqu-secondary-light{background-color:var(--color-tiiqu-secondary-light)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-zinc-200{background-color:var(--color-zinc-200)}.p-1{padding:calc(var(--spacing)*1)}.p-4{padding:calc(var(--spacing)*4)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-tiiqu-black{color:var(--color-tiiqu-black)}.text-tiiqu-primary{color:var(--color-tiiqu-primary)}.text-tiiqu-secondary{color:var(--color-tiiqu-secondary)}.text-tiiqu-white{color:var(--color-tiiqu-white)}.text-zinc-700{color:var(--color-zinc-700)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:border-tiiqu-gray:hover{border-color:var(--color-tiiqu-gray)}.hover\\:text-tiiqu-primary:hover{color:var(--color-tiiqu-primary)}.hover\\:brightness-75:hover{--tw-brightness:brightness(75%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:brightness-85:hover{--tw-brightness:brightness(85%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@media (min-width:48rem){.md\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}}.ripple-container{position:relative;overflow:hidden}.ripple{pointer-events:none;background-color:#ffffff80;border-radius:50%;animation:.6s linear ripple-animation;position:absolute;transform:scale(0)}@keyframes ripple-animation{to{opacity:0;transform:scale(4)}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}')),document.head.appendChild(t)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})(); import { jsx as g, jsxs as _, Fragment as _e } from "react/jsx-runtime"; import { useRef as ze, useState as je, useEffect as Le } from "react"; function Ce(e) { var t, r, o = ""; if (typeof e == "string" || typeof e == "number") o += e; else if (typeof e == "object") if (Array.isArray(e)) { var a = e.length; for (t = 0; t < a; t++) e[t] && (r = Ce(e[t])) && (o && (o += " "), o += r); } else for (r in e) e[r] && (o && (o += " "), o += r); return o; } function Me() { for (var e, t, r = 0, o = "", a = arguments.length; r < a; r++) (e = arguments[r]) && (t = Ce(e)) && (o && (o += " "), o += t); return o; } const he = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, ye = Me, qe = (e, t) => (r) => { var o; if (t?.variants == null) return ye(e, r?.class, r?.className); const { variants: a, defaultVariants: i } = t, l = Object.keys(a).map((u) => { const f = r?.[u], h = i?.[u]; if (f === null) return null; const w = he(f) || he(h); return a[u][w]; }), b = r && Object.entries(r).reduce((u, f) => { let [h, w] = f; return w === void 0 || (u[h] = w), u; }, {}), c = t == null || (o = t.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((u, f) => { let { class: h, className: w, ...A } = f; return Object.entries(A).every((v) => { let [k, M] = v; return Array.isArray(M) ? M.includes({ ...i, ...b }[k]) : { ...i, ...b }[k] === M; }) ? [ ...u, h, w ] : u; }, []); return ye(e, l, c, r?.class, r?.className); }, le = "-", Be = (e) => { const t = $e(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: o } = e; return { getClassGroupId: (l) => { const b = l.split(le); return b[0] === "" && b.length !== 1 && b.shift(), Ne(b, t) || Oe(l); }, getConflictingClassGroupIds: (l, b) => { const c = r[l] || []; return b && o[l] ? [...c, ...o[l]] : c; } }; }, Ne = (e, t) => { if (e.length === 0) return t.classGroupId; const r = e[0], o = t.nextPart.get(r), a = o ? Ne(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(le); return t.validators.find(({ validator: l }) => l(i))?.classGroupId; }, xe = /^\[(.+)\]$/, Oe = (e) => { if (xe.test(e)) { const t = xe.exec(e)[1], r = t?.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, $e = (e) => { const { theme: t, classGroups: r } = e, o = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; for (const a in r) se(r[a], o, a, t); return o; }, se = (e, t, r, o) => { e.forEach((a) => { if (typeof a == "string") { const i = a === "" ? t : we(t, a); i.classGroupId = r; return; } if (typeof a == "function") { if (Fe(a)) { se(a(o), t, r, o); return; } t.validators.push({ validator: a, classGroupId: r }); return; } Object.entries(a).forEach(([i, l]) => { se(l, we(t, i), r, o); }); }); }, we = (e, t) => { let r = e; return t.split(le).forEach((o) => { r.nextPart.has(o) || r.nextPart.set(o, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(o); }), r; }, Fe = (e) => e.isThemeGetter, We = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(); const a = (i, l) => { r.set(i, l), t++, t > e && (t = 0, o = r, r = /* @__PURE__ */ new Map()); }; return { get(i) { let l = r.get(i); if (l !== void 0) return l; if ((l = o.get(i)) !== void 0) return a(i, l), l; }, set(i, l) { r.has(i) ? r.set(i, l) : a(i, l); } }; }, ae = "!", ie = ":", He = ie.length, Ue = (e) => { const { prefix: t, experimentalParseClassName: r } = e; let o = (a) => { const i = []; let l = 0, b = 0, c = 0, u; for (let v = 0; v < a.length; v++) { let k = a[v]; if (l === 0 && b === 0) { if (k === ie) { i.push(a.slice(c, v)), c = v + He; continue; } if (k === "/") { u = v; continue; } } k === "[" ? l++ : k === "]" ? l-- : k === "(" ? b++ : k === ")" && b--; } const f = i.length === 0 ? a : a.substring(c), h = De(f), w = h !== f, A = u && u > c ? u - c : void 0; return { modifiers: i, hasImportantModifier: w, baseClassName: h, maybePostfixModifierPosition: A }; }; if (t) { const a = t + ie, i = o; o = (l) => l.startsWith(a) ? i(l.substring(a.length)) : { isExternal: !0, modifiers: [], hasImportantModifier: !1, baseClassName: l, maybePostfixModifierPosition: void 0 }; } if (r) { const a = o; o = (i) => r({ className: i, parseClassName: a }); } return o; }, De = (e) => e.endsWith(ae) ? e.substring(0, e.length - 1) : e.startsWith(ae) ? e.substring(1) : e, Ke = (e) => { const t = Object.fromEntries(e.orderSensitiveModifiers.map((o) => [o, !0])); return (o) => { if (o.length <= 1) return o; const a = []; let i = []; return o.forEach((l) => { l[0] === "[" || t[l] ? (a.push(...i.sort(), l), i = []) : i.push(l); }), a.push(...i.sort()), a; }; }, Xe = (e) => ({ cache: We(e.cacheSize), parseClassName: Ue(e), sortModifiers: Ke(e), ...Be(e) }), Ze = /\s+/, Je = (e, t) => { const { parseClassName: r, getClassGroupId: o, getConflictingClassGroupIds: a, sortModifiers: i } = t, l = [], b = e.trim().split(Ze); let c = ""; for (let u = b.length - 1; u >= 0; u -= 1) { const f = b[u], { isExternal: h, modifiers: w, hasImportantModifier: A, baseClassName: v, maybePostfixModifierPosition: k } = r(f); if (h) { c = f + (c.length > 0 ? " " + c : c); continue; } let M = !!k, S = o(M ? v.substring(0, k) : v); if (!S) { if (!M) { c = f + (c.length > 0 ? " " + c : c); continue; } if (S = o(v), !S) { c = f + (c.length > 0 ? " " + c : c); continue; } M = !1; } const U = i(w).join(":"), F = A ? U + ae : U, j = F + S; if (l.includes(j)) continue; l.push(j); const L = a(S, M); for (let G = 0; G < L.length; ++G) { const W = L[G]; l.push(F + W); } c = f + (c.length > 0 ? " " + c : c); } return c; }; function Ye() { let e = 0, t, r, o = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Ae(t)) && (o && (o += " "), o += r); return o; } const Ae = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let o = 0; o < e.length; o++) e[o] && (t = Ae(e[o])) && (r && (r += " "), r += t); return r; }; function Qe(e, ...t) { let r, o, a, i = l; function l(c) { const u = t.reduce((f, h) => h(f), e()); return r = Xe(u), o = r.cache.get, a = r.cache.set, i = b, b(c); } function b(c) { const u = o(c); if (u) return u; const f = Je(c, r); return a(c, f), f; } return function() { return i(Ye.apply(null, arguments)); }; } const y = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Se = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Pe = /^\((?:(\w[\w-]*):)?(.+)\)$/i, er = /^\d+\/\d+$/, rr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, tr = /\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$/, or = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, nr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, sr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, B = (e) => er.test(e), p = (e) => !!e && !Number.isNaN(Number(e)), V = (e) => !!e && Number.isInteger(Number(e)), oe = (e) => e.endsWith("%") && p(e.slice(0, -1)), R = (e) => rr.test(e), ar = () => !0, ir = (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. tr.test(e) && !or.test(e) ), Ie = () => !1, lr = (e) => nr.test(e), cr = (e) => sr.test(e), dr = (e) => !n(e) && !s(e), mr = (e) => O(e, Ge, Ie), n = (e) => Se.test(e), E = (e) => O(e, Te, ir), ne = (e) => O(e, gr, p), ve = (e) => O(e, Re, Ie), ur = (e) => O(e, Ve, cr), Y = (e) => O(e, Ee, lr), s = (e) => Pe.test(e), H = (e) => $(e, Te), pr = (e) => $(e, hr), ke = (e) => $(e, Re), br = (e) => $(e, Ge), fr = (e) => $(e, Ve), Q = (e) => $(e, Ee, !0), O = (e, t, r) => { const o = Se.exec(e); return o ? o[1] ? t(o[1]) : r(o[2]) : !1; }, $ = (e, t, r = !1) => { const o = Pe.exec(e); return o ? o[1] ? t(o[1]) : r : !1; }, Re = (e) => e === "position" || e === "percentage", Ve = (e) => e === "image" || e === "url", Ge = (e) => e === "length" || e === "size" || e === "bg-size", Te = (e) => e === "length", gr = (e) => e === "number", hr = (e) => e === "family-name", Ee = (e) => e === "shadow", yr = () => { const e = y("color"), t = y("font"), r = y("text"), o = y("font-weight"), a = y("tracking"), i = y("leading"), l = y("breakpoint"), b = y("container"), c = y("spacing"), u = y("radius"), f = y("shadow"), h = y("inset-shadow"), w = y("text-shadow"), A = y("drop-shadow"), v = y("blur"), k = y("perspective"), M = y("aspect"), S = y("ease"), U = y("animate"), F = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], j = () => [ "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" ], L = () => [...j(), s, n], G = () => ["auto", "hidden", "clip", "visible", "scroll"], W = () => ["auto", "contain", "none"], m = () => [s, n, c], P = () => [B, "full", "auto", ...m()], ce = () => [V, "none", "subgrid", s, n], de = () => ["auto", { span: ["full", V, s, n] }, V, s, n], D = () => [V, "auto", s, n], me = () => ["auto", "min", "max", "fr", s, n], ee = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], q = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], I = () => ["auto", ...m()], T = () => [B, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...m()], d = () => [e, s, n], ue = () => [...j(), ke, ve, { position: [s, n] }], pe = () => ["no-repeat", { repeat: ["", "x", "y", "space", "round"] }], be = () => ["auto", "cover", "contain", br, mr, { size: [s, n] }], re = () => [oe, H, E], z = () => [ // Deprecated since Tailwind CSS v4.0.0 "", "none", "full", u, s, n ], C = () => ["", p, H, E], K = () => ["solid", "dashed", "dotted", "double"], fe = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], x = () => [p, oe, ke, ve], ge = () => [ // Deprecated since Tailwind CSS v4.0.0 "", "none", v, s, n ], X = () => ["none", p, s, n], Z = () => ["none", p, s, n], te = () => [p, s, n], J = () => [B, "full", ...m()]; return { cacheSize: 500, theme: { animate: ["spin", "ping", "pulse", "bounce"], aspect: ["video"], blur: [R], breakpoint: [R], color: [ar], container: [R], "drop-shadow": [R], ease: ["in", "out", "in-out"], font: [dr], "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"], "inset-shadow": [R], leading: ["none", "tight", "snug", "normal", "relaxed", "loose"], perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"], radius: [R], shadow: [R], spacing: ["px", p], text: [R], "text-shadow": [R], tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"] }, classGroups: { // -------------- // --- Layout --- // -------------- /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", B, n, s, M] }], /** * 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: [p, n, s, b] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": F() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": F() }], /** * 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: L() }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: G() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": G() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": G() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: W() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": W() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": W() }], /** * 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: P() }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": P() }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": P() }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: P() }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: P() }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: P() }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: P() }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: P() }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: P() }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: [V, "auto", s, n] }], // ------------------------ // --- Flexbox and Grid --- // ------------------------ /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: [B, "full", "auto", b, ...m()] }], /** * 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: [p, B, "auto", "initial", "none", n] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: ["", p, s, n] }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: ["", p, s, n] }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: [V, "first", "last", "none", s, n] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": ce() }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: de() }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": D() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": D() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": ce() }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: de() }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": D() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": D() }], /** * 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": me() }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": me() }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: m() }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": m() }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": m() }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: [...ee(), "normal"] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": [...q(), "normal"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", ...q()] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...ee()] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: [...q(), { baseline: ["", "last"] }] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", ...q(), { baseline: ["", "last"] }] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": ee() }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": [...q(), "baseline"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", ...q()] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: m() }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: m() }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: m() }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: m() }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: m() }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: m() }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: m() }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: m() }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: m() }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: I() }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: I() }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: I() }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: I() }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: I() }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: I() }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: I() }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: I() }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: I() }], /** * Space Between X * @see https://tailwindcss.com/docs/margin#adding-space-between-children */ "space-x": [{ "space-x": m() }], /** * 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": m() }], /** * 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: T() }], /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: [b, "screen", ...T()] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [ b, "screen", /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ "none", ...T() ] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [ b, "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: [l] }, ...T() ] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: ["screen", "lh", ...T()] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": ["screen", "lh", "none", ...T()] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": ["screen", "lh", ...T()] }], // ------------------ // --- Typography --- // ------------------ /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", r, H, E] }], /** * 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: [o, s, ne] }], /** * 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", oe, n] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [pr, n, t] }], /** * 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: [a, s, n] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": [p, "none", s, ne] }], /** * 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 */ i, ...m() ] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", s, n] }], /** * 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", s, n] }], /** * 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: d() }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: d() }], /** * 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: [...K(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: [p, "from-font", "auto", s, E] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: d() }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": [p, "auto", s, n] }], /** * 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: m() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", s, n] }], /** * 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"] }], /** * Con