lizaui 9.0.2 → 9.0.3

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