lizaui 9.0.2 → 9.0.4

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