@bccampus/ui-components 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/_chunks/CompositeDataItem.js +204 -0
  2. package/dist/_chunks/createLucideIcon.js +103 -0
  3. package/dist/_chunks/index.js +125 -0
  4. package/dist/_chunks/index2.js +44 -0
  5. package/dist/_chunks/index3.js +533 -0
  6. package/dist/{utils-CRiPKpXj.js → _chunks/utils.js} +754 -526
  7. package/dist/components/index.d.ts +16 -0
  8. package/dist/components/index.js +84 -0
  9. package/dist/components/ui/banner.d.ts +10 -0
  10. package/dist/components/ui/banner.js +45 -0
  11. package/dist/components/ui/button.d.ts +11 -0
  12. package/dist/{button.js → components/ui/button.js} +11 -10
  13. package/dist/components/ui/card.d.ts +27 -0
  14. package/dist/components/ui/card.js +109 -0
  15. package/dist/components/ui/composite/CompositeData.d.ts +20 -0
  16. package/dist/components/ui/composite/CompositeData.js +89 -0
  17. package/dist/components/ui/composite/CompositeDataItem.d.ts +28 -0
  18. package/dist/components/ui/composite/CompositeDataItem.js +5 -0
  19. package/dist/components/ui/composite/FocusProvider/AbstractFocusProvider.d.ts +41 -0
  20. package/dist/components/ui/composite/FocusProvider/AbstractFocusProvider.js +35 -0
  21. package/dist/components/ui/composite/FocusProvider/ListboxFocusProvider.d.ts +16 -0
  22. package/dist/components/ui/composite/FocusProvider/ListboxFocusProvider.js +67 -0
  23. package/dist/components/ui/composite/FocusProvider/index.d.ts +2 -0
  24. package/dist/components/ui/composite/FocusProvider/index.js +6 -0
  25. package/dist/components/ui/composite/SelectionProvider/AbstractSelectionProvider.d.ts +23 -0
  26. package/dist/components/ui/composite/SelectionProvider/AbstractSelectionProvider.js +20 -0
  27. package/dist/components/ui/composite/SelectionProvider/MultipleSelectionProvider.d.ts +9 -0
  28. package/dist/components/ui/composite/SelectionProvider/MultipleSelectionProvider.js +20 -0
  29. package/dist/components/ui/composite/SelectionProvider/SingleSelectionProvider.d.ts +9 -0
  30. package/dist/components/ui/composite/SelectionProvider/SingleSelectionProvider.js +25 -0
  31. package/dist/components/ui/composite/SelectionProvider/index.d.ts +3 -0
  32. package/dist/components/ui/composite/SelectionProvider/index.js +8 -0
  33. package/dist/components/ui/composite/composite-component-item.d.ts +2 -0
  34. package/dist/components/ui/composite/composite-component-item.js +74 -0
  35. package/dist/components/ui/composite/composite-component.d.ts +2 -0
  36. package/dist/components/ui/composite/composite-component.js +66 -0
  37. package/dist/components/ui/composite/index.d.ts +7 -0
  38. package/dist/components/ui/composite/index.js +22 -0
  39. package/dist/components/ui/composite/listbox.d.ts +2 -0
  40. package/dist/components/ui/composite/listbox.js +58 -0
  41. package/dist/components/ui/composite/types.d.ts +82 -0
  42. package/dist/components/ui/composite/types.js +1 -0
  43. package/dist/components/ui/horizontal-list.d.ts +10 -0
  44. package/dist/components/ui/horizontal-list.js +82 -0
  45. package/dist/components/ui/icon-generator/generate-tiles.d.ts +4 -0
  46. package/dist/components/ui/icon-generator/generate-tiles.js +223 -0
  47. package/dist/components/ui/icon-generator/icon-generator.d.ts +3 -0
  48. package/dist/components/ui/icon-generator/icon-generator.js +82 -0
  49. package/dist/components/ui/icon-generator/index.d.ts +4 -0
  50. package/dist/components/ui/icon-generator/index.js +11 -0
  51. package/dist/components/ui/icon-generator/masked-image-generator.d.ts +3 -0
  52. package/dist/components/ui/icon-generator/masked-image-generator.js +31 -0
  53. package/dist/{masked-image-generator.d.ts → components/ui/icon-generator/types.d.ts} +48 -58
  54. package/dist/components/ui/icon-generator/types.js +30 -0
  55. package/dist/components/ui/input.d.ts +3 -0
  56. package/dist/{input.js → components/ui/input.js} +8 -8
  57. package/dist/components/ui/navigation-menu.d.ts +16 -0
  58. package/dist/components/ui/navigation-menu.js +1041 -0
  59. package/dist/components/ui/overlay.d.ts +7 -0
  60. package/dist/{overlay.js → components/ui/overlay.js} +7 -7
  61. package/dist/components/ui/page-header.d.ts +5 -0
  62. package/dist/{page-header.js → components/ui/page-header.js} +189 -181
  63. package/dist/components/ui/page-section.d.ts +8 -0
  64. package/dist/{page-section.js → components/ui/page-section.js} +7 -7
  65. package/dist/components/ui/page.d.ts +3 -0
  66. package/dist/components/ui/page.js +8 -0
  67. package/dist/components/ui/popover.d.ts +7 -0
  68. package/dist/components/ui/popover.js +3532 -0
  69. package/dist/components/ui/search-input.d.ts +3 -0
  70. package/dist/components/ui/search-input.js +24 -0
  71. package/dist/components/ui/tag.d.ts +10 -0
  72. package/dist/{tag.js → components/ui/tag.js} +10 -9
  73. package/dist/components/ui/typography/caption.d.ts +8 -0
  74. package/dist/components/ui/typography/caption.js +28 -0
  75. package/dist/components/ui/typography/index.d.ts +1 -0
  76. package/dist/components/ui/typography/index.js +5 -0
  77. package/dist/hooks/index.d.ts +3 -0
  78. package/dist/hooks/index.js +9 -0
  79. package/dist/hooks/use-effect-after-mount.d.ts +2 -0
  80. package/dist/hooks/use-effect-after-mount.js +24 -0
  81. package/dist/hooks/use-id.d.ts +1 -0
  82. package/dist/hooks/use-id.js +7 -0
  83. package/dist/hooks/use-keyboard-event.d.ts +59 -0
  84. package/dist/hooks/use-keyboard-event.js +52 -0
  85. package/dist/lib/index.d.ts +3 -0
  86. package/dist/lib/index.js +16 -0
  87. package/dist/lib/object.d.ts +5 -0
  88. package/dist/lib/object.js +38 -0
  89. package/dist/lib/set-operations.d.ts +5 -0
  90. package/dist/lib/set-operations.js +51 -0
  91. package/dist/{utils.d.ts → lib/utils.d.ts} +2 -5
  92. package/dist/lib/utils.js +4 -0
  93. package/package.json +9 -76
  94. package/src/components/index.ts +17 -0
  95. package/src/components/ui/composite/FocusProvider/index.ts +2 -0
  96. package/src/components/ui/composite/SelectionProvider/MultipleSelectionProvider.ts +1 -1
  97. package/src/components/ui/composite/SelectionProvider/index.ts +3 -0
  98. package/src/components/ui/composite/index.ts +5 -5
  99. package/src/components/ui/icon-generator/index.ts +2 -0
  100. package/src/components/ui/typography/index.ts +1 -0
  101. package/src/hooks/index.ts +3 -0
  102. package/src/index.ts +3 -0
  103. package/src/lib/index.ts +3 -0
  104. package/tsconfig.lib.json +44 -0
  105. package/vite.config.ts +28 -31
  106. package/dist/AbstractFocusProvider-CxvlcEki.js +0 -29
  107. package/dist/AbstractSelectionProvider-BtaROstC.js +0 -30
  108. package/dist/CompositeDataItem-DuHOHCWy.js +0 -158
  109. package/dist/ListboxFocusProvider.d.ts +0 -149
  110. package/dist/ListboxFocusProvider.js +0 -53
  111. package/dist/MultipleSelectionProvider.d.ts +0 -141
  112. package/dist/MultipleSelectionProvider.js +0 -19
  113. package/dist/SingleSelectionProvider.d.ts +0 -141
  114. package/dist/SingleSelectionProvider.js +0 -23
  115. package/dist/banner.d.ts +0 -16
  116. package/dist/banner.js +0 -42
  117. package/dist/button.d.ts +0 -17
  118. package/dist/caption.d.ts +0 -13
  119. package/dist/caption.js +0 -27
  120. package/dist/card.d.ts +0 -46
  121. package/dist/card.js +0 -108
  122. package/dist/composite-component-DSUbd1XS.js +0 -122
  123. package/dist/composite.d.ts +0 -208
  124. package/dist/composite.js +0 -82
  125. package/dist/createLucideIcon-CzehbSja.js +0 -94
  126. package/dist/generate-tiles-DuagGD1d.js +0 -244
  127. package/dist/generate-tiles.d.ts +0 -43
  128. package/dist/generate-tiles.js +0 -7
  129. package/dist/horizontal-list.d.ts +0 -16
  130. package/dist/horizontal-list.js +0 -77
  131. package/dist/icon-generator-tuhuqdpL.js +0 -76
  132. package/dist/icon-generator.d.ts +0 -58
  133. package/dist/icon-generator.js +0 -6
  134. package/dist/index-CQhYMnjT.js +0 -34
  135. package/dist/index-U7DVCmS_.js +0 -76
  136. package/dist/input.d.ts +0 -7
  137. package/dist/listbox.d.ts +0 -171
  138. package/dist/listbox.js +0 -76
  139. package/dist/masked-image-generator.js +0 -29
  140. package/dist/navigation-menu.d.ts +0 -27
  141. package/dist/navigation-menu.js +0 -1139
  142. package/dist/overlay.d.ts +0 -13
  143. package/dist/page-header.d.ts +0 -9
  144. package/dist/page-section.d.ts +0 -14
  145. package/dist/page.d.ts +0 -7
  146. package/dist/page.js +0 -8
  147. package/dist/search-input.d.ts +0 -7
  148. package/dist/search-input.js +0 -23
  149. package/dist/tag.d.ts +0 -16
  150. package/dist/ui-components.d.ts +0 -215
  151. package/dist/ui-components.js +0 -54
  152. package/dist/utils.js +0 -4
  153. package/src/assets/icons/icon_01.svg +0 -6
  154. package/src/assets/icons/icon_02.svg +0 -6
  155. package/src/assets/icons/icon_03.svg +0 -6
  156. package/src/assets/icons/icon_04.svg +0 -6
  157. package/src/assets/icons/icon_05.svg +0 -4
  158. package/src/assets/icons/icon_06.svg +0 -4
  159. package/src/assets/images/image_01.jpg +0 -0
  160. package/src/assets/images/image_02.jpg +0 -0
  161. package/src/assets/images/image_03.webp +0 -0
  162. package/src/assets/images/image_04.png +0 -0
  163. package/src/assets/images/image_05.jpg +0 -0
  164. package/src/assets/images/image_06.jpg +0 -0
  165. package/src/components/ui/index.ts +0 -15
@@ -1,270 +1,469 @@
1
- function xe(e) {
2
- var n, r, o = "";
3
- if (typeof e == "string" || typeof e == "number") o += e;
4
- else if (typeof e == "object") if (Array.isArray(e)) {
5
- var i = e.length;
6
- for (n = 0; n < i; n++) e[n] && (r = xe(e[n])) && (o && (o += " "), o += r);
7
- } else for (r in e) e[r] && (o && (o += " "), o += r);
8
- return o;
1
+ function r(e) {
2
+ var t, f, n = "";
3
+ if ("string" == typeof e || "number" == typeof e) n += e;
4
+ else if ("object" == typeof e) if (Array.isArray(e)) {
5
+ var o = e.length;
6
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
7
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
8
+ return n;
9
9
  }
10
- function Pe() {
11
- for (var e, n, r = 0, o = "", i = arguments.length; r < i; r++) (e = arguments[r]) && (n = xe(e)) && (o && (o += " "), o += n);
12
- return o;
10
+ function clsx() {
11
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
12
+ return n;
13
13
  }
14
- const ne = "-", Re = (e) => {
15
- const n = Te(e), {
16
- conflictingClassGroups: r,
17
- conflictingClassGroupModifiers: o
18
- } = e;
19
- return {
20
- getClassGroupId: (l) => {
21
- const u = l.split(ne);
22
- return u[0] === "" && u.length !== 1 && u.shift(), we(u, n) || Ge(l);
23
- },
24
- getConflictingClassGroupIds: (l, u) => {
25
- const p = r[l] || [];
26
- return u && o[l] ? [...p, ...o[l]] : p;
14
+ const CLASS_PART_SEPARATOR = "-";
15
+ const createClassGroupUtils = (config) => {
16
+ const classMap = createClassMap(config);
17
+ const {
18
+ conflictingClassGroups,
19
+ conflictingClassGroupModifiers
20
+ } = config;
21
+ const getClassGroupId = (className) => {
22
+ const classParts = className.split(CLASS_PART_SEPARATOR);
23
+ if (classParts[0] === "" && classParts.length !== 1) {
24
+ classParts.shift();
27
25
  }
26
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
27
+ };
28
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
29
+ const conflicts = conflictingClassGroups[classGroupId] || [];
30
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
31
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
32
+ }
33
+ return conflicts;
34
+ };
35
+ return {
36
+ getClassGroupId,
37
+ getConflictingClassGroupIds
28
38
  };
29
- }, we = (e, n) => {
30
- if (e.length === 0)
31
- return n.classGroupId;
32
- const r = e[0], o = n.nextPart.get(r), i = o ? we(e.slice(1), o) : void 0;
33
- if (i)
34
- return i;
35
- if (n.validators.length === 0)
36
- return;
37
- const m = e.join(ne);
38
- return n.validators.find(({
39
- validator: l
40
- }) => l(m))?.classGroupId;
41
- }, fe = /^\[(.+)\]$/, Ge = (e) => {
42
- if (fe.test(e)) {
43
- const n = fe.exec(e)[1], r = n?.substring(0, n.indexOf(":"));
44
- if (r)
45
- return "arbitrary.." + r;
39
+ };
40
+ const getGroupRecursive = (classParts, classPartObject) => {
41
+ if (classParts.length === 0) {
42
+ return classPartObject.classGroupId;
43
+ }
44
+ const currentClassPart = classParts[0];
45
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
46
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
47
+ if (classGroupFromNextClassPart) {
48
+ return classGroupFromNextClassPart;
46
49
  }
47
- }, Te = (e) => {
50
+ if (classPartObject.validators.length === 0) {
51
+ return void 0;
52
+ }
53
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
54
+ return classPartObject.validators.find(({
55
+ validator
56
+ }) => validator(classRest))?.classGroupId;
57
+ };
58
+ const arbitraryPropertyRegex = /^\[(.+)\]$/;
59
+ const getGroupIdForArbitraryProperty = (className) => {
60
+ if (arbitraryPropertyRegex.test(className)) {
61
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
62
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
63
+ if (property) {
64
+ return "arbitrary.." + property;
65
+ }
66
+ }
67
+ };
68
+ const createClassMap = (config) => {
48
69
  const {
49
- theme: n,
50
- classGroups: r
51
- } = e, o = {
70
+ theme,
71
+ classGroups
72
+ } = config;
73
+ const classMap = {
52
74
  nextPart: /* @__PURE__ */ new Map(),
53
75
  validators: []
54
76
  };
55
- for (const i in r)
56
- re(r[i], o, i, n);
57
- return o;
58
- }, re = (e, n, r, o) => {
59
- e.forEach((i) => {
60
- if (typeof i == "string") {
61
- const m = i === "" ? n : be(n, i);
62
- m.classGroupId = r;
77
+ for (const classGroupId in classGroups) {
78
+ processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
79
+ }
80
+ return classMap;
81
+ };
82
+ const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
83
+ classGroup.forEach((classDefinition) => {
84
+ if (typeof classDefinition === "string") {
85
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
86
+ classPartObjectToEdit.classGroupId = classGroupId;
63
87
  return;
64
88
  }
65
- if (typeof i == "function") {
66
- if (Ee(i)) {
67
- re(i(o), n, r, o);
89
+ if (typeof classDefinition === "function") {
90
+ if (isThemeGetter(classDefinition)) {
91
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
68
92
  return;
69
93
  }
70
- n.validators.push({
71
- validator: i,
72
- classGroupId: r
94
+ classPartObject.validators.push({
95
+ validator: classDefinition,
96
+ classGroupId
73
97
  });
74
98
  return;
75
99
  }
76
- Object.entries(i).forEach(([m, l]) => {
77
- re(l, be(n, m), r, o);
100
+ Object.entries(classDefinition).forEach(([key, classGroup2]) => {
101
+ processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
78
102
  });
79
103
  });
80
- }, be = (e, n) => {
81
- let r = e;
82
- return n.split(ne).forEach((o) => {
83
- r.nextPart.has(o) || r.nextPart.set(o, {
84
- nextPart: /* @__PURE__ */ new Map(),
85
- validators: []
86
- }), r = r.nextPart.get(o);
87
- }), r;
88
- }, Ee = (e) => e.isThemeGetter, Ne = (e) => {
89
- if (e < 1)
104
+ };
105
+ const getPart = (classPartObject, path) => {
106
+ let currentClassPartObject = classPartObject;
107
+ path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
108
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
109
+ currentClassPartObject.nextPart.set(pathPart, {
110
+ nextPart: /* @__PURE__ */ new Map(),
111
+ validators: []
112
+ });
113
+ }
114
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
115
+ });
116
+ return currentClassPartObject;
117
+ };
118
+ const isThemeGetter = (func) => func.isThemeGetter;
119
+ const createLruCache = (maxCacheSize) => {
120
+ if (maxCacheSize < 1) {
90
121
  return {
91
- get: () => {
92
- },
122
+ get: () => void 0,
93
123
  set: () => {
94
124
  }
95
125
  };
96
- let n = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
97
- const i = (m, l) => {
98
- r.set(m, l), n++, n > e && (n = 0, o = r, r = /* @__PURE__ */ new Map());
126
+ }
127
+ let cacheSize = 0;
128
+ let cache = /* @__PURE__ */ new Map();
129
+ let previousCache = /* @__PURE__ */ new Map();
130
+ const update = (key, value) => {
131
+ cache.set(key, value);
132
+ cacheSize++;
133
+ if (cacheSize > maxCacheSize) {
134
+ cacheSize = 0;
135
+ previousCache = cache;
136
+ cache = /* @__PURE__ */ new Map();
137
+ }
99
138
  };
100
139
  return {
101
- get(m) {
102
- let l = r.get(m);
103
- if (l !== void 0)
104
- return l;
105
- if ((l = o.get(m)) !== void 0)
106
- return i(m, l), l;
140
+ get(key) {
141
+ let value = cache.get(key);
142
+ if (value !== void 0) {
143
+ return value;
144
+ }
145
+ if ((value = previousCache.get(key)) !== void 0) {
146
+ update(key, value);
147
+ return value;
148
+ }
107
149
  },
108
- set(m, l) {
109
- r.has(m) ? r.set(m, l) : i(m, l);
150
+ set(key, value) {
151
+ if (cache.has(key)) {
152
+ cache.set(key, value);
153
+ } else {
154
+ update(key, value);
155
+ }
110
156
  }
111
157
  };
112
- }, te = "!", se = ":", Le = se.length, Ve = (e) => {
158
+ };
159
+ const IMPORTANT_MODIFIER = "!";
160
+ const MODIFIER_SEPARATOR = ":";
161
+ const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
162
+ const createParseClassName = (config) => {
113
163
  const {
114
- prefix: n,
115
- experimentalParseClassName: r
116
- } = e;
117
- let o = (i) => {
118
- const m = [];
119
- let l = 0, u = 0, p = 0, g;
120
- for (let k = 0; k < i.length; k++) {
121
- let y = i[k];
122
- if (l === 0 && u === 0) {
123
- if (y === se) {
124
- m.push(i.slice(p, k)), p = k + Le;
164
+ prefix,
165
+ experimentalParseClassName
166
+ } = config;
167
+ let parseClassName = (className) => {
168
+ const modifiers = [];
169
+ let bracketDepth = 0;
170
+ let parenDepth = 0;
171
+ let modifierStart = 0;
172
+ let postfixModifierPosition;
173
+ for (let index = 0; index < className.length; index++) {
174
+ let currentCharacter = className[index];
175
+ if (bracketDepth === 0 && parenDepth === 0) {
176
+ if (currentCharacter === MODIFIER_SEPARATOR) {
177
+ modifiers.push(className.slice(modifierStart, index));
178
+ modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
125
179
  continue;
126
180
  }
127
- if (y === "/") {
128
- g = k;
181
+ if (currentCharacter === "/") {
182
+ postfixModifierPosition = index;
129
183
  continue;
130
184
  }
131
185
  }
132
- y === "[" ? l++ : y === "]" ? l-- : y === "(" ? u++ : y === ")" && u--;
186
+ if (currentCharacter === "[") {
187
+ bracketDepth++;
188
+ } else if (currentCharacter === "]") {
189
+ bracketDepth--;
190
+ } else if (currentCharacter === "(") {
191
+ parenDepth++;
192
+ } else if (currentCharacter === ")") {
193
+ parenDepth--;
194
+ }
133
195
  }
134
- const h = m.length === 0 ? i : i.substring(p), M = je(h), O = M !== h, F = g && g > p ? g - p : void 0;
196
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
197
+ const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
198
+ const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
199
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
135
200
  return {
136
- modifiers: m,
137
- hasImportantModifier: O,
138
- baseClassName: M,
139
- maybePostfixModifierPosition: F
201
+ modifiers,
202
+ hasImportantModifier,
203
+ baseClassName,
204
+ maybePostfixModifierPosition
140
205
  };
141
206
  };
142
- if (n) {
143
- const i = n + se, m = o;
144
- o = (l) => l.startsWith(i) ? m(l.substring(i.length)) : {
145
- isExternal: !0,
207
+ if (prefix) {
208
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
209
+ const parseClassNameOriginal = parseClassName;
210
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
211
+ isExternal: true,
146
212
  modifiers: [],
147
- hasImportantModifier: !1,
148
- baseClassName: l,
213
+ hasImportantModifier: false,
214
+ baseClassName: className,
149
215
  maybePostfixModifierPosition: void 0
150
216
  };
151
217
  }
152
- if (r) {
153
- const i = o;
154
- o = (m) => r({
155
- className: m,
156
- parseClassName: i
218
+ if (experimentalParseClassName) {
219
+ const parseClassNameOriginal = parseClassName;
220
+ parseClassName = (className) => experimentalParseClassName({
221
+ className,
222
+ parseClassName: parseClassNameOriginal
157
223
  });
158
224
  }
159
- return o;
160
- }, je = (e) => e.endsWith(te) ? e.substring(0, e.length - 1) : e.startsWith(te) ? e.substring(1) : e, Oe = (e) => {
161
- const n = Object.fromEntries(e.orderSensitiveModifiers.map((o) => [o, !0]));
162
- return (o) => {
163
- if (o.length <= 1)
164
- return o;
165
- const i = [];
166
- let m = [];
167
- return o.forEach((l) => {
168
- l[0] === "[" || n[l] ? (i.push(...m.sort(), l), m = []) : m.push(l);
169
- }), i.push(...m.sort()), i;
225
+ return parseClassName;
226
+ };
227
+ const stripImportantModifier = (baseClassName) => {
228
+ if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
229
+ return baseClassName.substring(0, baseClassName.length - 1);
230
+ }
231
+ if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
232
+ return baseClassName.substring(1);
233
+ }
234
+ return baseClassName;
235
+ };
236
+ const createSortModifiers = (config) => {
237
+ const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map((modifier) => [modifier, true]));
238
+ const sortModifiers = (modifiers) => {
239
+ if (modifiers.length <= 1) {
240
+ return modifiers;
241
+ }
242
+ const sortedModifiers = [];
243
+ let unsortedModifiers = [];
244
+ modifiers.forEach((modifier) => {
245
+ const isPositionSensitive = modifier[0] === "[" || orderSensitiveModifiers[modifier];
246
+ if (isPositionSensitive) {
247
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
248
+ unsortedModifiers = [];
249
+ } else {
250
+ unsortedModifiers.push(modifier);
251
+ }
252
+ });
253
+ sortedModifiers.push(...unsortedModifiers.sort());
254
+ return sortedModifiers;
170
255
  };
171
- }, Fe = (e) => ({
172
- cache: Ne(e.cacheSize),
173
- parseClassName: Ve(e),
174
- sortModifiers: Oe(e),
175
- ...Re(e)
176
- }), _e = /\s+/, Be = (e, n) => {
256
+ return sortModifiers;
257
+ };
258
+ const createConfigUtils = (config) => ({
259
+ cache: createLruCache(config.cacheSize),
260
+ parseClassName: createParseClassName(config),
261
+ sortModifiers: createSortModifiers(config),
262
+ ...createClassGroupUtils(config)
263
+ });
264
+ const SPLIT_CLASSES_REGEX = /\s+/;
265
+ const mergeClassList = (classList, configUtils) => {
177
266
  const {
178
- parseClassName: r,
179
- getClassGroupId: o,
180
- getConflictingClassGroupIds: i,
181
- sortModifiers: m
182
- } = n, l = [], u = e.trim().split(_e);
183
- let p = "";
184
- for (let g = u.length - 1; g >= 0; g -= 1) {
185
- const h = u[g], {
186
- isExternal: M,
187
- modifiers: O,
188
- hasImportantModifier: F,
189
- baseClassName: k,
190
- maybePostfixModifierPosition: y
191
- } = r(h);
192
- if (M) {
193
- p = h + (p.length > 0 ? " " + p : p);
267
+ parseClassName,
268
+ getClassGroupId,
269
+ getConflictingClassGroupIds,
270
+ sortModifiers
271
+ } = configUtils;
272
+ const classGroupsInConflict = [];
273
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
274
+ let result = "";
275
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
276
+ const originalClassName = classNames[index];
277
+ const {
278
+ isExternal,
279
+ modifiers,
280
+ hasImportantModifier,
281
+ baseClassName,
282
+ maybePostfixModifierPosition
283
+ } = parseClassName(originalClassName);
284
+ if (isExternal) {
285
+ result = originalClassName + (result.length > 0 ? " " + result : result);
194
286
  continue;
195
287
  }
196
- let G = !!y, A = o(G ? k.substring(0, y) : k);
197
- if (!A) {
198
- if (!G) {
199
- p = h + (p.length > 0 ? " " + p : p);
288
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
289
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
290
+ if (!classGroupId) {
291
+ if (!hasPostfixModifier) {
292
+ result = originalClassName + (result.length > 0 ? " " + result : result);
200
293
  continue;
201
294
  }
202
- if (A = o(k), !A) {
203
- p = h + (p.length > 0 ? " " + p : p);
295
+ classGroupId = getClassGroupId(baseClassName);
296
+ if (!classGroupId) {
297
+ result = originalClassName + (result.length > 0 ? " " + result : result);
204
298
  continue;
205
299
  }
206
- G = !1;
300
+ hasPostfixModifier = false;
207
301
  }
208
- const $ = m(O).join(":"), _ = F ? $ + te : $, T = _ + A;
209
- if (l.includes(T))
302
+ const variantModifier = sortModifiers(modifiers).join(":");
303
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
304
+ const classId = modifierId + classGroupId;
305
+ if (classGroupsInConflict.includes(classId)) {
210
306
  continue;
211
- l.push(T);
212
- const E = i(A, G);
213
- for (let I = 0; I < E.length; ++I) {
214
- const B = E[I];
215
- l.push(_ + B);
216
307
  }
217
- p = h + (p.length > 0 ? " " + p : p);
308
+ classGroupsInConflict.push(classId);
309
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
310
+ for (let i = 0; i < conflictGroups.length; ++i) {
311
+ const group = conflictGroups[i];
312
+ classGroupsInConflict.push(modifierId + group);
313
+ }
314
+ result = originalClassName + (result.length > 0 ? " " + result : result);
218
315
  }
219
- return p;
316
+ return result;
220
317
  };
221
- function We() {
222
- let e = 0, n, r, o = "";
223
- for (; e < arguments.length; )
224
- (n = arguments[e++]) && (r = ke(n)) && (o && (o += " "), o += r);
225
- return o;
318
+ function twJoin() {
319
+ let index = 0;
320
+ let argument;
321
+ let resolvedValue;
322
+ let string = "";
323
+ while (index < arguments.length) {
324
+ if (argument = arguments[index++]) {
325
+ if (resolvedValue = toValue(argument)) {
326
+ string && (string += " ");
327
+ string += resolvedValue;
328
+ }
329
+ }
330
+ }
331
+ return string;
226
332
  }
227
- const ke = (e) => {
228
- if (typeof e == "string")
229
- return e;
230
- let n, r = "";
231
- for (let o = 0; o < e.length; o++)
232
- e[o] && (n = ke(e[o])) && (r && (r += " "), r += n);
233
- return r;
333
+ const toValue = (mix) => {
334
+ if (typeof mix === "string") {
335
+ return mix;
336
+ }
337
+ let resolvedValue;
338
+ let string = "";
339
+ for (let k = 0; k < mix.length; k++) {
340
+ if (mix[k]) {
341
+ if (resolvedValue = toValue(mix[k])) {
342
+ string && (string += " ");
343
+ string += resolvedValue;
344
+ }
345
+ }
346
+ }
347
+ return string;
234
348
  };
235
- function $e(e, ...n) {
236
- let r, o, i, m = l;
237
- function l(p) {
238
- const g = n.reduce((h, M) => M(h), e());
239
- return r = Fe(g), o = r.cache.get, i = r.cache.set, m = u, u(p);
349
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
350
+ let configUtils;
351
+ let cacheGet;
352
+ let cacheSet;
353
+ let functionToCall = initTailwindMerge;
354
+ function initTailwindMerge(classList) {
355
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
356
+ configUtils = createConfigUtils(config);
357
+ cacheGet = configUtils.cache.get;
358
+ cacheSet = configUtils.cache.set;
359
+ functionToCall = tailwindMerge;
360
+ return tailwindMerge(classList);
240
361
  }
241
- function u(p) {
242
- const g = o(p);
243
- if (g)
244
- return g;
245
- const h = Be(p, r);
246
- return i(p, h), h;
362
+ function tailwindMerge(classList) {
363
+ const cachedResult = cacheGet(classList);
364
+ if (cachedResult) {
365
+ return cachedResult;
366
+ }
367
+ const result = mergeClassList(classList, configUtils);
368
+ cacheSet(classList, result);
369
+ return result;
247
370
  }
248
- return function() {
249
- return m(We.apply(null, arguments));
371
+ return function callTailwindMerge() {
372
+ return functionToCall(twJoin.apply(null, arguments));
250
373
  };
251
374
  }
252
- const f = (e) => {
253
- const n = (r) => r[e] || [];
254
- return n.isThemeGetter = !0, n;
255
- }, ye = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, ve = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Ue = /^\d+\/\d+$/, qe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, He = /\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$/, Je = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Xe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, De = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, L = (e) => Ue.test(e), d = (e) => !!e && !Number.isNaN(Number(e)), S = (e) => !!e && Number.isInteger(Number(e)), ee = (e) => e.endsWith("%") && d(e.slice(0, -1)), C = (e) => qe.test(e), Ke = () => !0, Qe = (e) => (
375
+ const fromTheme = (key) => {
376
+ const themeGetter = (theme) => theme[key] || [];
377
+ themeGetter.isThemeGetter = true;
378
+ return themeGetter;
379
+ };
380
+ const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
381
+ const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
382
+ const fractionRegex = /^\d+\/\d+$/;
383
+ const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
384
+ const lengthUnitRegex = /\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$/;
385
+ const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
386
+ const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
387
+ const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
388
+ const isFraction = (value) => fractionRegex.test(value);
389
+ const isNumber = (value) => !!value && !Number.isNaN(Number(value));
390
+ const isInteger = (value) => !!value && Number.isInteger(Number(value));
391
+ const isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
392
+ const isTshirtSize = (value) => tshirtUnitRegex.test(value);
393
+ const isAny = () => true;
394
+ const isLengthOnly = (value) => (
256
395
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
257
396
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
258
397
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
259
- He.test(e) && !Je.test(e)
260
- ), ze = () => !1, Ye = (e) => Xe.test(e), Ze = (e) => De.test(e), eo = (e) => !t(e) && !s(e), oo = (e) => V(e, Se, ze), t = (e) => ye.test(e), R = (e) => V(e, Ae, Qe), oe = (e) => V(e, ao, d), ge = (e) => V(e, Ce, ze), ro = (e) => V(e, Me, Ze), D = (e) => V(e, Ie, Ye), s = (e) => ve.test(e), W = (e) => j(e, Ae), to = (e) => j(e, io), he = (e) => j(e, Ce), so = (e) => j(e, Se), no = (e) => j(e, Me), K = (e) => j(e, Ie, !0), V = (e, n, r) => {
261
- const o = ye.exec(e);
262
- return o ? o[1] ? n(o[1]) : r(o[2]) : !1;
263
- }, j = (e, n, r = !1) => {
264
- const o = ve.exec(e);
265
- return o ? o[1] ? n(o[1]) : r : !1;
266
- }, Ce = (e) => e === "position" || e === "percentage", Me = (e) => e === "image" || e === "url", Se = (e) => e === "length" || e === "size" || e === "bg-size", Ae = (e) => e === "length", ao = (e) => e === "number", io = (e) => e === "family-name", Ie = (e) => e === "shadow", lo = () => {
267
- const e = f("color"), n = f("font"), r = f("text"), o = f("font-weight"), i = f("tracking"), m = f("leading"), l = f("breakpoint"), u = f("container"), p = f("spacing"), g = f("radius"), h = f("shadow"), M = f("inset-shadow"), O = f("text-shadow"), F = f("drop-shadow"), k = f("blur"), y = f("perspective"), G = f("aspect"), A = f("ease"), $ = f("animate"), _ = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], T = () => [
398
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
399
+ );
400
+ const isNever = () => false;
401
+ const isShadow = (value) => shadowRegex.test(value);
402
+ const isImage = (value) => imageRegex.test(value);
403
+ const isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
404
+ const isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
405
+ const isArbitraryValue = (value) => arbitraryValueRegex.test(value);
406
+ const isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
407
+ const isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
408
+ const isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
409
+ const isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
410
+ const isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
411
+ const isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
412
+ const isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
413
+ const isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
414
+ const isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
415
+ const isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
416
+ const isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
417
+ const isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
418
+ const getIsArbitraryValue = (value, testLabel, testValue) => {
419
+ const result = arbitraryValueRegex.exec(value);
420
+ if (result) {
421
+ if (result[1]) {
422
+ return testLabel(result[1]);
423
+ }
424
+ return testValue(result[2]);
425
+ }
426
+ return false;
427
+ };
428
+ const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
429
+ const result = arbitraryVariableRegex.exec(value);
430
+ if (result) {
431
+ if (result[1]) {
432
+ return testLabel(result[1]);
433
+ }
434
+ return shouldMatchNoLabel;
435
+ }
436
+ return false;
437
+ };
438
+ const isLabelPosition = (label) => label === "position" || label === "percentage";
439
+ const isLabelImage = (label) => label === "image" || label === "url";
440
+ const isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
441
+ const isLabelLength = (label) => label === "length";
442
+ const isLabelNumber = (label) => label === "number";
443
+ const isLabelFamilyName = (label) => label === "family-name";
444
+ const isLabelShadow = (label) => label === "shadow";
445
+ const getDefaultConfig = () => {
446
+ const themeColor = fromTheme("color");
447
+ const themeFont = fromTheme("font");
448
+ const themeText = fromTheme("text");
449
+ const themeFontWeight = fromTheme("font-weight");
450
+ const themeTracking = fromTheme("tracking");
451
+ const themeLeading = fromTheme("leading");
452
+ const themeBreakpoint = fromTheme("breakpoint");
453
+ const themeContainer = fromTheme("container");
454
+ const themeSpacing = fromTheme("spacing");
455
+ const themeRadius = fromTheme("radius");
456
+ const themeShadow = fromTheme("shadow");
457
+ const themeInsetShadow = fromTheme("inset-shadow");
458
+ const themeTextShadow = fromTheme("text-shadow");
459
+ const themeDropShadow = fromTheme("drop-shadow");
460
+ const themeBlur = fromTheme("blur");
461
+ const themePerspective = fromTheme("perspective");
462
+ const themeAspect = fromTheme("aspect");
463
+ const themeEase = fromTheme("ease");
464
+ const themeAnimate = fromTheme("animate");
465
+ const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
466
+ const scalePosition = () => [
268
467
  "center",
269
468
  "top",
270
469
  "bottom",
@@ -282,51 +481,79 @@ const f = (e) => {
282
481
  "bottom-left",
283
482
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
284
483
  "left-bottom"
285
- ], E = () => [...T(), s, t], I = () => ["auto", "hidden", "clip", "visible", "scroll"], B = () => ["auto", "contain", "none"], c = () => [s, t, p], v = () => [L, "full", "auto", ...c()], ae = () => [S, "none", "subgrid", s, t], ie = () => ["auto", {
286
- span: ["full", S, s, t]
287
- }, S, s, t], U = () => [S, "auto", s, t], le = () => ["auto", "min", "max", "fr", s, t], Q = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], N = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], z = () => ["auto", ...c()], P = () => [L, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...c()], a = () => [e, s, t], ce = () => [...T(), he, ge, {
288
- position: [s, t]
289
- }], de = () => ["no-repeat", {
484
+ ];
485
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
486
+ const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
487
+ const scaleOverscroll = () => ["auto", "contain", "none"];
488
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
489
+ const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
490
+ const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
491
+ const scaleGridColRowStartAndEnd = () => ["auto", {
492
+ span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
493
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
494
+ const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
495
+ const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
496
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
497
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
498
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
499
+ const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
500
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
501
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
502
+ position: [isArbitraryVariable, isArbitraryValue]
503
+ }];
504
+ const scaleBgRepeat = () => ["no-repeat", {
290
505
  repeat: ["", "x", "y", "space", "round"]
291
- }], me = () => ["auto", "cover", "contain", so, oo, {
292
- size: [s, t]
293
- }], Y = () => [ee, W, R], x = () => [
506
+ }];
507
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
508
+ size: [isArbitraryVariable, isArbitraryValue]
509
+ }];
510
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
511
+ const scaleRadius = () => [
294
512
  // Deprecated since Tailwind CSS v4.0.0
295
513
  "",
296
514
  "none",
297
515
  "full",
298
- g,
299
- s,
300
- t
301
- ], w = () => ["", d, W, R], q = () => ["solid", "dashed", "dotted", "double"], pe = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], b = () => [d, ee, he, ge], ue = () => [
516
+ themeRadius,
517
+ isArbitraryVariable,
518
+ isArbitraryValue
519
+ ];
520
+ const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
521
+ const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
522
+ const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
523
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
524
+ const scaleBlur = () => [
302
525
  // Deprecated since Tailwind CSS v4.0.0
303
526
  "",
304
527
  "none",
305
- k,
306
- s,
307
- t
308
- ], H = () => ["none", d, s, t], J = () => ["none", d, s, t], Z = () => [d, s, t], X = () => [L, "full", ...c()];
528
+ themeBlur,
529
+ isArbitraryVariable,
530
+ isArbitraryValue
531
+ ];
532
+ const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
533
+ const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
534
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
535
+ const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
309
536
  return {
310
537
  cacheSize: 500,
311
538
  theme: {
312
539
  animate: ["spin", "ping", "pulse", "bounce"],
313
540
  aspect: ["video"],
314
- blur: [C],
315
- breakpoint: [C],
316
- color: [Ke],
317
- container: [C],
318
- "drop-shadow": [C],
541
+ blur: [isTshirtSize],
542
+ breakpoint: [isTshirtSize],
543
+ color: [isAny],
544
+ container: [isTshirtSize],
545
+ "drop-shadow": [isTshirtSize],
319
546
  ease: ["in", "out", "in-out"],
320
- font: [eo],
547
+ font: [isAnyNonArbitrary],
321
548
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
322
- "inset-shadow": [C],
549
+ "inset-shadow": [isTshirtSize],
323
550
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
324
551
  perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
325
- radius: [C],
326
- shadow: [C],
327
- spacing: ["px", d],
328
- text: [C],
329
- "text-shadow": [C],
552
+ radius: [isTshirtSize],
553
+ shadow: [isTshirtSize],
554
+ spacing: ["px", isNumber],
555
+ text: [isTshirtSize],
556
+ "text-shadow": [isTshirtSize],
330
557
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
331
558
  },
332
559
  classGroups: {
@@ -338,7 +565,7 @@ const f = (e) => {
338
565
  * @see https://tailwindcss.com/docs/aspect-ratio
339
566
  */
340
567
  aspect: [{
341
- aspect: ["auto", "square", L, t, s, G]
568
+ aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
342
569
  }],
343
570
  /**
344
571
  * Container
@@ -351,21 +578,21 @@ const f = (e) => {
351
578
  * @see https://tailwindcss.com/docs/columns
352
579
  */
353
580
  columns: [{
354
- columns: [d, t, s, u]
581
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
355
582
  }],
356
583
  /**
357
584
  * Break After
358
585
  * @see https://tailwindcss.com/docs/break-after
359
586
  */
360
587
  "break-after": [{
361
- "break-after": _()
588
+ "break-after": scaleBreak()
362
589
  }],
363
590
  /**
364
591
  * Break Before
365
592
  * @see https://tailwindcss.com/docs/break-before
366
593
  */
367
594
  "break-before": [{
368
- "break-before": _()
595
+ "break-before": scaleBreak()
369
596
  }],
370
597
  /**
371
598
  * Break Inside
@@ -429,49 +656,49 @@ const f = (e) => {
429
656
  * @see https://tailwindcss.com/docs/object-position
430
657
  */
431
658
  "object-position": [{
432
- object: E()
659
+ object: scalePositionWithArbitrary()
433
660
  }],
434
661
  /**
435
662
  * Overflow
436
663
  * @see https://tailwindcss.com/docs/overflow
437
664
  */
438
665
  overflow: [{
439
- overflow: I()
666
+ overflow: scaleOverflow()
440
667
  }],
441
668
  /**
442
669
  * Overflow X
443
670
  * @see https://tailwindcss.com/docs/overflow
444
671
  */
445
672
  "overflow-x": [{
446
- "overflow-x": I()
673
+ "overflow-x": scaleOverflow()
447
674
  }],
448
675
  /**
449
676
  * Overflow Y
450
677
  * @see https://tailwindcss.com/docs/overflow
451
678
  */
452
679
  "overflow-y": [{
453
- "overflow-y": I()
680
+ "overflow-y": scaleOverflow()
454
681
  }],
455
682
  /**
456
683
  * Overscroll Behavior
457
684
  * @see https://tailwindcss.com/docs/overscroll-behavior
458
685
  */
459
686
  overscroll: [{
460
- overscroll: B()
687
+ overscroll: scaleOverscroll()
461
688
  }],
462
689
  /**
463
690
  * Overscroll Behavior X
464
691
  * @see https://tailwindcss.com/docs/overscroll-behavior
465
692
  */
466
693
  "overscroll-x": [{
467
- "overscroll-x": B()
694
+ "overscroll-x": scaleOverscroll()
468
695
  }],
469
696
  /**
470
697
  * Overscroll Behavior Y
471
698
  * @see https://tailwindcss.com/docs/overscroll-behavior
472
699
  */
473
700
  "overscroll-y": [{
474
- "overscroll-y": B()
701
+ "overscroll-y": scaleOverscroll()
475
702
  }],
476
703
  /**
477
704
  * Position
@@ -483,63 +710,63 @@ const f = (e) => {
483
710
  * @see https://tailwindcss.com/docs/top-right-bottom-left
484
711
  */
485
712
  inset: [{
486
- inset: v()
713
+ inset: scaleInset()
487
714
  }],
488
715
  /**
489
716
  * Right / Left
490
717
  * @see https://tailwindcss.com/docs/top-right-bottom-left
491
718
  */
492
719
  "inset-x": [{
493
- "inset-x": v()
720
+ "inset-x": scaleInset()
494
721
  }],
495
722
  /**
496
723
  * Top / Bottom
497
724
  * @see https://tailwindcss.com/docs/top-right-bottom-left
498
725
  */
499
726
  "inset-y": [{
500
- "inset-y": v()
727
+ "inset-y": scaleInset()
501
728
  }],
502
729
  /**
503
730
  * Start
504
731
  * @see https://tailwindcss.com/docs/top-right-bottom-left
505
732
  */
506
733
  start: [{
507
- start: v()
734
+ start: scaleInset()
508
735
  }],
509
736
  /**
510
737
  * End
511
738
  * @see https://tailwindcss.com/docs/top-right-bottom-left
512
739
  */
513
740
  end: [{
514
- end: v()
741
+ end: scaleInset()
515
742
  }],
516
743
  /**
517
744
  * Top
518
745
  * @see https://tailwindcss.com/docs/top-right-bottom-left
519
746
  */
520
747
  top: [{
521
- top: v()
748
+ top: scaleInset()
522
749
  }],
523
750
  /**
524
751
  * Right
525
752
  * @see https://tailwindcss.com/docs/top-right-bottom-left
526
753
  */
527
754
  right: [{
528
- right: v()
755
+ right: scaleInset()
529
756
  }],
530
757
  /**
531
758
  * Bottom
532
759
  * @see https://tailwindcss.com/docs/top-right-bottom-left
533
760
  */
534
761
  bottom: [{
535
- bottom: v()
762
+ bottom: scaleInset()
536
763
  }],
537
764
  /**
538
765
  * Left
539
766
  * @see https://tailwindcss.com/docs/top-right-bottom-left
540
767
  */
541
768
  left: [{
542
- left: v()
769
+ left: scaleInset()
543
770
  }],
544
771
  /**
545
772
  * Visibility
@@ -551,7 +778,7 @@ const f = (e) => {
551
778
  * @see https://tailwindcss.com/docs/z-index
552
779
  */
553
780
  z: [{
554
- z: [S, "auto", s, t]
781
+ z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
555
782
  }],
556
783
  // ------------------------
557
784
  // --- Flexbox and Grid ---
@@ -561,7 +788,7 @@ const f = (e) => {
561
788
  * @see https://tailwindcss.com/docs/flex-basis
562
789
  */
563
790
  basis: [{
564
- basis: [L, "full", "auto", u, ...c()]
791
+ basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
565
792
  }],
566
793
  /**
567
794
  * Flex Direction
@@ -582,84 +809,84 @@ const f = (e) => {
582
809
  * @see https://tailwindcss.com/docs/flex
583
810
  */
584
811
  flex: [{
585
- flex: [d, L, "auto", "initial", "none", t]
812
+ flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
586
813
  }],
587
814
  /**
588
815
  * Flex Grow
589
816
  * @see https://tailwindcss.com/docs/flex-grow
590
817
  */
591
818
  grow: [{
592
- grow: ["", d, s, t]
819
+ grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
593
820
  }],
594
821
  /**
595
822
  * Flex Shrink
596
823
  * @see https://tailwindcss.com/docs/flex-shrink
597
824
  */
598
825
  shrink: [{
599
- shrink: ["", d, s, t]
826
+ shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
600
827
  }],
601
828
  /**
602
829
  * Order
603
830
  * @see https://tailwindcss.com/docs/order
604
831
  */
605
832
  order: [{
606
- order: [S, "first", "last", "none", s, t]
833
+ order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
607
834
  }],
608
835
  /**
609
836
  * Grid Template Columns
610
837
  * @see https://tailwindcss.com/docs/grid-template-columns
611
838
  */
612
839
  "grid-cols": [{
613
- "grid-cols": ae()
840
+ "grid-cols": scaleGridTemplateColsRows()
614
841
  }],
615
842
  /**
616
843
  * Grid Column Start / End
617
844
  * @see https://tailwindcss.com/docs/grid-column
618
845
  */
619
846
  "col-start-end": [{
620
- col: ie()
847
+ col: scaleGridColRowStartAndEnd()
621
848
  }],
622
849
  /**
623
850
  * Grid Column Start
624
851
  * @see https://tailwindcss.com/docs/grid-column
625
852
  */
626
853
  "col-start": [{
627
- "col-start": U()
854
+ "col-start": scaleGridColRowStartOrEnd()
628
855
  }],
629
856
  /**
630
857
  * Grid Column End
631
858
  * @see https://tailwindcss.com/docs/grid-column
632
859
  */
633
860
  "col-end": [{
634
- "col-end": U()
861
+ "col-end": scaleGridColRowStartOrEnd()
635
862
  }],
636
863
  /**
637
864
  * Grid Template Rows
638
865
  * @see https://tailwindcss.com/docs/grid-template-rows
639
866
  */
640
867
  "grid-rows": [{
641
- "grid-rows": ae()
868
+ "grid-rows": scaleGridTemplateColsRows()
642
869
  }],
643
870
  /**
644
871
  * Grid Row Start / End
645
872
  * @see https://tailwindcss.com/docs/grid-row
646
873
  */
647
874
  "row-start-end": [{
648
- row: ie()
875
+ row: scaleGridColRowStartAndEnd()
649
876
  }],
650
877
  /**
651
878
  * Grid Row Start
652
879
  * @see https://tailwindcss.com/docs/grid-row
653
880
  */
654
881
  "row-start": [{
655
- "row-start": U()
882
+ "row-start": scaleGridColRowStartOrEnd()
656
883
  }],
657
884
  /**
658
885
  * Grid Row End
659
886
  * @see https://tailwindcss.com/docs/grid-row
660
887
  */
661
888
  "row-end": [{
662
- "row-end": U()
889
+ "row-end": scaleGridColRowStartOrEnd()
663
890
  }],
664
891
  /**
665
892
  * Grid Auto Flow
@@ -673,70 +900,70 @@ const f = (e) => {
673
900
  * @see https://tailwindcss.com/docs/grid-auto-columns
674
901
  */
675
902
  "auto-cols": [{
676
- "auto-cols": le()
903
+ "auto-cols": scaleGridAutoColsRows()
677
904
  }],
678
905
  /**
679
906
  * Grid Auto Rows
680
907
  * @see https://tailwindcss.com/docs/grid-auto-rows
681
908
  */
682
909
  "auto-rows": [{
683
- "auto-rows": le()
910
+ "auto-rows": scaleGridAutoColsRows()
684
911
  }],
685
912
  /**
686
913
  * Gap
687
914
  * @see https://tailwindcss.com/docs/gap
688
915
  */
689
916
  gap: [{
690
- gap: c()
917
+ gap: scaleUnambiguousSpacing()
691
918
  }],
692
919
  /**
693
920
  * Gap X
694
921
  * @see https://tailwindcss.com/docs/gap
695
922
  */
696
923
  "gap-x": [{
697
- "gap-x": c()
924
+ "gap-x": scaleUnambiguousSpacing()
698
925
  }],
699
926
  /**
700
927
  * Gap Y
701
928
  * @see https://tailwindcss.com/docs/gap
702
929
  */
703
930
  "gap-y": [{
704
- "gap-y": c()
931
+ "gap-y": scaleUnambiguousSpacing()
705
932
  }],
706
933
  /**
707
934
  * Justify Content
708
935
  * @see https://tailwindcss.com/docs/justify-content
709
936
  */
710
937
  "justify-content": [{
711
- justify: [...Q(), "normal"]
938
+ justify: [...scaleAlignPrimaryAxis(), "normal"]
712
939
  }],
713
940
  /**
714
941
  * Justify Items
715
942
  * @see https://tailwindcss.com/docs/justify-items
716
943
  */
717
944
  "justify-items": [{
718
- "justify-items": [...N(), "normal"]
945
+ "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
719
946
  }],
720
947
  /**
721
948
  * Justify Self
722
949
  * @see https://tailwindcss.com/docs/justify-self
723
950
  */
724
951
  "justify-self": [{
725
- "justify-self": ["auto", ...N()]
952
+ "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
726
953
  }],
727
954
  /**
728
955
  * Align Content
729
956
  * @see https://tailwindcss.com/docs/align-content
730
957
  */
731
958
  "align-content": [{
732
- content: ["normal", ...Q()]
959
+ content: ["normal", ...scaleAlignPrimaryAxis()]
733
960
  }],
734
961
  /**
735
962
  * Align Items
736
963
  * @see https://tailwindcss.com/docs/align-items
737
964
  */
738
965
  "align-items": [{
739
- items: [...N(), {
966
+ items: [...scaleAlignSecondaryAxis(), {
740
967
  baseline: ["", "last"]
741
968
  }]
742
969
  }],
@@ -745,7 +972,7 @@ const f = (e) => {
745
972
  * @see https://tailwindcss.com/docs/align-self
746
973
  */
747
974
  "align-self": [{
748
- self: ["auto", ...N(), {
975
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
749
976
  baseline: ["", "last"]
750
977
  }]
751
978
  }],
@@ -754,21 +981,21 @@ const f = (e) => {
754
981
  * @see https://tailwindcss.com/docs/place-content
755
982
  */
756
983
  "place-content": [{
757
- "place-content": Q()
984
+ "place-content": scaleAlignPrimaryAxis()
758
985
  }],
759
986
  /**
760
987
  * Place Items
761
988
  * @see https://tailwindcss.com/docs/place-items
762
989
  */
763
990
  "place-items": [{
764
- "place-items": [...N(), "baseline"]
991
+ "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
765
992
  }],
766
993
  /**
767
994
  * Place Self
768
995
  * @see https://tailwindcss.com/docs/place-self
769
996
  */
770
997
  "place-self": [{
771
- "place-self": ["auto", ...N()]
998
+ "place-self": ["auto", ...scaleAlignSecondaryAxis()]
772
999
  }],
773
1000
  // Spacing
774
1001
  /**
@@ -776,133 +1003,133 @@ const f = (e) => {
776
1003
  * @see https://tailwindcss.com/docs/padding
777
1004
  */
778
1005
  p: [{
779
- p: c()
1006
+ p: scaleUnambiguousSpacing()
780
1007
  }],
781
1008
  /**
782
1009
  * Padding X
783
1010
  * @see https://tailwindcss.com/docs/padding
784
1011
  */
785
1012
  px: [{
786
- px: c()
1013
+ px: scaleUnambiguousSpacing()
787
1014
  }],
788
1015
  /**
789
1016
  * Padding Y
790
1017
  * @see https://tailwindcss.com/docs/padding
791
1018
  */
792
1019
  py: [{
793
- py: c()
1020
+ py: scaleUnambiguousSpacing()
794
1021
  }],
795
1022
  /**
796
1023
  * Padding Start
797
1024
  * @see https://tailwindcss.com/docs/padding
798
1025
  */
799
1026
  ps: [{
800
- ps: c()
1027
+ ps: scaleUnambiguousSpacing()
801
1028
  }],
802
1029
  /**
803
1030
  * Padding End
804
1031
  * @see https://tailwindcss.com/docs/padding
805
1032
  */
806
1033
  pe: [{
807
- pe: c()
1034
+ pe: scaleUnambiguousSpacing()
808
1035
  }],
809
1036
  /**
810
1037
  * Padding Top
811
1038
  * @see https://tailwindcss.com/docs/padding
812
1039
  */
813
1040
  pt: [{
814
- pt: c()
1041
+ pt: scaleUnambiguousSpacing()
815
1042
  }],
816
1043
  /**
817
1044
  * Padding Right
818
1045
  * @see https://tailwindcss.com/docs/padding
819
1046
  */
820
1047
  pr: [{
821
- pr: c()
1048
+ pr: scaleUnambiguousSpacing()
822
1049
  }],
823
1050
  /**
824
1051
  * Padding Bottom
825
1052
  * @see https://tailwindcss.com/docs/padding
826
1053
  */
827
1054
  pb: [{
828
- pb: c()
1055
+ pb: scaleUnambiguousSpacing()
829
1056
  }],
830
1057
  /**
831
1058
  * Padding Left
832
1059
  * @see https://tailwindcss.com/docs/padding
833
1060
  */
834
1061
  pl: [{
835
- pl: c()
1062
+ pl: scaleUnambiguousSpacing()
836
1063
  }],
837
1064
  /**
838
1065
  * Margin
839
1066
  * @see https://tailwindcss.com/docs/margin
840
1067
  */
841
1068
  m: [{
842
- m: z()
1069
+ m: scaleMargin()
843
1070
  }],
844
1071
  /**
845
1072
  * Margin X
846
1073
  * @see https://tailwindcss.com/docs/margin
847
1074
  */
848
1075
  mx: [{
849
- mx: z()
1076
+ mx: scaleMargin()
850
1077
  }],
851
1078
  /**
852
1079
  * Margin Y
853
1080
  * @see https://tailwindcss.com/docs/margin
854
1081
  */
855
1082
  my: [{
856
- my: z()
1083
+ my: scaleMargin()
857
1084
  }],
858
1085
  /**
859
1086
  * Margin Start
860
1087
  * @see https://tailwindcss.com/docs/margin
861
1088
  */
862
1089
  ms: [{
863
- ms: z()
1090
+ ms: scaleMargin()
864
1091
  }],
865
1092
  /**
866
1093
  * Margin End
867
1094
  * @see https://tailwindcss.com/docs/margin
868
1095
  */
869
1096
  me: [{
870
- me: z()
1097
+ me: scaleMargin()
871
1098
  }],
872
1099
  /**
873
1100
  * Margin Top
874
1101
  * @see https://tailwindcss.com/docs/margin
875
1102
  */
876
1103
  mt: [{
877
- mt: z()
1104
+ mt: scaleMargin()
878
1105
  }],
879
1106
  /**
880
1107
  * Margin Right
881
1108
  * @see https://tailwindcss.com/docs/margin
882
1109
  */
883
1110
  mr: [{
884
- mr: z()
1111
+ mr: scaleMargin()
885
1112
  }],
886
1113
  /**
887
1114
  * Margin Bottom
888
1115
  * @see https://tailwindcss.com/docs/margin
889
1116
  */
890
1117
  mb: [{
891
- mb: z()
1118
+ mb: scaleMargin()
892
1119
  }],
893
1120
  /**
894
1121
  * Margin Left
895
1122
  * @see https://tailwindcss.com/docs/margin
896
1123
  */
897
1124
  ml: [{
898
- ml: z()
1125
+ ml: scaleMargin()
899
1126
  }],
900
1127
  /**
901
1128
  * Space Between X
902
1129
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
903
1130
  */
904
1131
  "space-x": [{
905
- "space-x": c()
1132
+ "space-x": scaleUnambiguousSpacing()
906
1133
  }],
907
1134
  /**
908
1135
  * Space Between X Reverse
@@ -914,7 +1141,7 @@ const f = (e) => {
914
1141
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
915
1142
  */
916
1143
  "space-y": [{
917
- "space-y": c()
1144
+ "space-y": scaleUnambiguousSpacing()
918
1145
  }],
919
1146
  /**
920
1147
  * Space Between Y Reverse
@@ -929,14 +1156,14 @@ const f = (e) => {
929
1156
  * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
930
1157
  */
931
1158
  size: [{
932
- size: P()
1159
+ size: scaleSizing()
933
1160
  }],
934
1161
  /**
935
1162
  * Width
936
1163
  * @see https://tailwindcss.com/docs/width
937
1164
  */
938
1165
  w: [{
939
- w: [u, "screen", ...P()]
1166
+ w: [themeContainer, "screen", ...scaleSizing()]
940
1167
  }],
941
1168
  /**
942
1169
  * Min-Width
@@ -944,11 +1171,11 @@ const f = (e) => {
944
1171
  */
945
1172
  "min-w": [{
946
1173
  "min-w": [
947
- u,
1174
+ themeContainer,
948
1175
  "screen",
949
1176
  /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
950
1177
  "none",
951
- ...P()
1178
+ ...scaleSizing()
952
1179
  ]
953
1180
  }],
954
1181
  /**
@@ -957,16 +1184,16 @@ const f = (e) => {
957
1184
  */
958
1185
  "max-w": [{
959
1186
  "max-w": [
960
- u,
1187
+ themeContainer,
961
1188
  "screen",
962
1189
  "none",
963
1190
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
964
1191
  "prose",
965
1192
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
966
1193
  {
967
- screen: [l]
1194
+ screen: [themeBreakpoint]
968
1195
  },
969
- ...P()
1196
+ ...scaleSizing()
970
1197
  ]
971
1198
  }],
972
1199
  /**
@@ -974,21 +1201,21 @@ const f = (e) => {
974
1201
  * @see https://tailwindcss.com/docs/height
975
1202
  */
976
1203
  h: [{
977
- h: ["screen", "lh", ...P()]
1204
+ h: ["screen", "lh", ...scaleSizing()]
978
1205
  }],
979
1206
  /**
980
1207
  * Min-Height
981
1208
  * @see https://tailwindcss.com/docs/min-height
982
1209
  */
983
1210
  "min-h": [{
984
- "min-h": ["screen", "lh", "none", ...P()]
1211
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
985
1212
  }],
986
1213
  /**
987
1214
  * Max-Height
988
1215
  * @see https://tailwindcss.com/docs/max-height
989
1216
  */
990
1217
  "max-h": [{
991
- "max-h": ["screen", "lh", ...P()]
1218
+ "max-h": ["screen", "lh", ...scaleSizing()]
992
1219
  }],
993
1220
  // ------------------
994
1221
  // --- Typography ---
@@ -998,7 +1225,7 @@ const f = (e) => {
998
1225
  * @see https://tailwindcss.com/docs/font-size
999
1226
  */
1000
1227
  "font-size": [{
1001
- text: ["base", r, W, R]
1228
+ text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
1002
1229
  }],
1003
1230
  /**
1004
1231
  * Font Smoothing
@@ -1015,21 +1242,21 @@ const f = (e) => {
1015
1242
  * @see https://tailwindcss.com/docs/font-weight
1016
1243
  */
1017
1244
  "font-weight": [{
1018
- font: [o, s, oe]
1245
+ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
1019
1246
  }],
1020
1247
  /**
1021
1248
  * Font Stretch
1022
1249
  * @see https://tailwindcss.com/docs/font-stretch
1023
1250
  */
1024
1251
  "font-stretch": [{
1025
- "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", ee, t]
1252
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
1026
1253
  }],
1027
1254
  /**
1028
1255
  * Font Family
1029
1256
  * @see https://tailwindcss.com/docs/font-family
1030
1257
  */
1031
1258
  "font-family": [{
1032
- font: [to, t, n]
1259
+ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
1033
1260
  }],
1034
1261
  /**
1035
1262
  * Font Variant Numeric
@@ -1066,14 +1293,14 @@ const f = (e) => {
1066
1293
  * @see https://tailwindcss.com/docs/letter-spacing
1067
1294
  */
1068
1295
  tracking: [{
1069
- tracking: [i, s, t]
1296
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
1070
1297
  }],
1071
1298
  /**
1072
1299
  * Line Clamp
1073
1300
  * @see https://tailwindcss.com/docs/line-clamp
1074
1301
  */
1075
1302
  "line-clamp": [{
1076
- "line-clamp": [d, "none", s, oe]
1303
+ "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
1077
1304
  }],
1078
1305
  /**
1079
1306
  * Line Height
@@ -1082,8 +1309,8 @@ const f = (e) => {
1082
1309
  leading: [{
1083
1310
  leading: [
1084
1311
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1085
- m,
1086
- ...c()
1312
+ themeLeading,
1313
+ ...scaleUnambiguousSpacing()
1087
1314
  ]
1088
1315
  }],
1089
1316
  /**
@@ -1091,7 +1318,7 @@ const f = (e) => {
1091
1318
  * @see https://tailwindcss.com/docs/list-style-image
1092
1319
  */
1093
1320
  "list-image": [{
1094
- "list-image": ["none", s, t]
1321
+ "list-image": ["none", isArbitraryVariable, isArbitraryValue]
1095
1322
  }],
1096
1323
  /**
1097
1324
  * List Style Position
@@ -1105,7 +1332,7 @@ const f = (e) => {
1105
1332
  * @see https://tailwindcss.com/docs/list-style-type
1106
1333
  */
1107
1334
  "list-style-type": [{
1108
- list: ["disc", "decimal", "none", s, t]
1335
+ list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
1109
1336
  }],
1110
1337
  /**
1111
1338
  * Text Alignment
@@ -1120,14 +1347,14 @@ const f = (e) => {
1120
1347
  * @see https://v3.tailwindcss.com/docs/placeholder-color
1121
1348
  */
1122
1349
  "placeholder-color": [{
1123
- placeholder: a()
1350
+ placeholder: scaleColor()
1124
1351
  }],
1125
1352
  /**
1126
1353
  * Text Color
1127
1354
  * @see https://tailwindcss.com/docs/text-color
1128
1355
  */
1129
1356
  "text-color": [{
1130
- text: a()
1357
+ text: scaleColor()
1131
1358
  }],
1132
1359
  /**
1133
1360
  * Text Decoration
@@ -1139,28 +1366,28 @@ const f = (e) => {
1139
1366
  * @see https://tailwindcss.com/docs/text-decoration-style
1140
1367
  */
1141
1368
  "text-decoration-style": [{
1142
- decoration: [...q(), "wavy"]
1369
+ decoration: [...scaleLineStyle(), "wavy"]
1143
1370
  }],
1144
1371
  /**
1145
1372
  * Text Decoration Thickness
1146
1373
  * @see https://tailwindcss.com/docs/text-decoration-thickness
1147
1374
  */
1148
1375
  "text-decoration-thickness": [{
1149
- decoration: [d, "from-font", "auto", s, R]
1376
+ decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
1150
1377
  }],
1151
1378
  /**
1152
1379
  * Text Decoration Color
1153
1380
  * @see https://tailwindcss.com/docs/text-decoration-color
1154
1381
  */
1155
1382
  "text-decoration-color": [{
1156
- decoration: a()
1383
+ decoration: scaleColor()
1157
1384
  }],
1158
1385
  /**
1159
1386
  * Text Underline Offset
1160
1387
  * @see https://tailwindcss.com/docs/text-underline-offset
1161
1388
  */
1162
1389
  "underline-offset": [{
1163
- "underline-offset": [d, "auto", s, t]
1390
+ "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
1164
1391
  }],
1165
1392
  /**
1166
1393
  * Text Transform
@@ -1184,14 +1411,14 @@ const f = (e) => {
1184
1411
  * @see https://tailwindcss.com/docs/text-indent
1185
1412
  */
1186
1413
  indent: [{
1187
- indent: c()
1414
+ indent: scaleUnambiguousSpacing()
1188
1415
  }],
1189
1416
  /**
1190
1417
  * Vertical Alignment
1191
1418
  * @see https://tailwindcss.com/docs/vertical-align
1192
1419
  */
1193
1420
  "vertical-align": [{
1194
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", s, t]
1421
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
1195
1422
  }],
1196
1423
  /**
1197
1424
  * Whitespace
@@ -1226,7 +1453,7 @@ const f = (e) => {
1226
1453
  * @see https://tailwindcss.com/docs/content
1227
1454
  */
1228
1455
  content: [{
1229
- content: ["none", s, t]
1456
+ content: ["none", isArbitraryVariable, isArbitraryValue]
1230
1457
  }],
1231
1458
  // -------------------
1232
1459
  // --- Backgrounds ---
@@ -1257,21 +1484,21 @@ const f = (e) => {
1257
1484
  * @see https://tailwindcss.com/docs/background-position
1258
1485
  */
1259
1486
  "bg-position": [{
1260
- bg: ce()
1487
+ bg: scaleBgPosition()
1261
1488
  }],
1262
1489
  /**
1263
1490
  * Background Repeat
1264
1491
  * @see https://tailwindcss.com/docs/background-repeat
1265
1492
  */
1266
1493
  "bg-repeat": [{
1267
- bg: de()
1494
+ bg: scaleBgRepeat()
1268
1495
  }],
1269
1496
  /**
1270
1497
  * Background Size
1271
1498
  * @see https://tailwindcss.com/docs/background-size
1272
1499
  */
1273
1500
  "bg-size": [{
1274
- bg: me()
1501
+ bg: scaleBgSize()
1275
1502
  }],
1276
1503
  /**
1277
1504
  * Background Image
@@ -1281,59 +1508,59 @@ const f = (e) => {
1281
1508
  bg: ["none", {
1282
1509
  linear: [{
1283
1510
  to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1284
- }, S, s, t],
1285
- radial: ["", s, t],
1286
- conic: [S, s, t]
1287
- }, no, ro]
1511
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
1512
+ radial: ["", isArbitraryVariable, isArbitraryValue],
1513
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
1514
+ }, isArbitraryVariableImage, isArbitraryImage]
1288
1515
  }],
1289
1516
  /**
1290
1517
  * Background Color
1291
1518
  * @see https://tailwindcss.com/docs/background-color
1292
1519
  */
1293
1520
  "bg-color": [{
1294
- bg: a()
1521
+ bg: scaleColor()
1295
1522
  }],
1296
1523
  /**
1297
1524
  * Gradient Color Stops From Position
1298
1525
  * @see https://tailwindcss.com/docs/gradient-color-stops
1299
1526
  */
1300
1527
  "gradient-from-pos": [{
1301
- from: Y()
1528
+ from: scaleGradientStopPosition()
1302
1529
  }],
1303
1530
  /**
1304
1531
  * Gradient Color Stops Via Position
1305
1532
  * @see https://tailwindcss.com/docs/gradient-color-stops
1306
1533
  */
1307
1534
  "gradient-via-pos": [{
1308
- via: Y()
1535
+ via: scaleGradientStopPosition()
1309
1536
  }],
1310
1537
  /**
1311
1538
  * Gradient Color Stops To Position
1312
1539
  * @see https://tailwindcss.com/docs/gradient-color-stops
1313
1540
  */
1314
1541
  "gradient-to-pos": [{
1315
- to: Y()
1542
+ to: scaleGradientStopPosition()
1316
1543
  }],
1317
1544
  /**
1318
1545
  * Gradient Color Stops From
1319
1546
  * @see https://tailwindcss.com/docs/gradient-color-stops
1320
1547
  */
1321
1548
  "gradient-from": [{
1322
- from: a()
1549
+ from: scaleColor()
1323
1550
  }],
1324
1551
  /**
1325
1552
  * Gradient Color Stops Via
1326
1553
  * @see https://tailwindcss.com/docs/gradient-color-stops
1327
1554
  */
1328
1555
  "gradient-via": [{
1329
- via: a()
1556
+ via: scaleColor()
1330
1557
  }],
1331
1558
  /**
1332
1559
  * Gradient Color Stops To
1333
1560
  * @see https://tailwindcss.com/docs/gradient-color-stops
1334
1561
  */
1335
1562
  "gradient-to": [{
1336
- to: a()
1563
+ to: scaleColor()
1337
1564
  }],
1338
1565
  // ---------------
1339
1566
  // --- Borders ---
@@ -1343,175 +1570,175 @@ const f = (e) => {
1343
1570
  * @see https://tailwindcss.com/docs/border-radius
1344
1571
  */
1345
1572
  rounded: [{
1346
- rounded: x()
1573
+ rounded: scaleRadius()
1347
1574
  }],
1348
1575
  /**
1349
1576
  * Border Radius Start
1350
1577
  * @see https://tailwindcss.com/docs/border-radius
1351
1578
  */
1352
1579
  "rounded-s": [{
1353
- "rounded-s": x()
1580
+ "rounded-s": scaleRadius()
1354
1581
  }],
1355
1582
  /**
1356
1583
  * Border Radius End
1357
1584
  * @see https://tailwindcss.com/docs/border-radius
1358
1585
  */
1359
1586
  "rounded-e": [{
1360
- "rounded-e": x()
1587
+ "rounded-e": scaleRadius()
1361
1588
  }],
1362
1589
  /**
1363
1590
  * Border Radius Top
1364
1591
  * @see https://tailwindcss.com/docs/border-radius
1365
1592
  */
1366
1593
  "rounded-t": [{
1367
- "rounded-t": x()
1594
+ "rounded-t": scaleRadius()
1368
1595
  }],
1369
1596
  /**
1370
1597
  * Border Radius Right
1371
1598
  * @see https://tailwindcss.com/docs/border-radius
1372
1599
  */
1373
1600
  "rounded-r": [{
1374
- "rounded-r": x()
1601
+ "rounded-r": scaleRadius()
1375
1602
  }],
1376
1603
  /**
1377
1604
  * Border Radius Bottom
1378
1605
  * @see https://tailwindcss.com/docs/border-radius
1379
1606
  */
1380
1607
  "rounded-b": [{
1381
- "rounded-b": x()
1608
+ "rounded-b": scaleRadius()
1382
1609
  }],
1383
1610
  /**
1384
1611
  * Border Radius Left
1385
1612
  * @see https://tailwindcss.com/docs/border-radius
1386
1613
  */
1387
1614
  "rounded-l": [{
1388
- "rounded-l": x()
1615
+ "rounded-l": scaleRadius()
1389
1616
  }],
1390
1617
  /**
1391
1618
  * Border Radius Start Start
1392
1619
  * @see https://tailwindcss.com/docs/border-radius
1393
1620
  */
1394
1621
  "rounded-ss": [{
1395
- "rounded-ss": x()
1622
+ "rounded-ss": scaleRadius()
1396
1623
  }],
1397
1624
  /**
1398
1625
  * Border Radius Start End
1399
1626
  * @see https://tailwindcss.com/docs/border-radius
1400
1627
  */
1401
1628
  "rounded-se": [{
1402
- "rounded-se": x()
1629
+ "rounded-se": scaleRadius()
1403
1630
  }],
1404
1631
  /**
1405
1632
  * Border Radius End End
1406
1633
  * @see https://tailwindcss.com/docs/border-radius
1407
1634
  */
1408
1635
  "rounded-ee": [{
1409
- "rounded-ee": x()
1636
+ "rounded-ee": scaleRadius()
1410
1637
  }],
1411
1638
  /**
1412
1639
  * Border Radius End Start
1413
1640
  * @see https://tailwindcss.com/docs/border-radius
1414
1641
  */
1415
1642
  "rounded-es": [{
1416
- "rounded-es": x()
1643
+ "rounded-es": scaleRadius()
1417
1644
  }],
1418
1645
  /**
1419
1646
  * Border Radius Top Left
1420
1647
  * @see https://tailwindcss.com/docs/border-radius
1421
1648
  */
1422
1649
  "rounded-tl": [{
1423
- "rounded-tl": x()
1650
+ "rounded-tl": scaleRadius()
1424
1651
  }],
1425
1652
  /**
1426
1653
  * Border Radius Top Right
1427
1654
  * @see https://tailwindcss.com/docs/border-radius
1428
1655
  */
1429
1656
  "rounded-tr": [{
1430
- "rounded-tr": x()
1657
+ "rounded-tr": scaleRadius()
1431
1658
  }],
1432
1659
  /**
1433
1660
  * Border Radius Bottom Right
1434
1661
  * @see https://tailwindcss.com/docs/border-radius
1435
1662
  */
1436
1663
  "rounded-br": [{
1437
- "rounded-br": x()
1664
+ "rounded-br": scaleRadius()
1438
1665
  }],
1439
1666
  /**
1440
1667
  * Border Radius Bottom Left
1441
1668
  * @see https://tailwindcss.com/docs/border-radius
1442
1669
  */
1443
1670
  "rounded-bl": [{
1444
- "rounded-bl": x()
1671
+ "rounded-bl": scaleRadius()
1445
1672
  }],
1446
1673
  /**
1447
1674
  * Border Width
1448
1675
  * @see https://tailwindcss.com/docs/border-width
1449
1676
  */
1450
1677
  "border-w": [{
1451
- border: w()
1678
+ border: scaleBorderWidth()
1452
1679
  }],
1453
1680
  /**
1454
1681
  * Border Width X
1455
1682
  * @see https://tailwindcss.com/docs/border-width
1456
1683
  */
1457
1684
  "border-w-x": [{
1458
- "border-x": w()
1685
+ "border-x": scaleBorderWidth()
1459
1686
  }],
1460
1687
  /**
1461
1688
  * Border Width Y
1462
1689
  * @see https://tailwindcss.com/docs/border-width
1463
1690
  */
1464
1691
  "border-w-y": [{
1465
- "border-y": w()
1692
+ "border-y": scaleBorderWidth()
1466
1693
  }],
1467
1694
  /**
1468
1695
  * Border Width Start
1469
1696
  * @see https://tailwindcss.com/docs/border-width
1470
1697
  */
1471
1698
  "border-w-s": [{
1472
- "border-s": w()
1699
+ "border-s": scaleBorderWidth()
1473
1700
  }],
1474
1701
  /**
1475
1702
  * Border Width End
1476
1703
  * @see https://tailwindcss.com/docs/border-width
1477
1704
  */
1478
1705
  "border-w-e": [{
1479
- "border-e": w()
1706
+ "border-e": scaleBorderWidth()
1480
1707
  }],
1481
1708
  /**
1482
1709
  * Border Width Top
1483
1710
  * @see https://tailwindcss.com/docs/border-width
1484
1711
  */
1485
1712
  "border-w-t": [{
1486
- "border-t": w()
1713
+ "border-t": scaleBorderWidth()
1487
1714
  }],
1488
1715
  /**
1489
1716
  * Border Width Right
1490
1717
  * @see https://tailwindcss.com/docs/border-width
1491
1718
  */
1492
1719
  "border-w-r": [{
1493
- "border-r": w()
1720
+ "border-r": scaleBorderWidth()
1494
1721
  }],
1495
1722
  /**
1496
1723
  * Border Width Bottom
1497
1724
  * @see https://tailwindcss.com/docs/border-width
1498
1725
  */
1499
1726
  "border-w-b": [{
1500
- "border-b": w()
1727
+ "border-b": scaleBorderWidth()
1501
1728
  }],
1502
1729
  /**
1503
1730
  * Border Width Left
1504
1731
  * @see https://tailwindcss.com/docs/border-width
1505
1732
  */
1506
1733
  "border-w-l": [{
1507
- "border-l": w()
1734
+ "border-l": scaleBorderWidth()
1508
1735
  }],
1509
1736
  /**
1510
1737
  * Divide Width X
1511
1738
  * @see https://tailwindcss.com/docs/border-width#between-children
1512
1739
  */
1513
1740
  "divide-x": [{
1514
- "divide-x": w()
1741
+ "divide-x": scaleBorderWidth()
1515
1742
  }],
1516
1743
  /**
1517
1744
  * Divide Width X Reverse
@@ -1523,7 +1750,7 @@ const f = (e) => {
1523
1750
  * @see https://tailwindcss.com/docs/border-width#between-children
1524
1751
  */
1525
1752
  "divide-y": [{
1526
- "divide-y": w()
1753
+ "divide-y": scaleBorderWidth()
1527
1754
  }],
1528
1755
  /**
1529
1756
  * Divide Width Y Reverse
@@ -1535,112 +1762,112 @@ const f = (e) => {
1535
1762
  * @see https://tailwindcss.com/docs/border-style
1536
1763
  */
1537
1764
  "border-style": [{
1538
- border: [...q(), "hidden", "none"]
1765
+ border: [...scaleLineStyle(), "hidden", "none"]
1539
1766
  }],
1540
1767
  /**
1541
1768
  * Divide Style
1542
1769
  * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1543
1770
  */
1544
1771
  "divide-style": [{
1545
- divide: [...q(), "hidden", "none"]
1772
+ divide: [...scaleLineStyle(), "hidden", "none"]
1546
1773
  }],
1547
1774
  /**
1548
1775
  * Border Color
1549
1776
  * @see https://tailwindcss.com/docs/border-color
1550
1777
  */
1551
1778
  "border-color": [{
1552
- border: a()
1779
+ border: scaleColor()
1553
1780
  }],
1554
1781
  /**
1555
1782
  * Border Color X
1556
1783
  * @see https://tailwindcss.com/docs/border-color
1557
1784
  */
1558
1785
  "border-color-x": [{
1559
- "border-x": a()
1786
+ "border-x": scaleColor()
1560
1787
  }],
1561
1788
  /**
1562
1789
  * Border Color Y
1563
1790
  * @see https://tailwindcss.com/docs/border-color
1564
1791
  */
1565
1792
  "border-color-y": [{
1566
- "border-y": a()
1793
+ "border-y": scaleColor()
1567
1794
  }],
1568
1795
  /**
1569
1796
  * Border Color S
1570
1797
  * @see https://tailwindcss.com/docs/border-color
1571
1798
  */
1572
1799
  "border-color-s": [{
1573
- "border-s": a()
1800
+ "border-s": scaleColor()
1574
1801
  }],
1575
1802
  /**
1576
1803
  * Border Color E
1577
1804
  * @see https://tailwindcss.com/docs/border-color
1578
1805
  */
1579
1806
  "border-color-e": [{
1580
- "border-e": a()
1807
+ "border-e": scaleColor()
1581
1808
  }],
1582
1809
  /**
1583
1810
  * Border Color Top
1584
1811
  * @see https://tailwindcss.com/docs/border-color
1585
1812
  */
1586
1813
  "border-color-t": [{
1587
- "border-t": a()
1814
+ "border-t": scaleColor()
1588
1815
  }],
1589
1816
  /**
1590
1817
  * Border Color Right
1591
1818
  * @see https://tailwindcss.com/docs/border-color
1592
1819
  */
1593
1820
  "border-color-r": [{
1594
- "border-r": a()
1821
+ "border-r": scaleColor()
1595
1822
  }],
1596
1823
  /**
1597
1824
  * Border Color Bottom
1598
1825
  * @see https://tailwindcss.com/docs/border-color
1599
1826
  */
1600
1827
  "border-color-b": [{
1601
- "border-b": a()
1828
+ "border-b": scaleColor()
1602
1829
  }],
1603
1830
  /**
1604
1831
  * Border Color Left
1605
1832
  * @see https://tailwindcss.com/docs/border-color
1606
1833
  */
1607
1834
  "border-color-l": [{
1608
- "border-l": a()
1835
+ "border-l": scaleColor()
1609
1836
  }],
1610
1837
  /**
1611
1838
  * Divide Color
1612
1839
  * @see https://tailwindcss.com/docs/divide-color
1613
1840
  */
1614
1841
  "divide-color": [{
1615
- divide: a()
1842
+ divide: scaleColor()
1616
1843
  }],
1617
1844
  /**
1618
1845
  * Outline Style
1619
1846
  * @see https://tailwindcss.com/docs/outline-style
1620
1847
  */
1621
1848
  "outline-style": [{
1622
- outline: [...q(), "none", "hidden"]
1849
+ outline: [...scaleLineStyle(), "none", "hidden"]
1623
1850
  }],
1624
1851
  /**
1625
1852
  * Outline Offset
1626
1853
  * @see https://tailwindcss.com/docs/outline-offset
1627
1854
  */
1628
1855
  "outline-offset": [{
1629
- "outline-offset": [d, s, t]
1856
+ "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
1630
1857
  }],
1631
1858
  /**
1632
1859
  * Outline Width
1633
1860
  * @see https://tailwindcss.com/docs/outline-width
1634
1861
  */
1635
1862
  "outline-w": [{
1636
- outline: ["", d, W, R]
1863
+ outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
1637
1864
  }],
1638
1865
  /**
1639
1866
  * Outline Color
1640
1867
  * @see https://tailwindcss.com/docs/outline-color
1641
1868
  */
1642
1869
  "outline-color": [{
1643
- outline: a()
1870
+ outline: scaleColor()
1644
1871
  }],
1645
1872
  // ---------------
1646
1873
  // --- Effects ---
@@ -1654,9 +1881,9 @@ const f = (e) => {
1654
1881
  // Deprecated since Tailwind CSS v4.0.0
1655
1882
  "",
1656
1883
  "none",
1657
- h,
1658
- K,
1659
- D
1884
+ themeShadow,
1885
+ isArbitraryVariableShadow,
1886
+ isArbitraryShadow
1660
1887
  ]
1661
1888
  }],
1662
1889
  /**
@@ -1664,28 +1891,28 @@ const f = (e) => {
1664
1891
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1665
1892
  */
1666
1893
  "shadow-color": [{
1667
- shadow: a()
1894
+ shadow: scaleColor()
1668
1895
  }],
1669
1896
  /**
1670
1897
  * Inset Box Shadow
1671
1898
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1672
1899
  */
1673
1900
  "inset-shadow": [{
1674
- "inset-shadow": ["none", M, K, D]
1901
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
1675
1902
  }],
1676
1903
  /**
1677
1904
  * Inset Box Shadow Color
1678
1905
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1679
1906
  */
1680
1907
  "inset-shadow-color": [{
1681
- "inset-shadow": a()
1908
+ "inset-shadow": scaleColor()
1682
1909
  }],
1683
1910
  /**
1684
1911
  * Ring Width
1685
1912
  * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1686
1913
  */
1687
1914
  "ring-w": [{
1688
- ring: w()
1915
+ ring: scaleBorderWidth()
1689
1916
  }],
1690
1917
  /**
1691
1918
  * Ring Width Inset
@@ -1699,7 +1926,7 @@ const f = (e) => {
1699
1926
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1700
1927
  */
1701
1928
  "ring-color": [{
1702
- ring: a()
1929
+ ring: scaleColor()
1703
1930
  }],
1704
1931
  /**
1705
1932
  * Ring Offset Width
@@ -1708,7 +1935,7 @@ const f = (e) => {
1708
1935
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1709
1936
  */
1710
1937
  "ring-offset-w": [{
1711
- "ring-offset": [d, R]
1938
+ "ring-offset": [isNumber, isArbitraryLength]
1712
1939
  }],
1713
1940
  /**
1714
1941
  * Ring Offset Color
@@ -1717,56 +1944,56 @@ const f = (e) => {
1717
1944
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1718
1945
  */
1719
1946
  "ring-offset-color": [{
1720
- "ring-offset": a()
1947
+ "ring-offset": scaleColor()
1721
1948
  }],
1722
1949
  /**
1723
1950
  * Inset Ring Width
1724
1951
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1725
1952
  */
1726
1953
  "inset-ring-w": [{
1727
- "inset-ring": w()
1954
+ "inset-ring": scaleBorderWidth()
1728
1955
  }],
1729
1956
  /**
1730
1957
  * Inset Ring Color
1731
1958
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
1732
1959
  */
1733
1960
  "inset-ring-color": [{
1734
- "inset-ring": a()
1961
+ "inset-ring": scaleColor()
1735
1962
  }],
1736
1963
  /**
1737
1964
  * Text Shadow
1738
1965
  * @see https://tailwindcss.com/docs/text-shadow
1739
1966
  */
1740
1967
  "text-shadow": [{
1741
- "text-shadow": ["none", O, K, D]
1968
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
1742
1969
  }],
1743
1970
  /**
1744
1971
  * Text Shadow Color
1745
1972
  * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
1746
1973
  */
1747
1974
  "text-shadow-color": [{
1748
- "text-shadow": a()
1975
+ "text-shadow": scaleColor()
1749
1976
  }],
1750
1977
  /**
1751
1978
  * Opacity
1752
1979
  * @see https://tailwindcss.com/docs/opacity
1753
1980
  */
1754
1981
  opacity: [{
1755
- opacity: [d, s, t]
1982
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
1756
1983
  }],
1757
1984
  /**
1758
1985
  * Mix Blend Mode
1759
1986
  * @see https://tailwindcss.com/docs/mix-blend-mode
1760
1987
  */
1761
1988
  "mix-blend": [{
1762
- "mix-blend": [...pe(), "plus-darker", "plus-lighter"]
1989
+ "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
1763
1990
  }],
1764
1991
  /**
1765
1992
  * Background Blend Mode
1766
1993
  * @see https://tailwindcss.com/docs/background-blend-mode
1767
1994
  */
1768
1995
  "bg-blend": [{
1769
- "bg-blend": pe()
1996
+ "bg-blend": scaleBlendMode()
1770
1997
  }],
1771
1998
  /**
1772
1999
  * Mask Clip
@@ -1787,106 +2014,106 @@ const f = (e) => {
1787
2014
  * @see https://tailwindcss.com/docs/mask-image
1788
2015
  */
1789
2016
  "mask-image-linear-pos": [{
1790
- "mask-linear": [d]
2017
+ "mask-linear": [isNumber]
1791
2018
  }],
1792
2019
  "mask-image-linear-from-pos": [{
1793
- "mask-linear-from": b()
2020
+ "mask-linear-from": scaleMaskImagePosition()
1794
2021
  }],
1795
2022
  "mask-image-linear-to-pos": [{
1796
- "mask-linear-to": b()
2023
+ "mask-linear-to": scaleMaskImagePosition()
1797
2024
  }],
1798
2025
  "mask-image-linear-from-color": [{
1799
- "mask-linear-from": a()
2026
+ "mask-linear-from": scaleColor()
1800
2027
  }],
1801
2028
  "mask-image-linear-to-color": [{
1802
- "mask-linear-to": a()
2029
+ "mask-linear-to": scaleColor()
1803
2030
  }],
1804
2031
  "mask-image-t-from-pos": [{
1805
- "mask-t-from": b()
2032
+ "mask-t-from": scaleMaskImagePosition()
1806
2033
  }],
1807
2034
  "mask-image-t-to-pos": [{
1808
- "mask-t-to": b()
2035
+ "mask-t-to": scaleMaskImagePosition()
1809
2036
  }],
1810
2037
  "mask-image-t-from-color": [{
1811
- "mask-t-from": a()
2038
+ "mask-t-from": scaleColor()
1812
2039
  }],
1813
2040
  "mask-image-t-to-color": [{
1814
- "mask-t-to": a()
2041
+ "mask-t-to": scaleColor()
1815
2042
  }],
1816
2043
  "mask-image-r-from-pos": [{
1817
- "mask-r-from": b()
2044
+ "mask-r-from": scaleMaskImagePosition()
1818
2045
  }],
1819
2046
  "mask-image-r-to-pos": [{
1820
- "mask-r-to": b()
2047
+ "mask-r-to": scaleMaskImagePosition()
1821
2048
  }],
1822
2049
  "mask-image-r-from-color": [{
1823
- "mask-r-from": a()
2050
+ "mask-r-from": scaleColor()
1824
2051
  }],
1825
2052
  "mask-image-r-to-color": [{
1826
- "mask-r-to": a()
2053
+ "mask-r-to": scaleColor()
1827
2054
  }],
1828
2055
  "mask-image-b-from-pos": [{
1829
- "mask-b-from": b()
2056
+ "mask-b-from": scaleMaskImagePosition()
1830
2057
  }],
1831
2058
  "mask-image-b-to-pos": [{
1832
- "mask-b-to": b()
2059
+ "mask-b-to": scaleMaskImagePosition()
1833
2060
  }],
1834
2061
  "mask-image-b-from-color": [{
1835
- "mask-b-from": a()
2062
+ "mask-b-from": scaleColor()
1836
2063
  }],
1837
2064
  "mask-image-b-to-color": [{
1838
- "mask-b-to": a()
2065
+ "mask-b-to": scaleColor()
1839
2066
  }],
1840
2067
  "mask-image-l-from-pos": [{
1841
- "mask-l-from": b()
2068
+ "mask-l-from": scaleMaskImagePosition()
1842
2069
  }],
1843
2070
  "mask-image-l-to-pos": [{
1844
- "mask-l-to": b()
2071
+ "mask-l-to": scaleMaskImagePosition()
1845
2072
  }],
1846
2073
  "mask-image-l-from-color": [{
1847
- "mask-l-from": a()
2074
+ "mask-l-from": scaleColor()
1848
2075
  }],
1849
2076
  "mask-image-l-to-color": [{
1850
- "mask-l-to": a()
2077
+ "mask-l-to": scaleColor()
1851
2078
  }],
1852
2079
  "mask-image-x-from-pos": [{
1853
- "mask-x-from": b()
2080
+ "mask-x-from": scaleMaskImagePosition()
1854
2081
  }],
1855
2082
  "mask-image-x-to-pos": [{
1856
- "mask-x-to": b()
2083
+ "mask-x-to": scaleMaskImagePosition()
1857
2084
  }],
1858
2085
  "mask-image-x-from-color": [{
1859
- "mask-x-from": a()
2086
+ "mask-x-from": scaleColor()
1860
2087
  }],
1861
2088
  "mask-image-x-to-color": [{
1862
- "mask-x-to": a()
2089
+ "mask-x-to": scaleColor()
1863
2090
  }],
1864
2091
  "mask-image-y-from-pos": [{
1865
- "mask-y-from": b()
2092
+ "mask-y-from": scaleMaskImagePosition()
1866
2093
  }],
1867
2094
  "mask-image-y-to-pos": [{
1868
- "mask-y-to": b()
2095
+ "mask-y-to": scaleMaskImagePosition()
1869
2096
  }],
1870
2097
  "mask-image-y-from-color": [{
1871
- "mask-y-from": a()
2098
+ "mask-y-from": scaleColor()
1872
2099
  }],
1873
2100
  "mask-image-y-to-color": [{
1874
- "mask-y-to": a()
2101
+ "mask-y-to": scaleColor()
1875
2102
  }],
1876
2103
  "mask-image-radial": [{
1877
- "mask-radial": [s, t]
2104
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
1878
2105
  }],
1879
2106
  "mask-image-radial-from-pos": [{
1880
- "mask-radial-from": b()
2107
+ "mask-radial-from": scaleMaskImagePosition()
1881
2108
  }],
1882
2109
  "mask-image-radial-to-pos": [{
1883
- "mask-radial-to": b()
2110
+ "mask-radial-to": scaleMaskImagePosition()
1884
2111
  }],
1885
2112
  "mask-image-radial-from-color": [{
1886
- "mask-radial-from": a()
2113
+ "mask-radial-from": scaleColor()
1887
2114
  }],
1888
2115
  "mask-image-radial-to-color": [{
1889
- "mask-radial-to": a()
2116
+ "mask-radial-to": scaleColor()
1890
2117
  }],
1891
2118
  "mask-image-radial-shape": [{
1892
2119
  "mask-radial": ["circle", "ellipse"]
@@ -1898,22 +2125,22 @@ const f = (e) => {
1898
2125
  }]
1899
2126
  }],
1900
2127
  "mask-image-radial-pos": [{
1901
- "mask-radial-at": T()
2128
+ "mask-radial-at": scalePosition()
1902
2129
  }],
1903
2130
  "mask-image-conic-pos": [{
1904
- "mask-conic": [d]
2131
+ "mask-conic": [isNumber]
1905
2132
  }],
1906
2133
  "mask-image-conic-from-pos": [{
1907
- "mask-conic-from": b()
2134
+ "mask-conic-from": scaleMaskImagePosition()
1908
2135
  }],
1909
2136
  "mask-image-conic-to-pos": [{
1910
- "mask-conic-to": b()
2137
+ "mask-conic-to": scaleMaskImagePosition()
1911
2138
  }],
1912
2139
  "mask-image-conic-from-color": [{
1913
- "mask-conic-from": a()
2140
+ "mask-conic-from": scaleColor()
1914
2141
  }],
1915
2142
  "mask-image-conic-to-color": [{
1916
- "mask-conic-to": a()
2143
+ "mask-conic-to": scaleColor()
1917
2144
  }],
1918
2145
  /**
1919
2146
  * Mask Mode
@@ -1934,21 +2161,21 @@ const f = (e) => {
1934
2161
  * @see https://tailwindcss.com/docs/mask-position
1935
2162
  */
1936
2163
  "mask-position": [{
1937
- mask: ce()
2164
+ mask: scaleBgPosition()
1938
2165
  }],
1939
2166
  /**
1940
2167
  * Mask Repeat
1941
2168
  * @see https://tailwindcss.com/docs/mask-repeat
1942
2169
  */
1943
2170
  "mask-repeat": [{
1944
- mask: de()
2171
+ mask: scaleBgRepeat()
1945
2172
  }],
1946
2173
  /**
1947
2174
  * Mask Size
1948
2175
  * @see https://tailwindcss.com/docs/mask-size
1949
2176
  */
1950
2177
  "mask-size": [{
1951
- mask: me()
2178
+ mask: scaleBgSize()
1952
2179
  }],
1953
2180
  /**
1954
2181
  * Mask Type
@@ -1962,7 +2189,7 @@ const f = (e) => {
1962
2189
  * @see https://tailwindcss.com/docs/mask-image
1963
2190
  */
1964
2191
  "mask-image": [{
1965
- mask: ["none", s, t]
2192
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
1966
2193
  }],
1967
2194
  // ---------------
1968
2195
  // --- Filters ---
@@ -1976,8 +2203,8 @@ const f = (e) => {
1976
2203
  // Deprecated since Tailwind CSS v3.0.0
1977
2204
  "",
1978
2205
  "none",
1979
- s,
1980
- t
2206
+ isArbitraryVariable,
2207
+ isArbitraryValue
1981
2208
  ]
1982
2209
  }],
1983
2210
  /**
@@ -1985,21 +2212,21 @@ const f = (e) => {
1985
2212
  * @see https://tailwindcss.com/docs/blur
1986
2213
  */
1987
2214
  blur: [{
1988
- blur: ue()
2215
+ blur: scaleBlur()
1989
2216
  }],
1990
2217
  /**
1991
2218
  * Brightness
1992
2219
  * @see https://tailwindcss.com/docs/brightness
1993
2220
  */
1994
2221
  brightness: [{
1995
- brightness: [d, s, t]
2222
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
1996
2223
  }],
1997
2224
  /**
1998
2225
  * Contrast
1999
2226
  * @see https://tailwindcss.com/docs/contrast
2000
2227
  */
2001
2228
  contrast: [{
2002
- contrast: [d, s, t]
2229
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
2003
2230
  }],
2004
2231
  /**
2005
2232
  * Drop Shadow
@@ -2010,9 +2237,9 @@ const f = (e) => {
2010
2237
  // Deprecated since Tailwind CSS v4.0.0
2011
2238
  "",
2012
2239
  "none",
2013
- F,
2014
- K,
2015
- D
2240
+ themeDropShadow,
2241
+ isArbitraryVariableShadow,
2242
+ isArbitraryShadow
2016
2243
  ]
2017
2244
  }],
2018
2245
  /**
@@ -2020,42 +2247,42 @@ const f = (e) => {
2020
2247
  * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2021
2248
  */
2022
2249
  "drop-shadow-color": [{
2023
- "drop-shadow": a()
2250
+ "drop-shadow": scaleColor()
2024
2251
  }],
2025
2252
  /**
2026
2253
  * Grayscale
2027
2254
  * @see https://tailwindcss.com/docs/grayscale
2028
2255
  */
2029
2256
  grayscale: [{
2030
- grayscale: ["", d, s, t]
2257
+ grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2031
2258
  }],
2032
2259
  /**
2033
2260
  * Hue Rotate
2034
2261
  * @see https://tailwindcss.com/docs/hue-rotate
2035
2262
  */
2036
2263
  "hue-rotate": [{
2037
- "hue-rotate": [d, s, t]
2264
+ "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2038
2265
  }],
2039
2266
  /**
2040
2267
  * Invert
2041
2268
  * @see https://tailwindcss.com/docs/invert
2042
2269
  */
2043
2270
  invert: [{
2044
- invert: ["", d, s, t]
2271
+ invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2045
2272
  }],
2046
2273
  /**
2047
2274
  * Saturate
2048
2275
  * @see https://tailwindcss.com/docs/saturate
2049
2276
  */
2050
2277
  saturate: [{
2051
- saturate: [d, s, t]
2278
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
2052
2279
  }],
2053
2280
  /**
2054
2281
  * Sepia
2055
2282
  * @see https://tailwindcss.com/docs/sepia
2056
2283
  */
2057
2284
  sepia: [{
2058
- sepia: ["", d, s, t]
2285
+ sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2059
2286
  }],
2060
2287
  /**
2061
2288
  * Backdrop Filter
@@ -2066,8 +2293,8 @@ const f = (e) => {
2066
2293
  // Deprecated since Tailwind CSS v3.0.0
2067
2294
  "",
2068
2295
  "none",
2069
- s,
2070
- t
2296
+ isArbitraryVariable,
2297
+ isArbitraryValue
2071
2298
  ]
2072
2299
  }],
2073
2300
  /**
@@ -2075,63 +2302,63 @@ const f = (e) => {
2075
2302
  * @see https://tailwindcss.com/docs/backdrop-blur
2076
2303
  */
2077
2304
  "backdrop-blur": [{
2078
- "backdrop-blur": ue()
2305
+ "backdrop-blur": scaleBlur()
2079
2306
  }],
2080
2307
  /**
2081
2308
  * Backdrop Brightness
2082
2309
  * @see https://tailwindcss.com/docs/backdrop-brightness
2083
2310
  */
2084
2311
  "backdrop-brightness": [{
2085
- "backdrop-brightness": [d, s, t]
2312
+ "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
2086
2313
  }],
2087
2314
  /**
2088
2315
  * Backdrop Contrast
2089
2316
  * @see https://tailwindcss.com/docs/backdrop-contrast
2090
2317
  */
2091
2318
  "backdrop-contrast": [{
2092
- "backdrop-contrast": [d, s, t]
2319
+ "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
2093
2320
  }],
2094
2321
  /**
2095
2322
  * Backdrop Grayscale
2096
2323
  * @see https://tailwindcss.com/docs/backdrop-grayscale
2097
2324
  */
2098
2325
  "backdrop-grayscale": [{
2099
- "backdrop-grayscale": ["", d, s, t]
2326
+ "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2100
2327
  }],
2101
2328
  /**
2102
2329
  * Backdrop Hue Rotate
2103
2330
  * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2104
2331
  */
2105
2332
  "backdrop-hue-rotate": [{
2106
- "backdrop-hue-rotate": [d, s, t]
2333
+ "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2107
2334
  }],
2108
2335
  /**
2109
2336
  * Backdrop Invert
2110
2337
  * @see https://tailwindcss.com/docs/backdrop-invert
2111
2338
  */
2112
2339
  "backdrop-invert": [{
2113
- "backdrop-invert": ["", d, s, t]
2340
+ "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2114
2341
  }],
2115
2342
  /**
2116
2343
  * Backdrop Opacity
2117
2344
  * @see https://tailwindcss.com/docs/backdrop-opacity
2118
2345
  */
2119
2346
  "backdrop-opacity": [{
2120
- "backdrop-opacity": [d, s, t]
2347
+ "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
2121
2348
  }],
2122
2349
  /**
2123
2350
  * Backdrop Saturate
2124
2351
  * @see https://tailwindcss.com/docs/backdrop-saturate
2125
2352
  */
2126
2353
  "backdrop-saturate": [{
2127
- "backdrop-saturate": [d, s, t]
2354
+ "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
2128
2355
  }],
2129
2356
  /**
2130
2357
  * Backdrop Sepia
2131
2358
  * @see https://tailwindcss.com/docs/backdrop-sepia
2132
2359
  */
2133
2360
  "backdrop-sepia": [{
2134
- "backdrop-sepia": ["", d, s, t]
2361
+ "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2135
2362
  }],
2136
2363
  // --------------
2137
2364
  // --- Tables ---
@@ -2148,21 +2375,21 @@ const f = (e) => {
2148
2375
  * @see https://tailwindcss.com/docs/border-spacing
2149
2376
  */
2150
2377
  "border-spacing": [{
2151
- "border-spacing": c()
2378
+ "border-spacing": scaleUnambiguousSpacing()
2152
2379
  }],
2153
2380
  /**
2154
2381
  * Border Spacing X
2155
2382
  * @see https://tailwindcss.com/docs/border-spacing
2156
2383
  */
2157
2384
  "border-spacing-x": [{
2158
- "border-spacing-x": c()
2385
+ "border-spacing-x": scaleUnambiguousSpacing()
2159
2386
  }],
2160
2387
  /**
2161
2388
  * Border Spacing Y
2162
2389
  * @see https://tailwindcss.com/docs/border-spacing
2163
2390
  */
2164
2391
  "border-spacing-y": [{
2165
- "border-spacing-y": c()
2392
+ "border-spacing-y": scaleUnambiguousSpacing()
2166
2393
  }],
2167
2394
  /**
2168
2395
  * Table Layout
@@ -2186,7 +2413,7 @@ const f = (e) => {
2186
2413
  * @see https://tailwindcss.com/docs/transition-property
2187
2414
  */
2188
2415
  transition: [{
2189
- transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", s, t]
2416
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
2190
2417
  }],
2191
2418
  /**
2192
2419
  * Transition Behavior
@@ -2200,28 +2427,28 @@ const f = (e) => {
2200
2427
  * @see https://tailwindcss.com/docs/transition-duration
2201
2428
  */
2202
2429
  duration: [{
2203
- duration: [d, "initial", s, t]
2430
+ duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
2204
2431
  }],
2205
2432
  /**
2206
2433
  * Transition Timing Function
2207
2434
  * @see https://tailwindcss.com/docs/transition-timing-function
2208
2435
  */
2209
2436
  ease: [{
2210
- ease: ["linear", "initial", A, s, t]
2437
+ ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
2211
2438
  }],
2212
2439
  /**
2213
2440
  * Transition Delay
2214
2441
  * @see https://tailwindcss.com/docs/transition-delay
2215
2442
  */
2216
2443
  delay: [{
2217
- delay: [d, s, t]
2444
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
2218
2445
  }],
2219
2446
  /**
2220
2447
  * Animation
2221
2448
  * @see https://tailwindcss.com/docs/animation
2222
2449
  */
2223
2450
  animate: [{
2224
- animate: ["none", $, s, t]
2451
+ animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
2225
2452
  }],
2226
2453
  // ------------------
2227
2454
  // --- Transforms ---
@@ -2238,70 +2465,70 @@ const f = (e) => {
2238
2465
  * @see https://tailwindcss.com/docs/perspective
2239
2466
  */
2240
2467
  perspective: [{
2241
- perspective: [y, s, t]
2468
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
2242
2469
  }],
2243
2470
  /**
2244
2471
  * Perspective Origin
2245
2472
  * @see https://tailwindcss.com/docs/perspective-origin
2246
2473
  */
2247
2474
  "perspective-origin": [{
2248
- "perspective-origin": E()
2475
+ "perspective-origin": scalePositionWithArbitrary()
2249
2476
  }],
2250
2477
  /**
2251
2478
  * Rotate
2252
2479
  * @see https://tailwindcss.com/docs/rotate
2253
2480
  */
2254
2481
  rotate: [{
2255
- rotate: H()
2482
+ rotate: scaleRotate()
2256
2483
  }],
2257
2484
  /**
2258
2485
  * Rotate X
2259
2486
  * @see https://tailwindcss.com/docs/rotate
2260
2487
  */
2261
2488
  "rotate-x": [{
2262
- "rotate-x": H()
2489
+ "rotate-x": scaleRotate()
2263
2490
  }],
2264
2491
  /**
2265
2492
  * Rotate Y
2266
2493
  * @see https://tailwindcss.com/docs/rotate
2267
2494
  */
2268
2495
  "rotate-y": [{
2269
- "rotate-y": H()
2496
+ "rotate-y": scaleRotate()
2270
2497
  }],
2271
2498
  /**
2272
2499
  * Rotate Z
2273
2500
  * @see https://tailwindcss.com/docs/rotate
2274
2501
  */
2275
2502
  "rotate-z": [{
2276
- "rotate-z": H()
2503
+ "rotate-z": scaleRotate()
2277
2504
  }],
2278
2505
  /**
2279
2506
  * Scale
2280
2507
  * @see https://tailwindcss.com/docs/scale
2281
2508
  */
2282
2509
  scale: [{
2283
- scale: J()
2510
+ scale: scaleScale()
2284
2511
  }],
2285
2512
  /**
2286
2513
  * Scale X
2287
2514
  * @see https://tailwindcss.com/docs/scale
2288
2515
  */
2289
2516
  "scale-x": [{
2290
- "scale-x": J()
2517
+ "scale-x": scaleScale()
2291
2518
  }],
2292
2519
  /**
2293
2520
  * Scale Y
2294
2521
  * @see https://tailwindcss.com/docs/scale
2295
2522
  */
2296
2523
  "scale-y": [{
2297
- "scale-y": J()
2524
+ "scale-y": scaleScale()
2298
2525
  }],
2299
2526
  /**
2300
2527
  * Scale Z
2301
2528
  * @see https://tailwindcss.com/docs/scale
2302
2529
  */
2303
2530
  "scale-z": [{
2304
- "scale-z": J()
2531
+ "scale-z": scaleScale()
2305
2532
  }],
2306
2533
  /**
2307
2534
  * Scale 3D
@@ -2313,35 +2540,35 @@ const f = (e) => {
2313
2540
  * @see https://tailwindcss.com/docs/skew
2314
2541
  */
2315
2542
  skew: [{
2316
- skew: Z()
2543
+ skew: scaleSkew()
2317
2544
  }],
2318
2545
  /**
2319
2546
  * Skew X
2320
2547
  * @see https://tailwindcss.com/docs/skew
2321
2548
  */
2322
2549
  "skew-x": [{
2323
- "skew-x": Z()
2550
+ "skew-x": scaleSkew()
2324
2551
  }],
2325
2552
  /**
2326
2553
  * Skew Y
2327
2554
  * @see https://tailwindcss.com/docs/skew
2328
2555
  */
2329
2556
  "skew-y": [{
2330
- "skew-y": Z()
2557
+ "skew-y": scaleSkew()
2331
2558
  }],
2332
2559
  /**
2333
2560
  * Transform
2334
2561
  * @see https://tailwindcss.com/docs/transform
2335
2562
  */
2336
2563
  transform: [{
2337
- transform: [s, t, "", "none", "gpu", "cpu"]
2564
+ transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
2338
2565
  }],
2339
2566
  /**
2340
2567
  * Transform Origin
2341
2568
  * @see https://tailwindcss.com/docs/transform-origin
2342
2569
  */
2343
2570
  "transform-origin": [{
2344
- origin: E()
2571
+ origin: scalePositionWithArbitrary()
2345
2572
  }],
2346
2573
  /**
2347
2574
  * Transform Style
@@ -2355,28 +2582,28 @@ const f = (e) => {
2355
2582
  * @see https://tailwindcss.com/docs/translate
2356
2583
  */
2357
2584
  translate: [{
2358
- translate: X()
2585
+ translate: scaleTranslate()
2359
2586
  }],
2360
2587
  /**
2361
2588
  * Translate X
2362
2589
  * @see https://tailwindcss.com/docs/translate
2363
2590
  */
2364
2591
  "translate-x": [{
2365
- "translate-x": X()
2592
+ "translate-x": scaleTranslate()
2366
2593
  }],
2367
2594
  /**
2368
2595
  * Translate Y
2369
2596
  * @see https://tailwindcss.com/docs/translate
2370
2597
  */
2371
2598
  "translate-y": [{
2372
- "translate-y": X()
2599
+ "translate-y": scaleTranslate()
2373
2600
  }],
2374
2601
  /**
2375
2602
  * Translate Z
2376
2603
  * @see https://tailwindcss.com/docs/translate
2377
2604
  */
2378
2605
  "translate-z": [{
2379
- "translate-z": X()
2606
+ "translate-z": scaleTranslate()
2380
2607
  }],
2381
2608
  /**
2382
2609
  * Translate None
@@ -2391,7 +2618,7 @@ const f = (e) => {
2391
2618
  * @see https://tailwindcss.com/docs/accent-color
2392
2619
  */
2393
2620
  accent: [{
2394
- accent: a()
2621
+ accent: scaleColor()
2395
2622
  }],
2396
2623
  /**
2397
2624
  * Appearance
@@ -2405,7 +2632,7 @@ const f = (e) => {
2405
2632
  * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2406
2633
  */
2407
2634
  "caret-color": [{
2408
- caret: a()
2635
+ caret: scaleColor()
2409
2636
  }],
2410
2637
  /**
2411
2638
  * Color Scheme
@@ -2419,7 +2646,7 @@ const f = (e) => {
2419
2646
  * @see https://tailwindcss.com/docs/cursor
2420
2647
  */
2421
2648
  cursor: [{
2422
- cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", s, t]
2649
+ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryVariable, isArbitraryValue]
2423
2650
  }],
2424
2651
  /**
2425
2652
  * Field Sizing
@@ -2454,126 +2681,126 @@ const f = (e) => {
2454
2681
  * @see https://tailwindcss.com/docs/scroll-margin
2455
2682
  */
2456
2683
  "scroll-m": [{
2457
- "scroll-m": c()
2684
+ "scroll-m": scaleUnambiguousSpacing()
2458
2685
  }],
2459
2686
  /**
2460
2687
  * Scroll Margin X
2461
2688
  * @see https://tailwindcss.com/docs/scroll-margin
2462
2689
  */
2463
2690
  "scroll-mx": [{
2464
- "scroll-mx": c()
2691
+ "scroll-mx": scaleUnambiguousSpacing()
2465
2692
  }],
2466
2693
  /**
2467
2694
  * Scroll Margin Y
2468
2695
  * @see https://tailwindcss.com/docs/scroll-margin
2469
2696
  */
2470
2697
  "scroll-my": [{
2471
- "scroll-my": c()
2698
+ "scroll-my": scaleUnambiguousSpacing()
2472
2699
  }],
2473
2700
  /**
2474
2701
  * Scroll Margin Start
2475
2702
  * @see https://tailwindcss.com/docs/scroll-margin
2476
2703
  */
2477
2704
  "scroll-ms": [{
2478
- "scroll-ms": c()
2705
+ "scroll-ms": scaleUnambiguousSpacing()
2479
2706
  }],
2480
2707
  /**
2481
2708
  * Scroll Margin End
2482
2709
  * @see https://tailwindcss.com/docs/scroll-margin
2483
2710
  */
2484
2711
  "scroll-me": [{
2485
- "scroll-me": c()
2712
+ "scroll-me": scaleUnambiguousSpacing()
2486
2713
  }],
2487
2714
  /**
2488
2715
  * Scroll Margin Top
2489
2716
  * @see https://tailwindcss.com/docs/scroll-margin
2490
2717
  */
2491
2718
  "scroll-mt": [{
2492
- "scroll-mt": c()
2719
+ "scroll-mt": scaleUnambiguousSpacing()
2493
2720
  }],
2494
2721
  /**
2495
2722
  * Scroll Margin Right
2496
2723
  * @see https://tailwindcss.com/docs/scroll-margin
2497
2724
  */
2498
2725
  "scroll-mr": [{
2499
- "scroll-mr": c()
2726
+ "scroll-mr": scaleUnambiguousSpacing()
2500
2727
  }],
2501
2728
  /**
2502
2729
  * Scroll Margin Bottom
2503
2730
  * @see https://tailwindcss.com/docs/scroll-margin
2504
2731
  */
2505
2732
  "scroll-mb": [{
2506
- "scroll-mb": c()
2733
+ "scroll-mb": scaleUnambiguousSpacing()
2507
2734
  }],
2508
2735
  /**
2509
2736
  * Scroll Margin Left
2510
2737
  * @see https://tailwindcss.com/docs/scroll-margin
2511
2738
  */
2512
2739
  "scroll-ml": [{
2513
- "scroll-ml": c()
2740
+ "scroll-ml": scaleUnambiguousSpacing()
2514
2741
  }],
2515
2742
  /**
2516
2743
  * Scroll Padding
2517
2744
  * @see https://tailwindcss.com/docs/scroll-padding
2518
2745
  */
2519
2746
  "scroll-p": [{
2520
- "scroll-p": c()
2747
+ "scroll-p": scaleUnambiguousSpacing()
2521
2748
  }],
2522
2749
  /**
2523
2750
  * Scroll Padding X
2524
2751
  * @see https://tailwindcss.com/docs/scroll-padding
2525
2752
  */
2526
2753
  "scroll-px": [{
2527
- "scroll-px": c()
2754
+ "scroll-px": scaleUnambiguousSpacing()
2528
2755
  }],
2529
2756
  /**
2530
2757
  * Scroll Padding Y
2531
2758
  * @see https://tailwindcss.com/docs/scroll-padding
2532
2759
  */
2533
2760
  "scroll-py": [{
2534
- "scroll-py": c()
2761
+ "scroll-py": scaleUnambiguousSpacing()
2535
2762
  }],
2536
2763
  /**
2537
2764
  * Scroll Padding Start
2538
2765
  * @see https://tailwindcss.com/docs/scroll-padding
2539
2766
  */
2540
2767
  "scroll-ps": [{
2541
- "scroll-ps": c()
2768
+ "scroll-ps": scaleUnambiguousSpacing()
2542
2769
  }],
2543
2770
  /**
2544
2771
  * Scroll Padding End
2545
2772
  * @see https://tailwindcss.com/docs/scroll-padding
2546
2773
  */
2547
2774
  "scroll-pe": [{
2548
- "scroll-pe": c()
2775
+ "scroll-pe": scaleUnambiguousSpacing()
2549
2776
  }],
2550
2777
  /**
2551
2778
  * Scroll Padding Top
2552
2779
  * @see https://tailwindcss.com/docs/scroll-padding
2553
2780
  */
2554
2781
  "scroll-pt": [{
2555
- "scroll-pt": c()
2782
+ "scroll-pt": scaleUnambiguousSpacing()
2556
2783
  }],
2557
2784
  /**
2558
2785
  * Scroll Padding Right
2559
2786
  * @see https://tailwindcss.com/docs/scroll-padding
2560
2787
  */
2561
2788
  "scroll-pr": [{
2562
- "scroll-pr": c()
2789
+ "scroll-pr": scaleUnambiguousSpacing()
2563
2790
  }],
2564
2791
  /**
2565
2792
  * Scroll Padding Bottom
2566
2793
  * @see https://tailwindcss.com/docs/scroll-padding
2567
2794
  */
2568
2795
  "scroll-pb": [{
2569
- "scroll-pb": c()
2796
+ "scroll-pb": scaleUnambiguousSpacing()
2570
2797
  }],
2571
2798
  /**
2572
2799
  * Scroll Padding Left
2573
2800
  * @see https://tailwindcss.com/docs/scroll-padding
2574
2801
  */
2575
2802
  "scroll-pl": [{
2576
- "scroll-pl": c()
2803
+ "scroll-pl": scaleUnambiguousSpacing()
2577
2804
  }],
2578
2805
  /**
2579
2806
  * Scroll Snap Align
@@ -2641,7 +2868,7 @@ const f = (e) => {
2641
2868
  * @see https://tailwindcss.com/docs/will-change
2642
2869
  */
2643
2870
  "will-change": [{
2644
- "will-change": ["auto", "scroll", "contents", "transform", s, t]
2871
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
2645
2872
  }],
2646
2873
  // -----------
2647
2874
  // --- SVG ---
@@ -2651,21 +2878,21 @@ const f = (e) => {
2651
2878
  * @see https://tailwindcss.com/docs/fill
2652
2879
  */
2653
2880
  fill: [{
2654
- fill: ["none", ...a()]
2881
+ fill: ["none", ...scaleColor()]
2655
2882
  }],
2656
2883
  /**
2657
2884
  * Stroke Width
2658
2885
  * @see https://tailwindcss.com/docs/stroke-width
2659
2886
  */
2660
2887
  "stroke-w": [{
2661
- stroke: [d, W, R, oe]
2888
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
2662
2889
  }],
2663
2890
  /**
2664
2891
  * Stroke
2665
2892
  * @see https://tailwindcss.com/docs/stroke
2666
2893
  */
2667
2894
  stroke: [{
2668
- stroke: ["none", ...a()]
2895
+ stroke: ["none", ...scaleColor()]
2669
2896
  }],
2670
2897
  // ---------------------
2671
2898
  // --- Accessibility ---
@@ -2733,11 +2960,12 @@ const f = (e) => {
2733
2960
  },
2734
2961
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2735
2962
  };
2736
- }, co = /* @__PURE__ */ $e(lo);
2737
- function mo(...e) {
2738
- return co(Pe(e));
2963
+ };
2964
+ const twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2965
+ function cn(...inputs) {
2966
+ return twMerge(clsx(inputs));
2739
2967
  }
2740
2968
  export {
2741
- Pe as a,
2742
- mo as c
2969
+ clsx as a,
2970
+ cn as c
2743
2971
  };