groove-dev 0.22.8 → 0.22.10

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 (123) hide show
  1. package/node_modules/@groove-dev/daemon/src/api.js +9 -2
  2. package/node_modules/@groove-dev/gui/dist/assets/{index-DHaSTu1c.css → index-CCGYUyEa.css} +1 -1
  3. package/node_modules/@groove-dev/gui/dist/assets/index-CMvht38D.js +574 -0
  4. package/node_modules/@groove-dev/gui/dist/index.html +2 -2
  5. package/node_modules/@groove-dev/gui/src/components/agents/agent-feed.jsx +4 -4
  6. package/node_modules/@groove-dev/gui/src/views/agents.jsx +8 -1
  7. package/package.json +1 -1
  8. package/packages/daemon/src/api.js +9 -2
  9. package/packages/gui/dist/assets/{index-DHaSTu1c.css → index-CCGYUyEa.css} +1 -1
  10. package/packages/gui/dist/assets/index-CMvht38D.js +574 -0
  11. package/packages/gui/dist/index.html +2 -2
  12. package/packages/gui/src/components/agents/agent-feed.jsx +4 -4
  13. package/packages/gui/src/views/agents.jsx +8 -1
  14. package/node_modules/@groove-dev/gui/dist/assets/index-CTKfkH67.js +0 -574
  15. package/packages/gui/dist/assets/index-CTKfkH67.js +0 -574
  16. package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js +0 -68
  17. package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js.map +0 -7
  18. package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js +0 -1420
  19. package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js.map +0 -7
  20. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js +0 -17
  21. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js.map +0 -7
  22. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js +0 -22
  23. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js.map +0 -7
  24. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js +0 -34
  25. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js.map +0 -7
  26. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js +0 -101
  27. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js.map +0 -7
  28. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js +0 -2534
  29. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js.map +0 -7
  30. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js +0 -789
  31. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js.map +0 -7
  32. package/packages/gui/node_modules/.vite/deps/@codemirror_language.js +0 -115
  33. package/packages/gui/node_modules/.vite/deps/@codemirror_language.js.map +0 -7
  34. package/packages/gui/node_modules/.vite/deps/@codemirror_search.js +0 -1136
  35. package/packages/gui/node_modules/.vite/deps/@codemirror_search.js.map +0 -7
  36. package/packages/gui/node_modules/.vite/deps/@codemirror_state.js +0 -63
  37. package/packages/gui/node_modules/.vite/deps/@codemirror_state.js.map +0 -7
  38. package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js +0 -179
  39. package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js.map +0 -7
  40. package/packages/gui/node_modules/.vite/deps/@codemirror_view.js +0 -104
  41. package/packages/gui/node_modules/.vite/deps/@codemirror_view.js.map +0 -7
  42. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js +0 -367
  43. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js.map +0 -7
  44. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js +0 -755
  45. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js.map +0 -7
  46. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-select.js +0 -1254
  47. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-select.js.map +0 -7
  48. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js +0 -436
  49. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js.map +0 -7
  50. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js +0 -531
  51. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js.map +0 -7
  52. package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js +0 -46
  53. package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js.map +0 -7
  54. package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js +0 -121
  55. package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js.map +0 -7
  56. package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js +0 -9237
  57. package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js.map +0 -7
  58. package/packages/gui/node_modules/.vite/deps/@xyflow_react.js +0 -9934
  59. package/packages/gui/node_modules/.vite/deps/@xyflow_react.js.map +0 -7
  60. package/packages/gui/node_modules/.vite/deps/_metadata.json +0 -265
  61. package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js +0 -5169
  62. package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js.map +0 -7
  63. package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js +0 -2000
  64. package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js.map +0 -7
  65. package/packages/gui/node_modules/.vite/deps/chunk-3LBP22MX.js +0 -1115
  66. package/packages/gui/node_modules/.vite/deps/chunk-3LBP22MX.js.map +0 -7
  67. package/packages/gui/node_modules/.vite/deps/chunk-3Q7HT7ZF.js +0 -701
  68. package/packages/gui/node_modules/.vite/deps/chunk-3Q7HT7ZF.js.map +0 -7
  69. package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js +0 -1776
  70. package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js.map +0 -7
  71. package/packages/gui/node_modules/.vite/deps/chunk-6DLNZUA5.js +0 -142
  72. package/packages/gui/node_modules/.vite/deps/chunk-6DLNZUA5.js.map +0 -7
  73. package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js +0 -292
  74. package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js.map +0 -7
  75. package/packages/gui/node_modules/.vite/deps/chunk-AZUN7XMC.js +0 -87
  76. package/packages/gui/node_modules/.vite/deps/chunk-AZUN7XMC.js.map +0 -7
  77. package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js +0 -1004
  78. package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js.map +0 -7
  79. package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js +0 -23
  80. package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js.map +0 -7
  81. package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js +0 -1062
  82. package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js.map +0 -7
  83. package/packages/gui/node_modules/.vite/deps/chunk-I2PYXDFH.js +0 -1106
  84. package/packages/gui/node_modules/.vite/deps/chunk-I2PYXDFH.js.map +0 -7
  85. package/packages/gui/node_modules/.vite/deps/chunk-JPXYHBLX.js +0 -306
  86. package/packages/gui/node_modules/.vite/deps/chunk-JPXYHBLX.js.map +0 -7
  87. package/packages/gui/node_modules/.vite/deps/chunk-JYDZ3XIW.js +0 -264
  88. package/packages/gui/node_modules/.vite/deps/chunk-JYDZ3XIW.js.map +0 -7
  89. package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js +0 -42
  90. package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js.map +0 -7
  91. package/packages/gui/node_modules/.vite/deps/chunk-QZQGPDRM.js +0 -2328
  92. package/packages/gui/node_modules/.vite/deps/chunk-QZQGPDRM.js.map +0 -7
  93. package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js +0 -10985
  94. package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js.map +0 -7
  95. package/packages/gui/node_modules/.vite/deps/chunk-UO4Y2XXS.js +0 -105
  96. package/packages/gui/node_modules/.vite/deps/chunk-UO4Y2XXS.js.map +0 -7
  97. package/packages/gui/node_modules/.vite/deps/chunk-VW6LO3QI.js +0 -9
  98. package/packages/gui/node_modules/.vite/deps/chunk-VW6LO3QI.js.map +0 -7
  99. package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js +0 -280
  100. package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js.map +0 -7
  101. package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js +0 -3459
  102. package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js.map +0 -7
  103. package/packages/gui/node_modules/.vite/deps/clsx.js +0 -22
  104. package/packages/gui/node_modules/.vite/deps/clsx.js.map +0 -7
  105. package/packages/gui/node_modules/.vite/deps/framer-motion.js +0 -12732
  106. package/packages/gui/node_modules/.vite/deps/framer-motion.js.map +0 -7
  107. package/packages/gui/node_modules/.vite/deps/lucide-react.js +0 -29653
  108. package/packages/gui/node_modules/.vite/deps/lucide-react.js.map +0 -7
  109. package/packages/gui/node_modules/.vite/deps/package.json +0 -3
  110. package/packages/gui/node_modules/.vite/deps/react-dom.js +0 -6
  111. package/packages/gui/node_modules/.vite/deps/react-dom.js.map +0 -7
  112. package/packages/gui/node_modules/.vite/deps/react-dom_client.js +0 -20217
  113. package/packages/gui/node_modules/.vite/deps/react-dom_client.js.map +0 -7
  114. package/packages/gui/node_modules/.vite/deps/react.js +0 -5
  115. package/packages/gui/node_modules/.vite/deps/react.js.map +0 -7
  116. package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js +0 -278
  117. package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +0 -7
  118. package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js +0 -6
  119. package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js.map +0 -7
  120. package/packages/gui/node_modules/.vite/deps/tailwind-merge.js +0 -3263
  121. package/packages/gui/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
  122. package/packages/gui/node_modules/.vite/deps/zustand.js +0 -56
  123. package/packages/gui/node_modules/.vite/deps/zustand.js.map +0 -7
@@ -1,3263 +0,0 @@
1
- import "./chunk-PR4QN5HX.js";
2
-
3
- // ../../node_modules/tailwind-merge/dist/bundle-mjs.mjs
4
- var concatArrays = (array1, array2) => {
5
- const combinedArray = new Array(array1.length + array2.length);
6
- for (let i = 0; i < array1.length; i++) {
7
- combinedArray[i] = array1[i];
8
- }
9
- for (let i = 0; i < array2.length; i++) {
10
- combinedArray[array1.length + i] = array2[i];
11
- }
12
- return combinedArray;
13
- };
14
- var createClassValidatorObject = (classGroupId, validator) => ({
15
- classGroupId,
16
- validator
17
- });
18
- var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators2 = null, classGroupId) => ({
19
- nextPart,
20
- validators: validators2,
21
- classGroupId
22
- });
23
- var CLASS_PART_SEPARATOR = "-";
24
- var EMPTY_CONFLICTS = [];
25
- var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
26
- var createClassGroupUtils = (config) => {
27
- const classMap = createClassMap(config);
28
- const {
29
- conflictingClassGroups,
30
- conflictingClassGroupModifiers
31
- } = config;
32
- const getClassGroupId = (className) => {
33
- if (className.startsWith("[") && className.endsWith("]")) {
34
- return getGroupIdForArbitraryProperty(className);
35
- }
36
- const classParts = className.split(CLASS_PART_SEPARATOR);
37
- const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
38
- return getGroupRecursive(classParts, startIndex, classMap);
39
- };
40
- const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
41
- if (hasPostfixModifier) {
42
- const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
43
- const baseConflicts = conflictingClassGroups[classGroupId];
44
- if (modifierConflicts) {
45
- if (baseConflicts) {
46
- return concatArrays(baseConflicts, modifierConflicts);
47
- }
48
- return modifierConflicts;
49
- }
50
- return baseConflicts || EMPTY_CONFLICTS;
51
- }
52
- return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
53
- };
54
- return {
55
- getClassGroupId,
56
- getConflictingClassGroupIds
57
- };
58
- };
59
- var getGroupRecursive = (classParts, startIndex, classPartObject) => {
60
- const classPathsLength = classParts.length - startIndex;
61
- if (classPathsLength === 0) {
62
- return classPartObject.classGroupId;
63
- }
64
- const currentClassPart = classParts[startIndex];
65
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
66
- if (nextClassPartObject) {
67
- const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
68
- if (result) return result;
69
- }
70
- const validators2 = classPartObject.validators;
71
- if (validators2 === null) {
72
- return void 0;
73
- }
74
- const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
75
- const validatorsLength = validators2.length;
76
- for (let i = 0; i < validatorsLength; i++) {
77
- const validatorObj = validators2[i];
78
- if (validatorObj.validator(classRest)) {
79
- return validatorObj.classGroupId;
80
- }
81
- }
82
- return void 0;
83
- };
84
- var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
85
- const content = className.slice(1, -1);
86
- const colonIndex = content.indexOf(":");
87
- const property = content.slice(0, colonIndex);
88
- return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
89
- })();
90
- var createClassMap = (config) => {
91
- const {
92
- theme,
93
- classGroups
94
- } = config;
95
- return processClassGroups(classGroups, theme);
96
- };
97
- var processClassGroups = (classGroups, theme) => {
98
- const classMap = createClassPartObject();
99
- for (const classGroupId in classGroups) {
100
- const group = classGroups[classGroupId];
101
- processClassesRecursively(group, classMap, classGroupId, theme);
102
- }
103
- return classMap;
104
- };
105
- var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
106
- const len = classGroup.length;
107
- for (let i = 0; i < len; i++) {
108
- const classDefinition = classGroup[i];
109
- processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
110
- }
111
- };
112
- var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
113
- if (typeof classDefinition === "string") {
114
- processStringDefinition(classDefinition, classPartObject, classGroupId);
115
- return;
116
- }
117
- if (typeof classDefinition === "function") {
118
- processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
119
- return;
120
- }
121
- processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
122
- };
123
- var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
124
- const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
125
- classPartObjectToEdit.classGroupId = classGroupId;
126
- };
127
- var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
128
- if (isThemeGetter(classDefinition)) {
129
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
130
- return;
131
- }
132
- if (classPartObject.validators === null) {
133
- classPartObject.validators = [];
134
- }
135
- classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
136
- };
137
- var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
138
- const entries = Object.entries(classDefinition);
139
- const len = entries.length;
140
- for (let i = 0; i < len; i++) {
141
- const [key, value] = entries[i];
142
- processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
143
- }
144
- };
145
- var getPart = (classPartObject, path) => {
146
- let current = classPartObject;
147
- const parts = path.split(CLASS_PART_SEPARATOR);
148
- const len = parts.length;
149
- for (let i = 0; i < len; i++) {
150
- const part = parts[i];
151
- let next = current.nextPart.get(part);
152
- if (!next) {
153
- next = createClassPartObject();
154
- current.nextPart.set(part, next);
155
- }
156
- current = next;
157
- }
158
- return current;
159
- };
160
- var isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
161
- var createLruCache = (maxCacheSize) => {
162
- if (maxCacheSize < 1) {
163
- return {
164
- get: () => void 0,
165
- set: () => {
166
- }
167
- };
168
- }
169
- let cacheSize = 0;
170
- let cache = /* @__PURE__ */ Object.create(null);
171
- let previousCache = /* @__PURE__ */ Object.create(null);
172
- const update = (key, value) => {
173
- cache[key] = value;
174
- cacheSize++;
175
- if (cacheSize > maxCacheSize) {
176
- cacheSize = 0;
177
- previousCache = cache;
178
- cache = /* @__PURE__ */ Object.create(null);
179
- }
180
- };
181
- return {
182
- get(key) {
183
- let value = cache[key];
184
- if (value !== void 0) {
185
- return value;
186
- }
187
- if ((value = previousCache[key]) !== void 0) {
188
- update(key, value);
189
- return value;
190
- }
191
- },
192
- set(key, value) {
193
- if (key in cache) {
194
- cache[key] = value;
195
- } else {
196
- update(key, value);
197
- }
198
- }
199
- };
200
- };
201
- var IMPORTANT_MODIFIER = "!";
202
- var MODIFIER_SEPARATOR = ":";
203
- var EMPTY_MODIFIERS = [];
204
- var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
205
- modifiers,
206
- hasImportantModifier,
207
- baseClassName,
208
- maybePostfixModifierPosition,
209
- isExternal
210
- });
211
- var createParseClassName = (config) => {
212
- const {
213
- prefix,
214
- experimentalParseClassName
215
- } = config;
216
- let parseClassName = (className) => {
217
- const modifiers = [];
218
- let bracketDepth = 0;
219
- let parenDepth = 0;
220
- let modifierStart = 0;
221
- let postfixModifierPosition;
222
- const len = className.length;
223
- for (let index = 0; index < len; index++) {
224
- const currentCharacter = className[index];
225
- if (bracketDepth === 0 && parenDepth === 0) {
226
- if (currentCharacter === MODIFIER_SEPARATOR) {
227
- modifiers.push(className.slice(modifierStart, index));
228
- modifierStart = index + 1;
229
- continue;
230
- }
231
- if (currentCharacter === "/") {
232
- postfixModifierPosition = index;
233
- continue;
234
- }
235
- }
236
- if (currentCharacter === "[") bracketDepth++;
237
- else if (currentCharacter === "]") bracketDepth--;
238
- else if (currentCharacter === "(") parenDepth++;
239
- else if (currentCharacter === ")") parenDepth--;
240
- }
241
- const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
242
- let baseClassName = baseClassNameWithImportantModifier;
243
- let hasImportantModifier = false;
244
- if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
245
- baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
246
- hasImportantModifier = true;
247
- } else if (
248
- /**
249
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
250
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
251
- */
252
- baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)
253
- ) {
254
- baseClassName = baseClassNameWithImportantModifier.slice(1);
255
- hasImportantModifier = true;
256
- }
257
- const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
258
- return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
259
- };
260
- if (prefix) {
261
- const fullPrefix = prefix + MODIFIER_SEPARATOR;
262
- const parseClassNameOriginal = parseClassName;
263
- parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
264
- }
265
- if (experimentalParseClassName) {
266
- const parseClassNameOriginal = parseClassName;
267
- parseClassName = (className) => experimentalParseClassName({
268
- className,
269
- parseClassName: parseClassNameOriginal
270
- });
271
- }
272
- return parseClassName;
273
- };
274
- var createSortModifiers = (config) => {
275
- const modifierWeights = /* @__PURE__ */ new Map();
276
- config.orderSensitiveModifiers.forEach((mod, index) => {
277
- modifierWeights.set(mod, 1e6 + index);
278
- });
279
- return (modifiers) => {
280
- const result = [];
281
- let currentSegment = [];
282
- for (let i = 0; i < modifiers.length; i++) {
283
- const modifier = modifiers[i];
284
- const isArbitrary = modifier[0] === "[";
285
- const isOrderSensitive = modifierWeights.has(modifier);
286
- if (isArbitrary || isOrderSensitive) {
287
- if (currentSegment.length > 0) {
288
- currentSegment.sort();
289
- result.push(...currentSegment);
290
- currentSegment = [];
291
- }
292
- result.push(modifier);
293
- } else {
294
- currentSegment.push(modifier);
295
- }
296
- }
297
- if (currentSegment.length > 0) {
298
- currentSegment.sort();
299
- result.push(...currentSegment);
300
- }
301
- return result;
302
- };
303
- };
304
- var createConfigUtils = (config) => ({
305
- cache: createLruCache(config.cacheSize),
306
- parseClassName: createParseClassName(config),
307
- sortModifiers: createSortModifiers(config),
308
- ...createClassGroupUtils(config)
309
- });
310
- var SPLIT_CLASSES_REGEX = /\s+/;
311
- var mergeClassList = (classList, configUtils) => {
312
- const {
313
- parseClassName,
314
- getClassGroupId,
315
- getConflictingClassGroupIds,
316
- sortModifiers
317
- } = configUtils;
318
- const classGroupsInConflict = [];
319
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
320
- let result = "";
321
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
322
- const originalClassName = classNames[index];
323
- const {
324
- isExternal,
325
- modifiers,
326
- hasImportantModifier,
327
- baseClassName,
328
- maybePostfixModifierPosition
329
- } = parseClassName(originalClassName);
330
- if (isExternal) {
331
- result = originalClassName + (result.length > 0 ? " " + result : result);
332
- continue;
333
- }
334
- let hasPostfixModifier = !!maybePostfixModifierPosition;
335
- let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
336
- if (!classGroupId) {
337
- if (!hasPostfixModifier) {
338
- result = originalClassName + (result.length > 0 ? " " + result : result);
339
- continue;
340
- }
341
- classGroupId = getClassGroupId(baseClassName);
342
- if (!classGroupId) {
343
- result = originalClassName + (result.length > 0 ? " " + result : result);
344
- continue;
345
- }
346
- hasPostfixModifier = false;
347
- }
348
- const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
349
- const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
350
- const classId = modifierId + classGroupId;
351
- if (classGroupsInConflict.indexOf(classId) > -1) {
352
- continue;
353
- }
354
- classGroupsInConflict.push(classId);
355
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
356
- for (let i = 0; i < conflictGroups.length; ++i) {
357
- const group = conflictGroups[i];
358
- classGroupsInConflict.push(modifierId + group);
359
- }
360
- result = originalClassName + (result.length > 0 ? " " + result : result);
361
- }
362
- return result;
363
- };
364
- var twJoin = (...classLists) => {
365
- let index = 0;
366
- let argument;
367
- let resolvedValue;
368
- let string = "";
369
- while (index < classLists.length) {
370
- if (argument = classLists[index++]) {
371
- if (resolvedValue = toValue(argument)) {
372
- string && (string += " ");
373
- string += resolvedValue;
374
- }
375
- }
376
- }
377
- return string;
378
- };
379
- var toValue = (mix) => {
380
- if (typeof mix === "string") {
381
- return mix;
382
- }
383
- let resolvedValue;
384
- let string = "";
385
- for (let k = 0; k < mix.length; k++) {
386
- if (mix[k]) {
387
- if (resolvedValue = toValue(mix[k])) {
388
- string && (string += " ");
389
- string += resolvedValue;
390
- }
391
- }
392
- }
393
- return string;
394
- };
395
- var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
396
- let configUtils;
397
- let cacheGet;
398
- let cacheSet;
399
- let functionToCall;
400
- const initTailwindMerge = (classList) => {
401
- const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
402
- configUtils = createConfigUtils(config);
403
- cacheGet = configUtils.cache.get;
404
- cacheSet = configUtils.cache.set;
405
- functionToCall = tailwindMerge;
406
- return tailwindMerge(classList);
407
- };
408
- const tailwindMerge = (classList) => {
409
- const cachedResult = cacheGet(classList);
410
- if (cachedResult) {
411
- return cachedResult;
412
- }
413
- const result = mergeClassList(classList, configUtils);
414
- cacheSet(classList, result);
415
- return result;
416
- };
417
- functionToCall = initTailwindMerge;
418
- return (...args) => functionToCall(twJoin(...args));
419
- };
420
- var fallbackThemeArr = [];
421
- var fromTheme = (key) => {
422
- const themeGetter = (theme) => theme[key] || fallbackThemeArr;
423
- themeGetter.isThemeGetter = true;
424
- return themeGetter;
425
- };
426
- var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
427
- var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
428
- var fractionRegex = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/;
429
- var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
430
- var 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$/;
431
- var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
432
- var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
433
- var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
434
- var isFraction = (value) => fractionRegex.test(value);
435
- var isNumber = (value) => !!value && !Number.isNaN(Number(value));
436
- var isInteger = (value) => !!value && Number.isInteger(Number(value));
437
- var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
438
- var isTshirtSize = (value) => tshirtUnitRegex.test(value);
439
- var isAny = () => true;
440
- var isLengthOnly = (value) => (
441
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
442
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
443
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
444
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
445
- );
446
- var isNever = () => false;
447
- var isShadow = (value) => shadowRegex.test(value);
448
- var isImage = (value) => imageRegex.test(value);
449
- var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
450
- var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
451
- var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
452
- var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
453
- var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
454
- var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);
455
- var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);
456
- var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
457
- var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
458
- var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
459
- var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
460
- var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
461
- var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
462
- var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
463
- var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
464
- var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
465
- var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
466
- var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);
467
- var getIsArbitraryValue = (value, testLabel, testValue) => {
468
- const result = arbitraryValueRegex.exec(value);
469
- if (result) {
470
- if (result[1]) {
471
- return testLabel(result[1]);
472
- }
473
- return testValue(result[2]);
474
- }
475
- return false;
476
- };
477
- var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
478
- const result = arbitraryVariableRegex.exec(value);
479
- if (result) {
480
- if (result[1]) {
481
- return testLabel(result[1]);
482
- }
483
- return shouldMatchNoLabel;
484
- }
485
- return false;
486
- };
487
- var isLabelPosition = (label) => label === "position" || label === "percentage";
488
- var isLabelImage = (label) => label === "image" || label === "url";
489
- var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
490
- var isLabelLength = (label) => label === "length";
491
- var isLabelNumber = (label) => label === "number";
492
- var isLabelFamilyName = (label) => label === "family-name";
493
- var isLabelWeight = (label) => label === "number" || label === "weight";
494
- var isLabelShadow = (label) => label === "shadow";
495
- var validators = Object.defineProperty({
496
- __proto__: null,
497
- isAny,
498
- isAnyNonArbitrary,
499
- isArbitraryFamilyName,
500
- isArbitraryImage,
501
- isArbitraryLength,
502
- isArbitraryNumber,
503
- isArbitraryPosition,
504
- isArbitraryShadow,
505
- isArbitrarySize,
506
- isArbitraryValue,
507
- isArbitraryVariable,
508
- isArbitraryVariableFamilyName,
509
- isArbitraryVariableImage,
510
- isArbitraryVariableLength,
511
- isArbitraryVariablePosition,
512
- isArbitraryVariableShadow,
513
- isArbitraryVariableSize,
514
- isArbitraryVariableWeight,
515
- isArbitraryWeight,
516
- isFraction,
517
- isInteger,
518
- isNumber,
519
- isPercent,
520
- isTshirtSize
521
- }, Symbol.toStringTag, {
522
- value: "Module"
523
- });
524
- var getDefaultConfig = () => {
525
- const themeColor = fromTheme("color");
526
- const themeFont = fromTheme("font");
527
- const themeText = fromTheme("text");
528
- const themeFontWeight = fromTheme("font-weight");
529
- const themeTracking = fromTheme("tracking");
530
- const themeLeading = fromTheme("leading");
531
- const themeBreakpoint = fromTheme("breakpoint");
532
- const themeContainer = fromTheme("container");
533
- const themeSpacing = fromTheme("spacing");
534
- const themeRadius = fromTheme("radius");
535
- const themeShadow = fromTheme("shadow");
536
- const themeInsetShadow = fromTheme("inset-shadow");
537
- const themeTextShadow = fromTheme("text-shadow");
538
- const themeDropShadow = fromTheme("drop-shadow");
539
- const themeBlur = fromTheme("blur");
540
- const themePerspective = fromTheme("perspective");
541
- const themeAspect = fromTheme("aspect");
542
- const themeEase = fromTheme("ease");
543
- const themeAnimate = fromTheme("animate");
544
- const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
545
- const scalePosition = () => [
546
- "center",
547
- "top",
548
- "bottom",
549
- "left",
550
- "right",
551
- "top-left",
552
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
553
- "left-top",
554
- "top-right",
555
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
556
- "right-top",
557
- "bottom-right",
558
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
559
- "right-bottom",
560
- "bottom-left",
561
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
562
- "left-bottom"
563
- ];
564
- const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
565
- const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
566
- const scaleOverscroll = () => ["auto", "contain", "none"];
567
- const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
568
- const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
569
- const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
570
- const scaleGridColRowStartAndEnd = () => ["auto", {
571
- span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
572
- }, isInteger, isArbitraryVariable, isArbitraryValue];
573
- const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
574
- const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
575
- const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
576
- const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
577
- const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
578
- const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
579
- const scaleSizingInline = () => [isFraction, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...scaleUnambiguousSpacing()];
580
- const scaleSizingBlock = () => [isFraction, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
581
- const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
582
- const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
583
- position: [isArbitraryVariable, isArbitraryValue]
584
- }];
585
- const scaleBgRepeat = () => ["no-repeat", {
586
- repeat: ["", "x", "y", "space", "round"]
587
- }];
588
- const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
589
- size: [isArbitraryVariable, isArbitraryValue]
590
- }];
591
- const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
592
- const scaleRadius = () => [
593
- // Deprecated since Tailwind CSS v4.0.0
594
- "",
595
- "none",
596
- "full",
597
- themeRadius,
598
- isArbitraryVariable,
599
- isArbitraryValue
600
- ];
601
- const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
602
- const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
603
- const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
604
- const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
605
- const scaleBlur = () => [
606
- // Deprecated since Tailwind CSS v4.0.0
607
- "",
608
- "none",
609
- themeBlur,
610
- isArbitraryVariable,
611
- isArbitraryValue
612
- ];
613
- const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
614
- const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
615
- const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
616
- const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
617
- return {
618
- cacheSize: 500,
619
- theme: {
620
- animate: ["spin", "ping", "pulse", "bounce"],
621
- aspect: ["video"],
622
- blur: [isTshirtSize],
623
- breakpoint: [isTshirtSize],
624
- color: [isAny],
625
- container: [isTshirtSize],
626
- "drop-shadow": [isTshirtSize],
627
- ease: ["in", "out", "in-out"],
628
- font: [isAnyNonArbitrary],
629
- "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
630
- "inset-shadow": [isTshirtSize],
631
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
632
- perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
633
- radius: [isTshirtSize],
634
- shadow: [isTshirtSize],
635
- spacing: ["px", isNumber],
636
- text: [isTshirtSize],
637
- "text-shadow": [isTshirtSize],
638
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
639
- },
640
- classGroups: {
641
- // --------------
642
- // --- Layout ---
643
- // --------------
644
- /**
645
- * Aspect Ratio
646
- * @see https://tailwindcss.com/docs/aspect-ratio
647
- */
648
- aspect: [{
649
- aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
650
- }],
651
- /**
652
- * Container
653
- * @see https://tailwindcss.com/docs/container
654
- * @deprecated since Tailwind CSS v4.0.0
655
- */
656
- container: ["container"],
657
- /**
658
- * Columns
659
- * @see https://tailwindcss.com/docs/columns
660
- */
661
- columns: [{
662
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
663
- }],
664
- /**
665
- * Break After
666
- * @see https://tailwindcss.com/docs/break-after
667
- */
668
- "break-after": [{
669
- "break-after": scaleBreak()
670
- }],
671
- /**
672
- * Break Before
673
- * @see https://tailwindcss.com/docs/break-before
674
- */
675
- "break-before": [{
676
- "break-before": scaleBreak()
677
- }],
678
- /**
679
- * Break Inside
680
- * @see https://tailwindcss.com/docs/break-inside
681
- */
682
- "break-inside": [{
683
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
684
- }],
685
- /**
686
- * Box Decoration Break
687
- * @see https://tailwindcss.com/docs/box-decoration-break
688
- */
689
- "box-decoration": [{
690
- "box-decoration": ["slice", "clone"]
691
- }],
692
- /**
693
- * Box Sizing
694
- * @see https://tailwindcss.com/docs/box-sizing
695
- */
696
- box: [{
697
- box: ["border", "content"]
698
- }],
699
- /**
700
- * Display
701
- * @see https://tailwindcss.com/docs/display
702
- */
703
- display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
704
- /**
705
- * Screen Reader Only
706
- * @see https://tailwindcss.com/docs/display#screen-reader-only
707
- */
708
- sr: ["sr-only", "not-sr-only"],
709
- /**
710
- * Floats
711
- * @see https://tailwindcss.com/docs/float
712
- */
713
- float: [{
714
- float: ["right", "left", "none", "start", "end"]
715
- }],
716
- /**
717
- * Clear
718
- * @see https://tailwindcss.com/docs/clear
719
- */
720
- clear: [{
721
- clear: ["left", "right", "both", "none", "start", "end"]
722
- }],
723
- /**
724
- * Isolation
725
- * @see https://tailwindcss.com/docs/isolation
726
- */
727
- isolation: ["isolate", "isolation-auto"],
728
- /**
729
- * Object Fit
730
- * @see https://tailwindcss.com/docs/object-fit
731
- */
732
- "object-fit": [{
733
- object: ["contain", "cover", "fill", "none", "scale-down"]
734
- }],
735
- /**
736
- * Object Position
737
- * @see https://tailwindcss.com/docs/object-position
738
- */
739
- "object-position": [{
740
- object: scalePositionWithArbitrary()
741
- }],
742
- /**
743
- * Overflow
744
- * @see https://tailwindcss.com/docs/overflow
745
- */
746
- overflow: [{
747
- overflow: scaleOverflow()
748
- }],
749
- /**
750
- * Overflow X
751
- * @see https://tailwindcss.com/docs/overflow
752
- */
753
- "overflow-x": [{
754
- "overflow-x": scaleOverflow()
755
- }],
756
- /**
757
- * Overflow Y
758
- * @see https://tailwindcss.com/docs/overflow
759
- */
760
- "overflow-y": [{
761
- "overflow-y": scaleOverflow()
762
- }],
763
- /**
764
- * Overscroll Behavior
765
- * @see https://tailwindcss.com/docs/overscroll-behavior
766
- */
767
- overscroll: [{
768
- overscroll: scaleOverscroll()
769
- }],
770
- /**
771
- * Overscroll Behavior X
772
- * @see https://tailwindcss.com/docs/overscroll-behavior
773
- */
774
- "overscroll-x": [{
775
- "overscroll-x": scaleOverscroll()
776
- }],
777
- /**
778
- * Overscroll Behavior Y
779
- * @see https://tailwindcss.com/docs/overscroll-behavior
780
- */
781
- "overscroll-y": [{
782
- "overscroll-y": scaleOverscroll()
783
- }],
784
- /**
785
- * Position
786
- * @see https://tailwindcss.com/docs/position
787
- */
788
- position: ["static", "fixed", "absolute", "relative", "sticky"],
789
- /**
790
- * Inset
791
- * @see https://tailwindcss.com/docs/top-right-bottom-left
792
- */
793
- inset: [{
794
- inset: scaleInset()
795
- }],
796
- /**
797
- * Inset Inline
798
- * @see https://tailwindcss.com/docs/top-right-bottom-left
799
- */
800
- "inset-x": [{
801
- "inset-x": scaleInset()
802
- }],
803
- /**
804
- * Inset Block
805
- * @see https://tailwindcss.com/docs/top-right-bottom-left
806
- */
807
- "inset-y": [{
808
- "inset-y": scaleInset()
809
- }],
810
- /**
811
- * Inset Inline Start
812
- * @see https://tailwindcss.com/docs/top-right-bottom-left
813
- * @todo class group will be renamed to `inset-s` in next major release
814
- */
815
- start: [{
816
- "inset-s": scaleInset(),
817
- /**
818
- * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.
819
- * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
820
- */
821
- start: scaleInset()
822
- }],
823
- /**
824
- * Inset Inline End
825
- * @see https://tailwindcss.com/docs/top-right-bottom-left
826
- * @todo class group will be renamed to `inset-e` in next major release
827
- */
828
- end: [{
829
- "inset-e": scaleInset(),
830
- /**
831
- * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.
832
- * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
833
- */
834
- end: scaleInset()
835
- }],
836
- /**
837
- * Inset Block Start
838
- * @see https://tailwindcss.com/docs/top-right-bottom-left
839
- */
840
- "inset-bs": [{
841
- "inset-bs": scaleInset()
842
- }],
843
- /**
844
- * Inset Block End
845
- * @see https://tailwindcss.com/docs/top-right-bottom-left
846
- */
847
- "inset-be": [{
848
- "inset-be": scaleInset()
849
- }],
850
- /**
851
- * Top
852
- * @see https://tailwindcss.com/docs/top-right-bottom-left
853
- */
854
- top: [{
855
- top: scaleInset()
856
- }],
857
- /**
858
- * Right
859
- * @see https://tailwindcss.com/docs/top-right-bottom-left
860
- */
861
- right: [{
862
- right: scaleInset()
863
- }],
864
- /**
865
- * Bottom
866
- * @see https://tailwindcss.com/docs/top-right-bottom-left
867
- */
868
- bottom: [{
869
- bottom: scaleInset()
870
- }],
871
- /**
872
- * Left
873
- * @see https://tailwindcss.com/docs/top-right-bottom-left
874
- */
875
- left: [{
876
- left: scaleInset()
877
- }],
878
- /**
879
- * Visibility
880
- * @see https://tailwindcss.com/docs/visibility
881
- */
882
- visibility: ["visible", "invisible", "collapse"],
883
- /**
884
- * Z-Index
885
- * @see https://tailwindcss.com/docs/z-index
886
- */
887
- z: [{
888
- z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
889
- }],
890
- // ------------------------
891
- // --- Flexbox and Grid ---
892
- // ------------------------
893
- /**
894
- * Flex Basis
895
- * @see https://tailwindcss.com/docs/flex-basis
896
- */
897
- basis: [{
898
- basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
899
- }],
900
- /**
901
- * Flex Direction
902
- * @see https://tailwindcss.com/docs/flex-direction
903
- */
904
- "flex-direction": [{
905
- flex: ["row", "row-reverse", "col", "col-reverse"]
906
- }],
907
- /**
908
- * Flex Wrap
909
- * @see https://tailwindcss.com/docs/flex-wrap
910
- */
911
- "flex-wrap": [{
912
- flex: ["nowrap", "wrap", "wrap-reverse"]
913
- }],
914
- /**
915
- * Flex
916
- * @see https://tailwindcss.com/docs/flex
917
- */
918
- flex: [{
919
- flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
920
- }],
921
- /**
922
- * Flex Grow
923
- * @see https://tailwindcss.com/docs/flex-grow
924
- */
925
- grow: [{
926
- grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
927
- }],
928
- /**
929
- * Flex Shrink
930
- * @see https://tailwindcss.com/docs/flex-shrink
931
- */
932
- shrink: [{
933
- shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
934
- }],
935
- /**
936
- * Order
937
- * @see https://tailwindcss.com/docs/order
938
- */
939
- order: [{
940
- order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
941
- }],
942
- /**
943
- * Grid Template Columns
944
- * @see https://tailwindcss.com/docs/grid-template-columns
945
- */
946
- "grid-cols": [{
947
- "grid-cols": scaleGridTemplateColsRows()
948
- }],
949
- /**
950
- * Grid Column Start / End
951
- * @see https://tailwindcss.com/docs/grid-column
952
- */
953
- "col-start-end": [{
954
- col: scaleGridColRowStartAndEnd()
955
- }],
956
- /**
957
- * Grid Column Start
958
- * @see https://tailwindcss.com/docs/grid-column
959
- */
960
- "col-start": [{
961
- "col-start": scaleGridColRowStartOrEnd()
962
- }],
963
- /**
964
- * Grid Column End
965
- * @see https://tailwindcss.com/docs/grid-column
966
- */
967
- "col-end": [{
968
- "col-end": scaleGridColRowStartOrEnd()
969
- }],
970
- /**
971
- * Grid Template Rows
972
- * @see https://tailwindcss.com/docs/grid-template-rows
973
- */
974
- "grid-rows": [{
975
- "grid-rows": scaleGridTemplateColsRows()
976
- }],
977
- /**
978
- * Grid Row Start / End
979
- * @see https://tailwindcss.com/docs/grid-row
980
- */
981
- "row-start-end": [{
982
- row: scaleGridColRowStartAndEnd()
983
- }],
984
- /**
985
- * Grid Row Start
986
- * @see https://tailwindcss.com/docs/grid-row
987
- */
988
- "row-start": [{
989
- "row-start": scaleGridColRowStartOrEnd()
990
- }],
991
- /**
992
- * Grid Row End
993
- * @see https://tailwindcss.com/docs/grid-row
994
- */
995
- "row-end": [{
996
- "row-end": scaleGridColRowStartOrEnd()
997
- }],
998
- /**
999
- * Grid Auto Flow
1000
- * @see https://tailwindcss.com/docs/grid-auto-flow
1001
- */
1002
- "grid-flow": [{
1003
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1004
- }],
1005
- /**
1006
- * Grid Auto Columns
1007
- * @see https://tailwindcss.com/docs/grid-auto-columns
1008
- */
1009
- "auto-cols": [{
1010
- "auto-cols": scaleGridAutoColsRows()
1011
- }],
1012
- /**
1013
- * Grid Auto Rows
1014
- * @see https://tailwindcss.com/docs/grid-auto-rows
1015
- */
1016
- "auto-rows": [{
1017
- "auto-rows": scaleGridAutoColsRows()
1018
- }],
1019
- /**
1020
- * Gap
1021
- * @see https://tailwindcss.com/docs/gap
1022
- */
1023
- gap: [{
1024
- gap: scaleUnambiguousSpacing()
1025
- }],
1026
- /**
1027
- * Gap X
1028
- * @see https://tailwindcss.com/docs/gap
1029
- */
1030
- "gap-x": [{
1031
- "gap-x": scaleUnambiguousSpacing()
1032
- }],
1033
- /**
1034
- * Gap Y
1035
- * @see https://tailwindcss.com/docs/gap
1036
- */
1037
- "gap-y": [{
1038
- "gap-y": scaleUnambiguousSpacing()
1039
- }],
1040
- /**
1041
- * Justify Content
1042
- * @see https://tailwindcss.com/docs/justify-content
1043
- */
1044
- "justify-content": [{
1045
- justify: [...scaleAlignPrimaryAxis(), "normal"]
1046
- }],
1047
- /**
1048
- * Justify Items
1049
- * @see https://tailwindcss.com/docs/justify-items
1050
- */
1051
- "justify-items": [{
1052
- "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
1053
- }],
1054
- /**
1055
- * Justify Self
1056
- * @see https://tailwindcss.com/docs/justify-self
1057
- */
1058
- "justify-self": [{
1059
- "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
1060
- }],
1061
- /**
1062
- * Align Content
1063
- * @see https://tailwindcss.com/docs/align-content
1064
- */
1065
- "align-content": [{
1066
- content: ["normal", ...scaleAlignPrimaryAxis()]
1067
- }],
1068
- /**
1069
- * Align Items
1070
- * @see https://tailwindcss.com/docs/align-items
1071
- */
1072
- "align-items": [{
1073
- items: [...scaleAlignSecondaryAxis(), {
1074
- baseline: ["", "last"]
1075
- }]
1076
- }],
1077
- /**
1078
- * Align Self
1079
- * @see https://tailwindcss.com/docs/align-self
1080
- */
1081
- "align-self": [{
1082
- self: ["auto", ...scaleAlignSecondaryAxis(), {
1083
- baseline: ["", "last"]
1084
- }]
1085
- }],
1086
- /**
1087
- * Place Content
1088
- * @see https://tailwindcss.com/docs/place-content
1089
- */
1090
- "place-content": [{
1091
- "place-content": scaleAlignPrimaryAxis()
1092
- }],
1093
- /**
1094
- * Place Items
1095
- * @see https://tailwindcss.com/docs/place-items
1096
- */
1097
- "place-items": [{
1098
- "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
1099
- }],
1100
- /**
1101
- * Place Self
1102
- * @see https://tailwindcss.com/docs/place-self
1103
- */
1104
- "place-self": [{
1105
- "place-self": ["auto", ...scaleAlignSecondaryAxis()]
1106
- }],
1107
- // Spacing
1108
- /**
1109
- * Padding
1110
- * @see https://tailwindcss.com/docs/padding
1111
- */
1112
- p: [{
1113
- p: scaleUnambiguousSpacing()
1114
- }],
1115
- /**
1116
- * Padding Inline
1117
- * @see https://tailwindcss.com/docs/padding
1118
- */
1119
- px: [{
1120
- px: scaleUnambiguousSpacing()
1121
- }],
1122
- /**
1123
- * Padding Block
1124
- * @see https://tailwindcss.com/docs/padding
1125
- */
1126
- py: [{
1127
- py: scaleUnambiguousSpacing()
1128
- }],
1129
- /**
1130
- * Padding Inline Start
1131
- * @see https://tailwindcss.com/docs/padding
1132
- */
1133
- ps: [{
1134
- ps: scaleUnambiguousSpacing()
1135
- }],
1136
- /**
1137
- * Padding Inline End
1138
- * @see https://tailwindcss.com/docs/padding
1139
- */
1140
- pe: [{
1141
- pe: scaleUnambiguousSpacing()
1142
- }],
1143
- /**
1144
- * Padding Block Start
1145
- * @see https://tailwindcss.com/docs/padding
1146
- */
1147
- pbs: [{
1148
- pbs: scaleUnambiguousSpacing()
1149
- }],
1150
- /**
1151
- * Padding Block End
1152
- * @see https://tailwindcss.com/docs/padding
1153
- */
1154
- pbe: [{
1155
- pbe: scaleUnambiguousSpacing()
1156
- }],
1157
- /**
1158
- * Padding Top
1159
- * @see https://tailwindcss.com/docs/padding
1160
- */
1161
- pt: [{
1162
- pt: scaleUnambiguousSpacing()
1163
- }],
1164
- /**
1165
- * Padding Right
1166
- * @see https://tailwindcss.com/docs/padding
1167
- */
1168
- pr: [{
1169
- pr: scaleUnambiguousSpacing()
1170
- }],
1171
- /**
1172
- * Padding Bottom
1173
- * @see https://tailwindcss.com/docs/padding
1174
- */
1175
- pb: [{
1176
- pb: scaleUnambiguousSpacing()
1177
- }],
1178
- /**
1179
- * Padding Left
1180
- * @see https://tailwindcss.com/docs/padding
1181
- */
1182
- pl: [{
1183
- pl: scaleUnambiguousSpacing()
1184
- }],
1185
- /**
1186
- * Margin
1187
- * @see https://tailwindcss.com/docs/margin
1188
- */
1189
- m: [{
1190
- m: scaleMargin()
1191
- }],
1192
- /**
1193
- * Margin Inline
1194
- * @see https://tailwindcss.com/docs/margin
1195
- */
1196
- mx: [{
1197
- mx: scaleMargin()
1198
- }],
1199
- /**
1200
- * Margin Block
1201
- * @see https://tailwindcss.com/docs/margin
1202
- */
1203
- my: [{
1204
- my: scaleMargin()
1205
- }],
1206
- /**
1207
- * Margin Inline Start
1208
- * @see https://tailwindcss.com/docs/margin
1209
- */
1210
- ms: [{
1211
- ms: scaleMargin()
1212
- }],
1213
- /**
1214
- * Margin Inline End
1215
- * @see https://tailwindcss.com/docs/margin
1216
- */
1217
- me: [{
1218
- me: scaleMargin()
1219
- }],
1220
- /**
1221
- * Margin Block Start
1222
- * @see https://tailwindcss.com/docs/margin
1223
- */
1224
- mbs: [{
1225
- mbs: scaleMargin()
1226
- }],
1227
- /**
1228
- * Margin Block End
1229
- * @see https://tailwindcss.com/docs/margin
1230
- */
1231
- mbe: [{
1232
- mbe: scaleMargin()
1233
- }],
1234
- /**
1235
- * Margin Top
1236
- * @see https://tailwindcss.com/docs/margin
1237
- */
1238
- mt: [{
1239
- mt: scaleMargin()
1240
- }],
1241
- /**
1242
- * Margin Right
1243
- * @see https://tailwindcss.com/docs/margin
1244
- */
1245
- mr: [{
1246
- mr: scaleMargin()
1247
- }],
1248
- /**
1249
- * Margin Bottom
1250
- * @see https://tailwindcss.com/docs/margin
1251
- */
1252
- mb: [{
1253
- mb: scaleMargin()
1254
- }],
1255
- /**
1256
- * Margin Left
1257
- * @see https://tailwindcss.com/docs/margin
1258
- */
1259
- ml: [{
1260
- ml: scaleMargin()
1261
- }],
1262
- /**
1263
- * Space Between X
1264
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1265
- */
1266
- "space-x": [{
1267
- "space-x": scaleUnambiguousSpacing()
1268
- }],
1269
- /**
1270
- * Space Between X Reverse
1271
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1272
- */
1273
- "space-x-reverse": ["space-x-reverse"],
1274
- /**
1275
- * Space Between Y
1276
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1277
- */
1278
- "space-y": [{
1279
- "space-y": scaleUnambiguousSpacing()
1280
- }],
1281
- /**
1282
- * Space Between Y Reverse
1283
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1284
- */
1285
- "space-y-reverse": ["space-y-reverse"],
1286
- // --------------
1287
- // --- Sizing ---
1288
- // --------------
1289
- /**
1290
- * Size
1291
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1292
- */
1293
- size: [{
1294
- size: scaleSizing()
1295
- }],
1296
- /**
1297
- * Inline Size
1298
- * @see https://tailwindcss.com/docs/width
1299
- */
1300
- "inline-size": [{
1301
- inline: ["auto", ...scaleSizingInline()]
1302
- }],
1303
- /**
1304
- * Min-Inline Size
1305
- * @see https://tailwindcss.com/docs/min-width
1306
- */
1307
- "min-inline-size": [{
1308
- "min-inline": ["auto", ...scaleSizingInline()]
1309
- }],
1310
- /**
1311
- * Max-Inline Size
1312
- * @see https://tailwindcss.com/docs/max-width
1313
- */
1314
- "max-inline-size": [{
1315
- "max-inline": ["none", ...scaleSizingInline()]
1316
- }],
1317
- /**
1318
- * Block Size
1319
- * @see https://tailwindcss.com/docs/height
1320
- */
1321
- "block-size": [{
1322
- block: ["auto", ...scaleSizingBlock()]
1323
- }],
1324
- /**
1325
- * Min-Block Size
1326
- * @see https://tailwindcss.com/docs/min-height
1327
- */
1328
- "min-block-size": [{
1329
- "min-block": ["auto", ...scaleSizingBlock()]
1330
- }],
1331
- /**
1332
- * Max-Block Size
1333
- * @see https://tailwindcss.com/docs/max-height
1334
- */
1335
- "max-block-size": [{
1336
- "max-block": ["none", ...scaleSizingBlock()]
1337
- }],
1338
- /**
1339
- * Width
1340
- * @see https://tailwindcss.com/docs/width
1341
- */
1342
- w: [{
1343
- w: [themeContainer, "screen", ...scaleSizing()]
1344
- }],
1345
- /**
1346
- * Min-Width
1347
- * @see https://tailwindcss.com/docs/min-width
1348
- */
1349
- "min-w": [{
1350
- "min-w": [
1351
- themeContainer,
1352
- "screen",
1353
- /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1354
- "none",
1355
- ...scaleSizing()
1356
- ]
1357
- }],
1358
- /**
1359
- * Max-Width
1360
- * @see https://tailwindcss.com/docs/max-width
1361
- */
1362
- "max-w": [{
1363
- "max-w": [
1364
- themeContainer,
1365
- "screen",
1366
- "none",
1367
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1368
- "prose",
1369
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1370
- {
1371
- screen: [themeBreakpoint]
1372
- },
1373
- ...scaleSizing()
1374
- ]
1375
- }],
1376
- /**
1377
- * Height
1378
- * @see https://tailwindcss.com/docs/height
1379
- */
1380
- h: [{
1381
- h: ["screen", "lh", ...scaleSizing()]
1382
- }],
1383
- /**
1384
- * Min-Height
1385
- * @see https://tailwindcss.com/docs/min-height
1386
- */
1387
- "min-h": [{
1388
- "min-h": ["screen", "lh", "none", ...scaleSizing()]
1389
- }],
1390
- /**
1391
- * Max-Height
1392
- * @see https://tailwindcss.com/docs/max-height
1393
- */
1394
- "max-h": [{
1395
- "max-h": ["screen", "lh", ...scaleSizing()]
1396
- }],
1397
- // ------------------
1398
- // --- Typography ---
1399
- // ------------------
1400
- /**
1401
- * Font Size
1402
- * @see https://tailwindcss.com/docs/font-size
1403
- */
1404
- "font-size": [{
1405
- text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
1406
- }],
1407
- /**
1408
- * Font Smoothing
1409
- * @see https://tailwindcss.com/docs/font-smoothing
1410
- */
1411
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
1412
- /**
1413
- * Font Style
1414
- * @see https://tailwindcss.com/docs/font-style
1415
- */
1416
- "font-style": ["italic", "not-italic"],
1417
- /**
1418
- * Font Weight
1419
- * @see https://tailwindcss.com/docs/font-weight
1420
- */
1421
- "font-weight": [{
1422
- font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]
1423
- }],
1424
- /**
1425
- * Font Stretch
1426
- * @see https://tailwindcss.com/docs/font-stretch
1427
- */
1428
- "font-stretch": [{
1429
- "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
1430
- }],
1431
- /**
1432
- * Font Family
1433
- * @see https://tailwindcss.com/docs/font-family
1434
- */
1435
- "font-family": [{
1436
- font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]
1437
- }],
1438
- /**
1439
- * Font Feature Settings
1440
- * @see https://tailwindcss.com/docs/font-feature-settings
1441
- */
1442
- "font-features": [{
1443
- "font-features": [isArbitraryValue]
1444
- }],
1445
- /**
1446
- * Font Variant Numeric
1447
- * @see https://tailwindcss.com/docs/font-variant-numeric
1448
- */
1449
- "fvn-normal": ["normal-nums"],
1450
- /**
1451
- * Font Variant Numeric
1452
- * @see https://tailwindcss.com/docs/font-variant-numeric
1453
- */
1454
- "fvn-ordinal": ["ordinal"],
1455
- /**
1456
- * Font Variant Numeric
1457
- * @see https://tailwindcss.com/docs/font-variant-numeric
1458
- */
1459
- "fvn-slashed-zero": ["slashed-zero"],
1460
- /**
1461
- * Font Variant Numeric
1462
- * @see https://tailwindcss.com/docs/font-variant-numeric
1463
- */
1464
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
1465
- /**
1466
- * Font Variant Numeric
1467
- * @see https://tailwindcss.com/docs/font-variant-numeric
1468
- */
1469
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
1470
- /**
1471
- * Font Variant Numeric
1472
- * @see https://tailwindcss.com/docs/font-variant-numeric
1473
- */
1474
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1475
- /**
1476
- * Letter Spacing
1477
- * @see https://tailwindcss.com/docs/letter-spacing
1478
- */
1479
- tracking: [{
1480
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
1481
- }],
1482
- /**
1483
- * Line Clamp
1484
- * @see https://tailwindcss.com/docs/line-clamp
1485
- */
1486
- "line-clamp": [{
1487
- "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
1488
- }],
1489
- /**
1490
- * Line Height
1491
- * @see https://tailwindcss.com/docs/line-height
1492
- */
1493
- leading: [{
1494
- leading: [
1495
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1496
- themeLeading,
1497
- ...scaleUnambiguousSpacing()
1498
- ]
1499
- }],
1500
- /**
1501
- * List Style Image
1502
- * @see https://tailwindcss.com/docs/list-style-image
1503
- */
1504
- "list-image": [{
1505
- "list-image": ["none", isArbitraryVariable, isArbitraryValue]
1506
- }],
1507
- /**
1508
- * List Style Position
1509
- * @see https://tailwindcss.com/docs/list-style-position
1510
- */
1511
- "list-style-position": [{
1512
- list: ["inside", "outside"]
1513
- }],
1514
- /**
1515
- * List Style Type
1516
- * @see https://tailwindcss.com/docs/list-style-type
1517
- */
1518
- "list-style-type": [{
1519
- list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
1520
- }],
1521
- /**
1522
- * Text Alignment
1523
- * @see https://tailwindcss.com/docs/text-align
1524
- */
1525
- "text-alignment": [{
1526
- text: ["left", "center", "right", "justify", "start", "end"]
1527
- }],
1528
- /**
1529
- * Placeholder Color
1530
- * @deprecated since Tailwind CSS v3.0.0
1531
- * @see https://v3.tailwindcss.com/docs/placeholder-color
1532
- */
1533
- "placeholder-color": [{
1534
- placeholder: scaleColor()
1535
- }],
1536
- /**
1537
- * Text Color
1538
- * @see https://tailwindcss.com/docs/text-color
1539
- */
1540
- "text-color": [{
1541
- text: scaleColor()
1542
- }],
1543
- /**
1544
- * Text Decoration
1545
- * @see https://tailwindcss.com/docs/text-decoration
1546
- */
1547
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1548
- /**
1549
- * Text Decoration Style
1550
- * @see https://tailwindcss.com/docs/text-decoration-style
1551
- */
1552
- "text-decoration-style": [{
1553
- decoration: [...scaleLineStyle(), "wavy"]
1554
- }],
1555
- /**
1556
- * Text Decoration Thickness
1557
- * @see https://tailwindcss.com/docs/text-decoration-thickness
1558
- */
1559
- "text-decoration-thickness": [{
1560
- decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
1561
- }],
1562
- /**
1563
- * Text Decoration Color
1564
- * @see https://tailwindcss.com/docs/text-decoration-color
1565
- */
1566
- "text-decoration-color": [{
1567
- decoration: scaleColor()
1568
- }],
1569
- /**
1570
- * Text Underline Offset
1571
- * @see https://tailwindcss.com/docs/text-underline-offset
1572
- */
1573
- "underline-offset": [{
1574
- "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
1575
- }],
1576
- /**
1577
- * Text Transform
1578
- * @see https://tailwindcss.com/docs/text-transform
1579
- */
1580
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1581
- /**
1582
- * Text Overflow
1583
- * @see https://tailwindcss.com/docs/text-overflow
1584
- */
1585
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1586
- /**
1587
- * Text Wrap
1588
- * @see https://tailwindcss.com/docs/text-wrap
1589
- */
1590
- "text-wrap": [{
1591
- text: ["wrap", "nowrap", "balance", "pretty"]
1592
- }],
1593
- /**
1594
- * Text Indent
1595
- * @see https://tailwindcss.com/docs/text-indent
1596
- */
1597
- indent: [{
1598
- indent: scaleUnambiguousSpacing()
1599
- }],
1600
- /**
1601
- * Vertical Alignment
1602
- * @see https://tailwindcss.com/docs/vertical-align
1603
- */
1604
- "vertical-align": [{
1605
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
1606
- }],
1607
- /**
1608
- * Whitespace
1609
- * @see https://tailwindcss.com/docs/whitespace
1610
- */
1611
- whitespace: [{
1612
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1613
- }],
1614
- /**
1615
- * Word Break
1616
- * @see https://tailwindcss.com/docs/word-break
1617
- */
1618
- break: [{
1619
- break: ["normal", "words", "all", "keep"]
1620
- }],
1621
- /**
1622
- * Overflow Wrap
1623
- * @see https://tailwindcss.com/docs/overflow-wrap
1624
- */
1625
- wrap: [{
1626
- wrap: ["break-word", "anywhere", "normal"]
1627
- }],
1628
- /**
1629
- * Hyphens
1630
- * @see https://tailwindcss.com/docs/hyphens
1631
- */
1632
- hyphens: [{
1633
- hyphens: ["none", "manual", "auto"]
1634
- }],
1635
- /**
1636
- * Content
1637
- * @see https://tailwindcss.com/docs/content
1638
- */
1639
- content: [{
1640
- content: ["none", isArbitraryVariable, isArbitraryValue]
1641
- }],
1642
- // -------------------
1643
- // --- Backgrounds ---
1644
- // -------------------
1645
- /**
1646
- * Background Attachment
1647
- * @see https://tailwindcss.com/docs/background-attachment
1648
- */
1649
- "bg-attachment": [{
1650
- bg: ["fixed", "local", "scroll"]
1651
- }],
1652
- /**
1653
- * Background Clip
1654
- * @see https://tailwindcss.com/docs/background-clip
1655
- */
1656
- "bg-clip": [{
1657
- "bg-clip": ["border", "padding", "content", "text"]
1658
- }],
1659
- /**
1660
- * Background Origin
1661
- * @see https://tailwindcss.com/docs/background-origin
1662
- */
1663
- "bg-origin": [{
1664
- "bg-origin": ["border", "padding", "content"]
1665
- }],
1666
- /**
1667
- * Background Position
1668
- * @see https://tailwindcss.com/docs/background-position
1669
- */
1670
- "bg-position": [{
1671
- bg: scaleBgPosition()
1672
- }],
1673
- /**
1674
- * Background Repeat
1675
- * @see https://tailwindcss.com/docs/background-repeat
1676
- */
1677
- "bg-repeat": [{
1678
- bg: scaleBgRepeat()
1679
- }],
1680
- /**
1681
- * Background Size
1682
- * @see https://tailwindcss.com/docs/background-size
1683
- */
1684
- "bg-size": [{
1685
- bg: scaleBgSize()
1686
- }],
1687
- /**
1688
- * Background Image
1689
- * @see https://tailwindcss.com/docs/background-image
1690
- */
1691
- "bg-image": [{
1692
- bg: ["none", {
1693
- linear: [{
1694
- to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1695
- }, isInteger, isArbitraryVariable, isArbitraryValue],
1696
- radial: ["", isArbitraryVariable, isArbitraryValue],
1697
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
1698
- }, isArbitraryVariableImage, isArbitraryImage]
1699
- }],
1700
- /**
1701
- * Background Color
1702
- * @see https://tailwindcss.com/docs/background-color
1703
- */
1704
- "bg-color": [{
1705
- bg: scaleColor()
1706
- }],
1707
- /**
1708
- * Gradient Color Stops From Position
1709
- * @see https://tailwindcss.com/docs/gradient-color-stops
1710
- */
1711
- "gradient-from-pos": [{
1712
- from: scaleGradientStopPosition()
1713
- }],
1714
- /**
1715
- * Gradient Color Stops Via Position
1716
- * @see https://tailwindcss.com/docs/gradient-color-stops
1717
- */
1718
- "gradient-via-pos": [{
1719
- via: scaleGradientStopPosition()
1720
- }],
1721
- /**
1722
- * Gradient Color Stops To Position
1723
- * @see https://tailwindcss.com/docs/gradient-color-stops
1724
- */
1725
- "gradient-to-pos": [{
1726
- to: scaleGradientStopPosition()
1727
- }],
1728
- /**
1729
- * Gradient Color Stops From
1730
- * @see https://tailwindcss.com/docs/gradient-color-stops
1731
- */
1732
- "gradient-from": [{
1733
- from: scaleColor()
1734
- }],
1735
- /**
1736
- * Gradient Color Stops Via
1737
- * @see https://tailwindcss.com/docs/gradient-color-stops
1738
- */
1739
- "gradient-via": [{
1740
- via: scaleColor()
1741
- }],
1742
- /**
1743
- * Gradient Color Stops To
1744
- * @see https://tailwindcss.com/docs/gradient-color-stops
1745
- */
1746
- "gradient-to": [{
1747
- to: scaleColor()
1748
- }],
1749
- // ---------------
1750
- // --- Borders ---
1751
- // ---------------
1752
- /**
1753
- * Border Radius
1754
- * @see https://tailwindcss.com/docs/border-radius
1755
- */
1756
- rounded: [{
1757
- rounded: scaleRadius()
1758
- }],
1759
- /**
1760
- * Border Radius Start
1761
- * @see https://tailwindcss.com/docs/border-radius
1762
- */
1763
- "rounded-s": [{
1764
- "rounded-s": scaleRadius()
1765
- }],
1766
- /**
1767
- * Border Radius End
1768
- * @see https://tailwindcss.com/docs/border-radius
1769
- */
1770
- "rounded-e": [{
1771
- "rounded-e": scaleRadius()
1772
- }],
1773
- /**
1774
- * Border Radius Top
1775
- * @see https://tailwindcss.com/docs/border-radius
1776
- */
1777
- "rounded-t": [{
1778
- "rounded-t": scaleRadius()
1779
- }],
1780
- /**
1781
- * Border Radius Right
1782
- * @see https://tailwindcss.com/docs/border-radius
1783
- */
1784
- "rounded-r": [{
1785
- "rounded-r": scaleRadius()
1786
- }],
1787
- /**
1788
- * Border Radius Bottom
1789
- * @see https://tailwindcss.com/docs/border-radius
1790
- */
1791
- "rounded-b": [{
1792
- "rounded-b": scaleRadius()
1793
- }],
1794
- /**
1795
- * Border Radius Left
1796
- * @see https://tailwindcss.com/docs/border-radius
1797
- */
1798
- "rounded-l": [{
1799
- "rounded-l": scaleRadius()
1800
- }],
1801
- /**
1802
- * Border Radius Start Start
1803
- * @see https://tailwindcss.com/docs/border-radius
1804
- */
1805
- "rounded-ss": [{
1806
- "rounded-ss": scaleRadius()
1807
- }],
1808
- /**
1809
- * Border Radius Start End
1810
- * @see https://tailwindcss.com/docs/border-radius
1811
- */
1812
- "rounded-se": [{
1813
- "rounded-se": scaleRadius()
1814
- }],
1815
- /**
1816
- * Border Radius End End
1817
- * @see https://tailwindcss.com/docs/border-radius
1818
- */
1819
- "rounded-ee": [{
1820
- "rounded-ee": scaleRadius()
1821
- }],
1822
- /**
1823
- * Border Radius End Start
1824
- * @see https://tailwindcss.com/docs/border-radius
1825
- */
1826
- "rounded-es": [{
1827
- "rounded-es": scaleRadius()
1828
- }],
1829
- /**
1830
- * Border Radius Top Left
1831
- * @see https://tailwindcss.com/docs/border-radius
1832
- */
1833
- "rounded-tl": [{
1834
- "rounded-tl": scaleRadius()
1835
- }],
1836
- /**
1837
- * Border Radius Top Right
1838
- * @see https://tailwindcss.com/docs/border-radius
1839
- */
1840
- "rounded-tr": [{
1841
- "rounded-tr": scaleRadius()
1842
- }],
1843
- /**
1844
- * Border Radius Bottom Right
1845
- * @see https://tailwindcss.com/docs/border-radius
1846
- */
1847
- "rounded-br": [{
1848
- "rounded-br": scaleRadius()
1849
- }],
1850
- /**
1851
- * Border Radius Bottom Left
1852
- * @see https://tailwindcss.com/docs/border-radius
1853
- */
1854
- "rounded-bl": [{
1855
- "rounded-bl": scaleRadius()
1856
- }],
1857
- /**
1858
- * Border Width
1859
- * @see https://tailwindcss.com/docs/border-width
1860
- */
1861
- "border-w": [{
1862
- border: scaleBorderWidth()
1863
- }],
1864
- /**
1865
- * Border Width Inline
1866
- * @see https://tailwindcss.com/docs/border-width
1867
- */
1868
- "border-w-x": [{
1869
- "border-x": scaleBorderWidth()
1870
- }],
1871
- /**
1872
- * Border Width Block
1873
- * @see https://tailwindcss.com/docs/border-width
1874
- */
1875
- "border-w-y": [{
1876
- "border-y": scaleBorderWidth()
1877
- }],
1878
- /**
1879
- * Border Width Inline Start
1880
- * @see https://tailwindcss.com/docs/border-width
1881
- */
1882
- "border-w-s": [{
1883
- "border-s": scaleBorderWidth()
1884
- }],
1885
- /**
1886
- * Border Width Inline End
1887
- * @see https://tailwindcss.com/docs/border-width
1888
- */
1889
- "border-w-e": [{
1890
- "border-e": scaleBorderWidth()
1891
- }],
1892
- /**
1893
- * Border Width Block Start
1894
- * @see https://tailwindcss.com/docs/border-width
1895
- */
1896
- "border-w-bs": [{
1897
- "border-bs": scaleBorderWidth()
1898
- }],
1899
- /**
1900
- * Border Width Block End
1901
- * @see https://tailwindcss.com/docs/border-width
1902
- */
1903
- "border-w-be": [{
1904
- "border-be": scaleBorderWidth()
1905
- }],
1906
- /**
1907
- * Border Width Top
1908
- * @see https://tailwindcss.com/docs/border-width
1909
- */
1910
- "border-w-t": [{
1911
- "border-t": scaleBorderWidth()
1912
- }],
1913
- /**
1914
- * Border Width Right
1915
- * @see https://tailwindcss.com/docs/border-width
1916
- */
1917
- "border-w-r": [{
1918
- "border-r": scaleBorderWidth()
1919
- }],
1920
- /**
1921
- * Border Width Bottom
1922
- * @see https://tailwindcss.com/docs/border-width
1923
- */
1924
- "border-w-b": [{
1925
- "border-b": scaleBorderWidth()
1926
- }],
1927
- /**
1928
- * Border Width Left
1929
- * @see https://tailwindcss.com/docs/border-width
1930
- */
1931
- "border-w-l": [{
1932
- "border-l": scaleBorderWidth()
1933
- }],
1934
- /**
1935
- * Divide Width X
1936
- * @see https://tailwindcss.com/docs/border-width#between-children
1937
- */
1938
- "divide-x": [{
1939
- "divide-x": scaleBorderWidth()
1940
- }],
1941
- /**
1942
- * Divide Width X Reverse
1943
- * @see https://tailwindcss.com/docs/border-width#between-children
1944
- */
1945
- "divide-x-reverse": ["divide-x-reverse"],
1946
- /**
1947
- * Divide Width Y
1948
- * @see https://tailwindcss.com/docs/border-width#between-children
1949
- */
1950
- "divide-y": [{
1951
- "divide-y": scaleBorderWidth()
1952
- }],
1953
- /**
1954
- * Divide Width Y Reverse
1955
- * @see https://tailwindcss.com/docs/border-width#between-children
1956
- */
1957
- "divide-y-reverse": ["divide-y-reverse"],
1958
- /**
1959
- * Border Style
1960
- * @see https://tailwindcss.com/docs/border-style
1961
- */
1962
- "border-style": [{
1963
- border: [...scaleLineStyle(), "hidden", "none"]
1964
- }],
1965
- /**
1966
- * Divide Style
1967
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1968
- */
1969
- "divide-style": [{
1970
- divide: [...scaleLineStyle(), "hidden", "none"]
1971
- }],
1972
- /**
1973
- * Border Color
1974
- * @see https://tailwindcss.com/docs/border-color
1975
- */
1976
- "border-color": [{
1977
- border: scaleColor()
1978
- }],
1979
- /**
1980
- * Border Color Inline
1981
- * @see https://tailwindcss.com/docs/border-color
1982
- */
1983
- "border-color-x": [{
1984
- "border-x": scaleColor()
1985
- }],
1986
- /**
1987
- * Border Color Block
1988
- * @see https://tailwindcss.com/docs/border-color
1989
- */
1990
- "border-color-y": [{
1991
- "border-y": scaleColor()
1992
- }],
1993
- /**
1994
- * Border Color Inline Start
1995
- * @see https://tailwindcss.com/docs/border-color
1996
- */
1997
- "border-color-s": [{
1998
- "border-s": scaleColor()
1999
- }],
2000
- /**
2001
- * Border Color Inline End
2002
- * @see https://tailwindcss.com/docs/border-color
2003
- */
2004
- "border-color-e": [{
2005
- "border-e": scaleColor()
2006
- }],
2007
- /**
2008
- * Border Color Block Start
2009
- * @see https://tailwindcss.com/docs/border-color
2010
- */
2011
- "border-color-bs": [{
2012
- "border-bs": scaleColor()
2013
- }],
2014
- /**
2015
- * Border Color Block End
2016
- * @see https://tailwindcss.com/docs/border-color
2017
- */
2018
- "border-color-be": [{
2019
- "border-be": scaleColor()
2020
- }],
2021
- /**
2022
- * Border Color Top
2023
- * @see https://tailwindcss.com/docs/border-color
2024
- */
2025
- "border-color-t": [{
2026
- "border-t": scaleColor()
2027
- }],
2028
- /**
2029
- * Border Color Right
2030
- * @see https://tailwindcss.com/docs/border-color
2031
- */
2032
- "border-color-r": [{
2033
- "border-r": scaleColor()
2034
- }],
2035
- /**
2036
- * Border Color Bottom
2037
- * @see https://tailwindcss.com/docs/border-color
2038
- */
2039
- "border-color-b": [{
2040
- "border-b": scaleColor()
2041
- }],
2042
- /**
2043
- * Border Color Left
2044
- * @see https://tailwindcss.com/docs/border-color
2045
- */
2046
- "border-color-l": [{
2047
- "border-l": scaleColor()
2048
- }],
2049
- /**
2050
- * Divide Color
2051
- * @see https://tailwindcss.com/docs/divide-color
2052
- */
2053
- "divide-color": [{
2054
- divide: scaleColor()
2055
- }],
2056
- /**
2057
- * Outline Style
2058
- * @see https://tailwindcss.com/docs/outline-style
2059
- */
2060
- "outline-style": [{
2061
- outline: [...scaleLineStyle(), "none", "hidden"]
2062
- }],
2063
- /**
2064
- * Outline Offset
2065
- * @see https://tailwindcss.com/docs/outline-offset
2066
- */
2067
- "outline-offset": [{
2068
- "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
2069
- }],
2070
- /**
2071
- * Outline Width
2072
- * @see https://tailwindcss.com/docs/outline-width
2073
- */
2074
- "outline-w": [{
2075
- outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
2076
- }],
2077
- /**
2078
- * Outline Color
2079
- * @see https://tailwindcss.com/docs/outline-color
2080
- */
2081
- "outline-color": [{
2082
- outline: scaleColor()
2083
- }],
2084
- // ---------------
2085
- // --- Effects ---
2086
- // ---------------
2087
- /**
2088
- * Box Shadow
2089
- * @see https://tailwindcss.com/docs/box-shadow
2090
- */
2091
- shadow: [{
2092
- shadow: [
2093
- // Deprecated since Tailwind CSS v4.0.0
2094
- "",
2095
- "none",
2096
- themeShadow,
2097
- isArbitraryVariableShadow,
2098
- isArbitraryShadow
2099
- ]
2100
- }],
2101
- /**
2102
- * Box Shadow Color
2103
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
2104
- */
2105
- "shadow-color": [{
2106
- shadow: scaleColor()
2107
- }],
2108
- /**
2109
- * Inset Box Shadow
2110
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2111
- */
2112
- "inset-shadow": [{
2113
- "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
2114
- }],
2115
- /**
2116
- * Inset Box Shadow Color
2117
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2118
- */
2119
- "inset-shadow-color": [{
2120
- "inset-shadow": scaleColor()
2121
- }],
2122
- /**
2123
- * Ring Width
2124
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2125
- */
2126
- "ring-w": [{
2127
- ring: scaleBorderWidth()
2128
- }],
2129
- /**
2130
- * Ring Width Inset
2131
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2132
- * @deprecated since Tailwind CSS v4.0.0
2133
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2134
- */
2135
- "ring-w-inset": ["ring-inset"],
2136
- /**
2137
- * Ring Color
2138
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2139
- */
2140
- "ring-color": [{
2141
- ring: scaleColor()
2142
- }],
2143
- /**
2144
- * Ring Offset Width
2145
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
2146
- * @deprecated since Tailwind CSS v4.0.0
2147
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2148
- */
2149
- "ring-offset-w": [{
2150
- "ring-offset": [isNumber, isArbitraryLength]
2151
- }],
2152
- /**
2153
- * Ring Offset Color
2154
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
2155
- * @deprecated since Tailwind CSS v4.0.0
2156
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2157
- */
2158
- "ring-offset-color": [{
2159
- "ring-offset": scaleColor()
2160
- }],
2161
- /**
2162
- * Inset Ring Width
2163
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2164
- */
2165
- "inset-ring-w": [{
2166
- "inset-ring": scaleBorderWidth()
2167
- }],
2168
- /**
2169
- * Inset Ring Color
2170
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2171
- */
2172
- "inset-ring-color": [{
2173
- "inset-ring": scaleColor()
2174
- }],
2175
- /**
2176
- * Text Shadow
2177
- * @see https://tailwindcss.com/docs/text-shadow
2178
- */
2179
- "text-shadow": [{
2180
- "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
2181
- }],
2182
- /**
2183
- * Text Shadow Color
2184
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2185
- */
2186
- "text-shadow-color": [{
2187
- "text-shadow": scaleColor()
2188
- }],
2189
- /**
2190
- * Opacity
2191
- * @see https://tailwindcss.com/docs/opacity
2192
- */
2193
- opacity: [{
2194
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
2195
- }],
2196
- /**
2197
- * Mix Blend Mode
2198
- * @see https://tailwindcss.com/docs/mix-blend-mode
2199
- */
2200
- "mix-blend": [{
2201
- "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
2202
- }],
2203
- /**
2204
- * Background Blend Mode
2205
- * @see https://tailwindcss.com/docs/background-blend-mode
2206
- */
2207
- "bg-blend": [{
2208
- "bg-blend": scaleBlendMode()
2209
- }],
2210
- /**
2211
- * Mask Clip
2212
- * @see https://tailwindcss.com/docs/mask-clip
2213
- */
2214
- "mask-clip": [{
2215
- "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2216
- }, "mask-no-clip"],
2217
- /**
2218
- * Mask Composite
2219
- * @see https://tailwindcss.com/docs/mask-composite
2220
- */
2221
- "mask-composite": [{
2222
- mask: ["add", "subtract", "intersect", "exclude"]
2223
- }],
2224
- /**
2225
- * Mask Image
2226
- * @see https://tailwindcss.com/docs/mask-image
2227
- */
2228
- "mask-image-linear-pos": [{
2229
- "mask-linear": [isNumber]
2230
- }],
2231
- "mask-image-linear-from-pos": [{
2232
- "mask-linear-from": scaleMaskImagePosition()
2233
- }],
2234
- "mask-image-linear-to-pos": [{
2235
- "mask-linear-to": scaleMaskImagePosition()
2236
- }],
2237
- "mask-image-linear-from-color": [{
2238
- "mask-linear-from": scaleColor()
2239
- }],
2240
- "mask-image-linear-to-color": [{
2241
- "mask-linear-to": scaleColor()
2242
- }],
2243
- "mask-image-t-from-pos": [{
2244
- "mask-t-from": scaleMaskImagePosition()
2245
- }],
2246
- "mask-image-t-to-pos": [{
2247
- "mask-t-to": scaleMaskImagePosition()
2248
- }],
2249
- "mask-image-t-from-color": [{
2250
- "mask-t-from": scaleColor()
2251
- }],
2252
- "mask-image-t-to-color": [{
2253
- "mask-t-to": scaleColor()
2254
- }],
2255
- "mask-image-r-from-pos": [{
2256
- "mask-r-from": scaleMaskImagePosition()
2257
- }],
2258
- "mask-image-r-to-pos": [{
2259
- "mask-r-to": scaleMaskImagePosition()
2260
- }],
2261
- "mask-image-r-from-color": [{
2262
- "mask-r-from": scaleColor()
2263
- }],
2264
- "mask-image-r-to-color": [{
2265
- "mask-r-to": scaleColor()
2266
- }],
2267
- "mask-image-b-from-pos": [{
2268
- "mask-b-from": scaleMaskImagePosition()
2269
- }],
2270
- "mask-image-b-to-pos": [{
2271
- "mask-b-to": scaleMaskImagePosition()
2272
- }],
2273
- "mask-image-b-from-color": [{
2274
- "mask-b-from": scaleColor()
2275
- }],
2276
- "mask-image-b-to-color": [{
2277
- "mask-b-to": scaleColor()
2278
- }],
2279
- "mask-image-l-from-pos": [{
2280
- "mask-l-from": scaleMaskImagePosition()
2281
- }],
2282
- "mask-image-l-to-pos": [{
2283
- "mask-l-to": scaleMaskImagePosition()
2284
- }],
2285
- "mask-image-l-from-color": [{
2286
- "mask-l-from": scaleColor()
2287
- }],
2288
- "mask-image-l-to-color": [{
2289
- "mask-l-to": scaleColor()
2290
- }],
2291
- "mask-image-x-from-pos": [{
2292
- "mask-x-from": scaleMaskImagePosition()
2293
- }],
2294
- "mask-image-x-to-pos": [{
2295
- "mask-x-to": scaleMaskImagePosition()
2296
- }],
2297
- "mask-image-x-from-color": [{
2298
- "mask-x-from": scaleColor()
2299
- }],
2300
- "mask-image-x-to-color": [{
2301
- "mask-x-to": scaleColor()
2302
- }],
2303
- "mask-image-y-from-pos": [{
2304
- "mask-y-from": scaleMaskImagePosition()
2305
- }],
2306
- "mask-image-y-to-pos": [{
2307
- "mask-y-to": scaleMaskImagePosition()
2308
- }],
2309
- "mask-image-y-from-color": [{
2310
- "mask-y-from": scaleColor()
2311
- }],
2312
- "mask-image-y-to-color": [{
2313
- "mask-y-to": scaleColor()
2314
- }],
2315
- "mask-image-radial": [{
2316
- "mask-radial": [isArbitraryVariable, isArbitraryValue]
2317
- }],
2318
- "mask-image-radial-from-pos": [{
2319
- "mask-radial-from": scaleMaskImagePosition()
2320
- }],
2321
- "mask-image-radial-to-pos": [{
2322
- "mask-radial-to": scaleMaskImagePosition()
2323
- }],
2324
- "mask-image-radial-from-color": [{
2325
- "mask-radial-from": scaleColor()
2326
- }],
2327
- "mask-image-radial-to-color": [{
2328
- "mask-radial-to": scaleColor()
2329
- }],
2330
- "mask-image-radial-shape": [{
2331
- "mask-radial": ["circle", "ellipse"]
2332
- }],
2333
- "mask-image-radial-size": [{
2334
- "mask-radial": [{
2335
- closest: ["side", "corner"],
2336
- farthest: ["side", "corner"]
2337
- }]
2338
- }],
2339
- "mask-image-radial-pos": [{
2340
- "mask-radial-at": scalePosition()
2341
- }],
2342
- "mask-image-conic-pos": [{
2343
- "mask-conic": [isNumber]
2344
- }],
2345
- "mask-image-conic-from-pos": [{
2346
- "mask-conic-from": scaleMaskImagePosition()
2347
- }],
2348
- "mask-image-conic-to-pos": [{
2349
- "mask-conic-to": scaleMaskImagePosition()
2350
- }],
2351
- "mask-image-conic-from-color": [{
2352
- "mask-conic-from": scaleColor()
2353
- }],
2354
- "mask-image-conic-to-color": [{
2355
- "mask-conic-to": scaleColor()
2356
- }],
2357
- /**
2358
- * Mask Mode
2359
- * @see https://tailwindcss.com/docs/mask-mode
2360
- */
2361
- "mask-mode": [{
2362
- mask: ["alpha", "luminance", "match"]
2363
- }],
2364
- /**
2365
- * Mask Origin
2366
- * @see https://tailwindcss.com/docs/mask-origin
2367
- */
2368
- "mask-origin": [{
2369
- "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2370
- }],
2371
- /**
2372
- * Mask Position
2373
- * @see https://tailwindcss.com/docs/mask-position
2374
- */
2375
- "mask-position": [{
2376
- mask: scaleBgPosition()
2377
- }],
2378
- /**
2379
- * Mask Repeat
2380
- * @see https://tailwindcss.com/docs/mask-repeat
2381
- */
2382
- "mask-repeat": [{
2383
- mask: scaleBgRepeat()
2384
- }],
2385
- /**
2386
- * Mask Size
2387
- * @see https://tailwindcss.com/docs/mask-size
2388
- */
2389
- "mask-size": [{
2390
- mask: scaleBgSize()
2391
- }],
2392
- /**
2393
- * Mask Type
2394
- * @see https://tailwindcss.com/docs/mask-type
2395
- */
2396
- "mask-type": [{
2397
- "mask-type": ["alpha", "luminance"]
2398
- }],
2399
- /**
2400
- * Mask Image
2401
- * @see https://tailwindcss.com/docs/mask-image
2402
- */
2403
- "mask-image": [{
2404
- mask: ["none", isArbitraryVariable, isArbitraryValue]
2405
- }],
2406
- // ---------------
2407
- // --- Filters ---
2408
- // ---------------
2409
- /**
2410
- * Filter
2411
- * @see https://tailwindcss.com/docs/filter
2412
- */
2413
- filter: [{
2414
- filter: [
2415
- // Deprecated since Tailwind CSS v3.0.0
2416
- "",
2417
- "none",
2418
- isArbitraryVariable,
2419
- isArbitraryValue
2420
- ]
2421
- }],
2422
- /**
2423
- * Blur
2424
- * @see https://tailwindcss.com/docs/blur
2425
- */
2426
- blur: [{
2427
- blur: scaleBlur()
2428
- }],
2429
- /**
2430
- * Brightness
2431
- * @see https://tailwindcss.com/docs/brightness
2432
- */
2433
- brightness: [{
2434
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
2435
- }],
2436
- /**
2437
- * Contrast
2438
- * @see https://tailwindcss.com/docs/contrast
2439
- */
2440
- contrast: [{
2441
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
2442
- }],
2443
- /**
2444
- * Drop Shadow
2445
- * @see https://tailwindcss.com/docs/drop-shadow
2446
- */
2447
- "drop-shadow": [{
2448
- "drop-shadow": [
2449
- // Deprecated since Tailwind CSS v4.0.0
2450
- "",
2451
- "none",
2452
- themeDropShadow,
2453
- isArbitraryVariableShadow,
2454
- isArbitraryShadow
2455
- ]
2456
- }],
2457
- /**
2458
- * Drop Shadow Color
2459
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2460
- */
2461
- "drop-shadow-color": [{
2462
- "drop-shadow": scaleColor()
2463
- }],
2464
- /**
2465
- * Grayscale
2466
- * @see https://tailwindcss.com/docs/grayscale
2467
- */
2468
- grayscale: [{
2469
- grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2470
- }],
2471
- /**
2472
- * Hue Rotate
2473
- * @see https://tailwindcss.com/docs/hue-rotate
2474
- */
2475
- "hue-rotate": [{
2476
- "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2477
- }],
2478
- /**
2479
- * Invert
2480
- * @see https://tailwindcss.com/docs/invert
2481
- */
2482
- invert: [{
2483
- invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2484
- }],
2485
- /**
2486
- * Saturate
2487
- * @see https://tailwindcss.com/docs/saturate
2488
- */
2489
- saturate: [{
2490
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
2491
- }],
2492
- /**
2493
- * Sepia
2494
- * @see https://tailwindcss.com/docs/sepia
2495
- */
2496
- sepia: [{
2497
- sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2498
- }],
2499
- /**
2500
- * Backdrop Filter
2501
- * @see https://tailwindcss.com/docs/backdrop-filter
2502
- */
2503
- "backdrop-filter": [{
2504
- "backdrop-filter": [
2505
- // Deprecated since Tailwind CSS v3.0.0
2506
- "",
2507
- "none",
2508
- isArbitraryVariable,
2509
- isArbitraryValue
2510
- ]
2511
- }],
2512
- /**
2513
- * Backdrop Blur
2514
- * @see https://tailwindcss.com/docs/backdrop-blur
2515
- */
2516
- "backdrop-blur": [{
2517
- "backdrop-blur": scaleBlur()
2518
- }],
2519
- /**
2520
- * Backdrop Brightness
2521
- * @see https://tailwindcss.com/docs/backdrop-brightness
2522
- */
2523
- "backdrop-brightness": [{
2524
- "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
2525
- }],
2526
- /**
2527
- * Backdrop Contrast
2528
- * @see https://tailwindcss.com/docs/backdrop-contrast
2529
- */
2530
- "backdrop-contrast": [{
2531
- "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
2532
- }],
2533
- /**
2534
- * Backdrop Grayscale
2535
- * @see https://tailwindcss.com/docs/backdrop-grayscale
2536
- */
2537
- "backdrop-grayscale": [{
2538
- "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2539
- }],
2540
- /**
2541
- * Backdrop Hue Rotate
2542
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2543
- */
2544
- "backdrop-hue-rotate": [{
2545
- "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2546
- }],
2547
- /**
2548
- * Backdrop Invert
2549
- * @see https://tailwindcss.com/docs/backdrop-invert
2550
- */
2551
- "backdrop-invert": [{
2552
- "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2553
- }],
2554
- /**
2555
- * Backdrop Opacity
2556
- * @see https://tailwindcss.com/docs/backdrop-opacity
2557
- */
2558
- "backdrop-opacity": [{
2559
- "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
2560
- }],
2561
- /**
2562
- * Backdrop Saturate
2563
- * @see https://tailwindcss.com/docs/backdrop-saturate
2564
- */
2565
- "backdrop-saturate": [{
2566
- "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
2567
- }],
2568
- /**
2569
- * Backdrop Sepia
2570
- * @see https://tailwindcss.com/docs/backdrop-sepia
2571
- */
2572
- "backdrop-sepia": [{
2573
- "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2574
- }],
2575
- // --------------
2576
- // --- Tables ---
2577
- // --------------
2578
- /**
2579
- * Border Collapse
2580
- * @see https://tailwindcss.com/docs/border-collapse
2581
- */
2582
- "border-collapse": [{
2583
- border: ["collapse", "separate"]
2584
- }],
2585
- /**
2586
- * Border Spacing
2587
- * @see https://tailwindcss.com/docs/border-spacing
2588
- */
2589
- "border-spacing": [{
2590
- "border-spacing": scaleUnambiguousSpacing()
2591
- }],
2592
- /**
2593
- * Border Spacing X
2594
- * @see https://tailwindcss.com/docs/border-spacing
2595
- */
2596
- "border-spacing-x": [{
2597
- "border-spacing-x": scaleUnambiguousSpacing()
2598
- }],
2599
- /**
2600
- * Border Spacing Y
2601
- * @see https://tailwindcss.com/docs/border-spacing
2602
- */
2603
- "border-spacing-y": [{
2604
- "border-spacing-y": scaleUnambiguousSpacing()
2605
- }],
2606
- /**
2607
- * Table Layout
2608
- * @see https://tailwindcss.com/docs/table-layout
2609
- */
2610
- "table-layout": [{
2611
- table: ["auto", "fixed"]
2612
- }],
2613
- /**
2614
- * Caption Side
2615
- * @see https://tailwindcss.com/docs/caption-side
2616
- */
2617
- caption: [{
2618
- caption: ["top", "bottom"]
2619
- }],
2620
- // ---------------------------------
2621
- // --- Transitions and Animation ---
2622
- // ---------------------------------
2623
- /**
2624
- * Transition Property
2625
- * @see https://tailwindcss.com/docs/transition-property
2626
- */
2627
- transition: [{
2628
- transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
2629
- }],
2630
- /**
2631
- * Transition Behavior
2632
- * @see https://tailwindcss.com/docs/transition-behavior
2633
- */
2634
- "transition-behavior": [{
2635
- transition: ["normal", "discrete"]
2636
- }],
2637
- /**
2638
- * Transition Duration
2639
- * @see https://tailwindcss.com/docs/transition-duration
2640
- */
2641
- duration: [{
2642
- duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
2643
- }],
2644
- /**
2645
- * Transition Timing Function
2646
- * @see https://tailwindcss.com/docs/transition-timing-function
2647
- */
2648
- ease: [{
2649
- ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
2650
- }],
2651
- /**
2652
- * Transition Delay
2653
- * @see https://tailwindcss.com/docs/transition-delay
2654
- */
2655
- delay: [{
2656
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
2657
- }],
2658
- /**
2659
- * Animation
2660
- * @see https://tailwindcss.com/docs/animation
2661
- */
2662
- animate: [{
2663
- animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
2664
- }],
2665
- // ------------------
2666
- // --- Transforms ---
2667
- // ------------------
2668
- /**
2669
- * Backface Visibility
2670
- * @see https://tailwindcss.com/docs/backface-visibility
2671
- */
2672
- backface: [{
2673
- backface: ["hidden", "visible"]
2674
- }],
2675
- /**
2676
- * Perspective
2677
- * @see https://tailwindcss.com/docs/perspective
2678
- */
2679
- perspective: [{
2680
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
2681
- }],
2682
- /**
2683
- * Perspective Origin
2684
- * @see https://tailwindcss.com/docs/perspective-origin
2685
- */
2686
- "perspective-origin": [{
2687
- "perspective-origin": scalePositionWithArbitrary()
2688
- }],
2689
- /**
2690
- * Rotate
2691
- * @see https://tailwindcss.com/docs/rotate
2692
- */
2693
- rotate: [{
2694
- rotate: scaleRotate()
2695
- }],
2696
- /**
2697
- * Rotate X
2698
- * @see https://tailwindcss.com/docs/rotate
2699
- */
2700
- "rotate-x": [{
2701
- "rotate-x": scaleRotate()
2702
- }],
2703
- /**
2704
- * Rotate Y
2705
- * @see https://tailwindcss.com/docs/rotate
2706
- */
2707
- "rotate-y": [{
2708
- "rotate-y": scaleRotate()
2709
- }],
2710
- /**
2711
- * Rotate Z
2712
- * @see https://tailwindcss.com/docs/rotate
2713
- */
2714
- "rotate-z": [{
2715
- "rotate-z": scaleRotate()
2716
- }],
2717
- /**
2718
- * Scale
2719
- * @see https://tailwindcss.com/docs/scale
2720
- */
2721
- scale: [{
2722
- scale: scaleScale()
2723
- }],
2724
- /**
2725
- * Scale X
2726
- * @see https://tailwindcss.com/docs/scale
2727
- */
2728
- "scale-x": [{
2729
- "scale-x": scaleScale()
2730
- }],
2731
- /**
2732
- * Scale Y
2733
- * @see https://tailwindcss.com/docs/scale
2734
- */
2735
- "scale-y": [{
2736
- "scale-y": scaleScale()
2737
- }],
2738
- /**
2739
- * Scale Z
2740
- * @see https://tailwindcss.com/docs/scale
2741
- */
2742
- "scale-z": [{
2743
- "scale-z": scaleScale()
2744
- }],
2745
- /**
2746
- * Scale 3D
2747
- * @see https://tailwindcss.com/docs/scale
2748
- */
2749
- "scale-3d": ["scale-3d"],
2750
- /**
2751
- * Skew
2752
- * @see https://tailwindcss.com/docs/skew
2753
- */
2754
- skew: [{
2755
- skew: scaleSkew()
2756
- }],
2757
- /**
2758
- * Skew X
2759
- * @see https://tailwindcss.com/docs/skew
2760
- */
2761
- "skew-x": [{
2762
- "skew-x": scaleSkew()
2763
- }],
2764
- /**
2765
- * Skew Y
2766
- * @see https://tailwindcss.com/docs/skew
2767
- */
2768
- "skew-y": [{
2769
- "skew-y": scaleSkew()
2770
- }],
2771
- /**
2772
- * Transform
2773
- * @see https://tailwindcss.com/docs/transform
2774
- */
2775
- transform: [{
2776
- transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
2777
- }],
2778
- /**
2779
- * Transform Origin
2780
- * @see https://tailwindcss.com/docs/transform-origin
2781
- */
2782
- "transform-origin": [{
2783
- origin: scalePositionWithArbitrary()
2784
- }],
2785
- /**
2786
- * Transform Style
2787
- * @see https://tailwindcss.com/docs/transform-style
2788
- */
2789
- "transform-style": [{
2790
- transform: ["3d", "flat"]
2791
- }],
2792
- /**
2793
- * Translate
2794
- * @see https://tailwindcss.com/docs/translate
2795
- */
2796
- translate: [{
2797
- translate: scaleTranslate()
2798
- }],
2799
- /**
2800
- * Translate X
2801
- * @see https://tailwindcss.com/docs/translate
2802
- */
2803
- "translate-x": [{
2804
- "translate-x": scaleTranslate()
2805
- }],
2806
- /**
2807
- * Translate Y
2808
- * @see https://tailwindcss.com/docs/translate
2809
- */
2810
- "translate-y": [{
2811
- "translate-y": scaleTranslate()
2812
- }],
2813
- /**
2814
- * Translate Z
2815
- * @see https://tailwindcss.com/docs/translate
2816
- */
2817
- "translate-z": [{
2818
- "translate-z": scaleTranslate()
2819
- }],
2820
- /**
2821
- * Translate None
2822
- * @see https://tailwindcss.com/docs/translate
2823
- */
2824
- "translate-none": ["translate-none"],
2825
- // ---------------------
2826
- // --- Interactivity ---
2827
- // ---------------------
2828
- /**
2829
- * Accent Color
2830
- * @see https://tailwindcss.com/docs/accent-color
2831
- */
2832
- accent: [{
2833
- accent: scaleColor()
2834
- }],
2835
- /**
2836
- * Appearance
2837
- * @see https://tailwindcss.com/docs/appearance
2838
- */
2839
- appearance: [{
2840
- appearance: ["none", "auto"]
2841
- }],
2842
- /**
2843
- * Caret Color
2844
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2845
- */
2846
- "caret-color": [{
2847
- caret: scaleColor()
2848
- }],
2849
- /**
2850
- * Color Scheme
2851
- * @see https://tailwindcss.com/docs/color-scheme
2852
- */
2853
- "color-scheme": [{
2854
- scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2855
- }],
2856
- /**
2857
- * Cursor
2858
- * @see https://tailwindcss.com/docs/cursor
2859
- */
2860
- cursor: [{
2861
- 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]
2862
- }],
2863
- /**
2864
- * Field Sizing
2865
- * @see https://tailwindcss.com/docs/field-sizing
2866
- */
2867
- "field-sizing": [{
2868
- "field-sizing": ["fixed", "content"]
2869
- }],
2870
- /**
2871
- * Pointer Events
2872
- * @see https://tailwindcss.com/docs/pointer-events
2873
- */
2874
- "pointer-events": [{
2875
- "pointer-events": ["auto", "none"]
2876
- }],
2877
- /**
2878
- * Resize
2879
- * @see https://tailwindcss.com/docs/resize
2880
- */
2881
- resize: [{
2882
- resize: ["none", "", "y", "x"]
2883
- }],
2884
- /**
2885
- * Scroll Behavior
2886
- * @see https://tailwindcss.com/docs/scroll-behavior
2887
- */
2888
- "scroll-behavior": [{
2889
- scroll: ["auto", "smooth"]
2890
- }],
2891
- /**
2892
- * Scroll Margin
2893
- * @see https://tailwindcss.com/docs/scroll-margin
2894
- */
2895
- "scroll-m": [{
2896
- "scroll-m": scaleUnambiguousSpacing()
2897
- }],
2898
- /**
2899
- * Scroll Margin Inline
2900
- * @see https://tailwindcss.com/docs/scroll-margin
2901
- */
2902
- "scroll-mx": [{
2903
- "scroll-mx": scaleUnambiguousSpacing()
2904
- }],
2905
- /**
2906
- * Scroll Margin Block
2907
- * @see https://tailwindcss.com/docs/scroll-margin
2908
- */
2909
- "scroll-my": [{
2910
- "scroll-my": scaleUnambiguousSpacing()
2911
- }],
2912
- /**
2913
- * Scroll Margin Inline Start
2914
- * @see https://tailwindcss.com/docs/scroll-margin
2915
- */
2916
- "scroll-ms": [{
2917
- "scroll-ms": scaleUnambiguousSpacing()
2918
- }],
2919
- /**
2920
- * Scroll Margin Inline End
2921
- * @see https://tailwindcss.com/docs/scroll-margin
2922
- */
2923
- "scroll-me": [{
2924
- "scroll-me": scaleUnambiguousSpacing()
2925
- }],
2926
- /**
2927
- * Scroll Margin Block Start
2928
- * @see https://tailwindcss.com/docs/scroll-margin
2929
- */
2930
- "scroll-mbs": [{
2931
- "scroll-mbs": scaleUnambiguousSpacing()
2932
- }],
2933
- /**
2934
- * Scroll Margin Block End
2935
- * @see https://tailwindcss.com/docs/scroll-margin
2936
- */
2937
- "scroll-mbe": [{
2938
- "scroll-mbe": scaleUnambiguousSpacing()
2939
- }],
2940
- /**
2941
- * Scroll Margin Top
2942
- * @see https://tailwindcss.com/docs/scroll-margin
2943
- */
2944
- "scroll-mt": [{
2945
- "scroll-mt": scaleUnambiguousSpacing()
2946
- }],
2947
- /**
2948
- * Scroll Margin Right
2949
- * @see https://tailwindcss.com/docs/scroll-margin
2950
- */
2951
- "scroll-mr": [{
2952
- "scroll-mr": scaleUnambiguousSpacing()
2953
- }],
2954
- /**
2955
- * Scroll Margin Bottom
2956
- * @see https://tailwindcss.com/docs/scroll-margin
2957
- */
2958
- "scroll-mb": [{
2959
- "scroll-mb": scaleUnambiguousSpacing()
2960
- }],
2961
- /**
2962
- * Scroll Margin Left
2963
- * @see https://tailwindcss.com/docs/scroll-margin
2964
- */
2965
- "scroll-ml": [{
2966
- "scroll-ml": scaleUnambiguousSpacing()
2967
- }],
2968
- /**
2969
- * Scroll Padding
2970
- * @see https://tailwindcss.com/docs/scroll-padding
2971
- */
2972
- "scroll-p": [{
2973
- "scroll-p": scaleUnambiguousSpacing()
2974
- }],
2975
- /**
2976
- * Scroll Padding Inline
2977
- * @see https://tailwindcss.com/docs/scroll-padding
2978
- */
2979
- "scroll-px": [{
2980
- "scroll-px": scaleUnambiguousSpacing()
2981
- }],
2982
- /**
2983
- * Scroll Padding Block
2984
- * @see https://tailwindcss.com/docs/scroll-padding
2985
- */
2986
- "scroll-py": [{
2987
- "scroll-py": scaleUnambiguousSpacing()
2988
- }],
2989
- /**
2990
- * Scroll Padding Inline Start
2991
- * @see https://tailwindcss.com/docs/scroll-padding
2992
- */
2993
- "scroll-ps": [{
2994
- "scroll-ps": scaleUnambiguousSpacing()
2995
- }],
2996
- /**
2997
- * Scroll Padding Inline End
2998
- * @see https://tailwindcss.com/docs/scroll-padding
2999
- */
3000
- "scroll-pe": [{
3001
- "scroll-pe": scaleUnambiguousSpacing()
3002
- }],
3003
- /**
3004
- * Scroll Padding Block Start
3005
- * @see https://tailwindcss.com/docs/scroll-padding
3006
- */
3007
- "scroll-pbs": [{
3008
- "scroll-pbs": scaleUnambiguousSpacing()
3009
- }],
3010
- /**
3011
- * Scroll Padding Block End
3012
- * @see https://tailwindcss.com/docs/scroll-padding
3013
- */
3014
- "scroll-pbe": [{
3015
- "scroll-pbe": scaleUnambiguousSpacing()
3016
- }],
3017
- /**
3018
- * Scroll Padding Top
3019
- * @see https://tailwindcss.com/docs/scroll-padding
3020
- */
3021
- "scroll-pt": [{
3022
- "scroll-pt": scaleUnambiguousSpacing()
3023
- }],
3024
- /**
3025
- * Scroll Padding Right
3026
- * @see https://tailwindcss.com/docs/scroll-padding
3027
- */
3028
- "scroll-pr": [{
3029
- "scroll-pr": scaleUnambiguousSpacing()
3030
- }],
3031
- /**
3032
- * Scroll Padding Bottom
3033
- * @see https://tailwindcss.com/docs/scroll-padding
3034
- */
3035
- "scroll-pb": [{
3036
- "scroll-pb": scaleUnambiguousSpacing()
3037
- }],
3038
- /**
3039
- * Scroll Padding Left
3040
- * @see https://tailwindcss.com/docs/scroll-padding
3041
- */
3042
- "scroll-pl": [{
3043
- "scroll-pl": scaleUnambiguousSpacing()
3044
- }],
3045
- /**
3046
- * Scroll Snap Align
3047
- * @see https://tailwindcss.com/docs/scroll-snap-align
3048
- */
3049
- "snap-align": [{
3050
- snap: ["start", "end", "center", "align-none"]
3051
- }],
3052
- /**
3053
- * Scroll Snap Stop
3054
- * @see https://tailwindcss.com/docs/scroll-snap-stop
3055
- */
3056
- "snap-stop": [{
3057
- snap: ["normal", "always"]
3058
- }],
3059
- /**
3060
- * Scroll Snap Type
3061
- * @see https://tailwindcss.com/docs/scroll-snap-type
3062
- */
3063
- "snap-type": [{
3064
- snap: ["none", "x", "y", "both"]
3065
- }],
3066
- /**
3067
- * Scroll Snap Type Strictness
3068
- * @see https://tailwindcss.com/docs/scroll-snap-type
3069
- */
3070
- "snap-strictness": [{
3071
- snap: ["mandatory", "proximity"]
3072
- }],
3073
- /**
3074
- * Touch Action
3075
- * @see https://tailwindcss.com/docs/touch-action
3076
- */
3077
- touch: [{
3078
- touch: ["auto", "none", "manipulation"]
3079
- }],
3080
- /**
3081
- * Touch Action X
3082
- * @see https://tailwindcss.com/docs/touch-action
3083
- */
3084
- "touch-x": [{
3085
- "touch-pan": ["x", "left", "right"]
3086
- }],
3087
- /**
3088
- * Touch Action Y
3089
- * @see https://tailwindcss.com/docs/touch-action
3090
- */
3091
- "touch-y": [{
3092
- "touch-pan": ["y", "up", "down"]
3093
- }],
3094
- /**
3095
- * Touch Action Pinch Zoom
3096
- * @see https://tailwindcss.com/docs/touch-action
3097
- */
3098
- "touch-pz": ["touch-pinch-zoom"],
3099
- /**
3100
- * User Select
3101
- * @see https://tailwindcss.com/docs/user-select
3102
- */
3103
- select: [{
3104
- select: ["none", "text", "all", "auto"]
3105
- }],
3106
- /**
3107
- * Will Change
3108
- * @see https://tailwindcss.com/docs/will-change
3109
- */
3110
- "will-change": [{
3111
- "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
3112
- }],
3113
- // -----------
3114
- // --- SVG ---
3115
- // -----------
3116
- /**
3117
- * Fill
3118
- * @see https://tailwindcss.com/docs/fill
3119
- */
3120
- fill: [{
3121
- fill: ["none", ...scaleColor()]
3122
- }],
3123
- /**
3124
- * Stroke Width
3125
- * @see https://tailwindcss.com/docs/stroke-width
3126
- */
3127
- "stroke-w": [{
3128
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
3129
- }],
3130
- /**
3131
- * Stroke
3132
- * @see https://tailwindcss.com/docs/stroke
3133
- */
3134
- stroke: [{
3135
- stroke: ["none", ...scaleColor()]
3136
- }],
3137
- // ---------------------
3138
- // --- Accessibility ---
3139
- // ---------------------
3140
- /**
3141
- * Forced Color Adjust
3142
- * @see https://tailwindcss.com/docs/forced-color-adjust
3143
- */
3144
- "forced-color-adjust": [{
3145
- "forced-color-adjust": ["auto", "none"]
3146
- }]
3147
- },
3148
- conflictingClassGroups: {
3149
- overflow: ["overflow-x", "overflow-y"],
3150
- overscroll: ["overscroll-x", "overscroll-y"],
3151
- inset: ["inset-x", "inset-y", "inset-bs", "inset-be", "start", "end", "top", "right", "bottom", "left"],
3152
- "inset-x": ["right", "left"],
3153
- "inset-y": ["top", "bottom"],
3154
- flex: ["basis", "grow", "shrink"],
3155
- gap: ["gap-x", "gap-y"],
3156
- p: ["px", "py", "ps", "pe", "pbs", "pbe", "pt", "pr", "pb", "pl"],
3157
- px: ["pr", "pl"],
3158
- py: ["pt", "pb"],
3159
- m: ["mx", "my", "ms", "me", "mbs", "mbe", "mt", "mr", "mb", "ml"],
3160
- mx: ["mr", "ml"],
3161
- my: ["mt", "mb"],
3162
- size: ["w", "h"],
3163
- "font-size": ["leading"],
3164
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3165
- "fvn-ordinal": ["fvn-normal"],
3166
- "fvn-slashed-zero": ["fvn-normal"],
3167
- "fvn-figure": ["fvn-normal"],
3168
- "fvn-spacing": ["fvn-normal"],
3169
- "fvn-fraction": ["fvn-normal"],
3170
- "line-clamp": ["display", "overflow"],
3171
- rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
3172
- "rounded-s": ["rounded-ss", "rounded-es"],
3173
- "rounded-e": ["rounded-se", "rounded-ee"],
3174
- "rounded-t": ["rounded-tl", "rounded-tr"],
3175
- "rounded-r": ["rounded-tr", "rounded-br"],
3176
- "rounded-b": ["rounded-br", "rounded-bl"],
3177
- "rounded-l": ["rounded-tl", "rounded-bl"],
3178
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
3179
- "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-bs", "border-w-be", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3180
- "border-w-x": ["border-w-r", "border-w-l"],
3181
- "border-w-y": ["border-w-t", "border-w-b"],
3182
- "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-bs", "border-color-be", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3183
- "border-color-x": ["border-color-r", "border-color-l"],
3184
- "border-color-y": ["border-color-t", "border-color-b"],
3185
- translate: ["translate-x", "translate-y", "translate-none"],
3186
- "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3187
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mbs", "scroll-mbe", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3188
- "scroll-mx": ["scroll-mr", "scroll-ml"],
3189
- "scroll-my": ["scroll-mt", "scroll-mb"],
3190
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pbs", "scroll-pbe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3191
- "scroll-px": ["scroll-pr", "scroll-pl"],
3192
- "scroll-py": ["scroll-pt", "scroll-pb"],
3193
- touch: ["touch-x", "touch-y", "touch-pz"],
3194
- "touch-x": ["touch"],
3195
- "touch-y": ["touch"],
3196
- "touch-pz": ["touch"]
3197
- },
3198
- conflictingClassGroupModifiers: {
3199
- "font-size": ["leading"]
3200
- },
3201
- orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3202
- };
3203
- };
3204
- var mergeConfigs = (baseConfig, {
3205
- cacheSize,
3206
- prefix,
3207
- experimentalParseClassName,
3208
- extend = {},
3209
- override = {}
3210
- }) => {
3211
- overrideProperty(baseConfig, "cacheSize", cacheSize);
3212
- overrideProperty(baseConfig, "prefix", prefix);
3213
- overrideProperty(baseConfig, "experimentalParseClassName", experimentalParseClassName);
3214
- overrideConfigProperties(baseConfig.theme, override.theme);
3215
- overrideConfigProperties(baseConfig.classGroups, override.classGroups);
3216
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
3217
- overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
3218
- overrideProperty(baseConfig, "orderSensitiveModifiers", override.orderSensitiveModifiers);
3219
- mergeConfigProperties(baseConfig.theme, extend.theme);
3220
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
3221
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
3222
- mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
3223
- mergeArrayProperties(baseConfig, extend, "orderSensitiveModifiers");
3224
- return baseConfig;
3225
- };
3226
- var overrideProperty = (baseObject, overrideKey, overrideValue) => {
3227
- if (overrideValue !== void 0) {
3228
- baseObject[overrideKey] = overrideValue;
3229
- }
3230
- };
3231
- var overrideConfigProperties = (baseObject, overrideObject) => {
3232
- if (overrideObject) {
3233
- for (const key in overrideObject) {
3234
- overrideProperty(baseObject, key, overrideObject[key]);
3235
- }
3236
- }
3237
- };
3238
- var mergeConfigProperties = (baseObject, mergeObject) => {
3239
- if (mergeObject) {
3240
- for (const key in mergeObject) {
3241
- mergeArrayProperties(baseObject, mergeObject, key);
3242
- }
3243
- }
3244
- };
3245
- var mergeArrayProperties = (baseObject, mergeObject, key) => {
3246
- const mergeValue = mergeObject[key];
3247
- if (mergeValue !== void 0) {
3248
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
3249
- }
3250
- };
3251
- var extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
3252
- var twMerge = createTailwindMerge(getDefaultConfig);
3253
- export {
3254
- createTailwindMerge,
3255
- extendTailwindMerge,
3256
- fromTheme,
3257
- getDefaultConfig,
3258
- mergeConfigs,
3259
- twJoin,
3260
- twMerge,
3261
- validators
3262
- };
3263
- //# sourceMappingURL=tailwind-merge.js.map