@lukso/web-components 1.49.0 → 1.49.2

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 (53) hide show
  1. package/dist/components/index.cjs +2 -2
  2. package/dist/components/index.js +2 -2
  3. package/dist/components/lukso-button/index.cjs +1 -1
  4. package/dist/components/lukso-button/index.js +1 -1
  5. package/dist/components/lukso-card/index.cjs +1 -1
  6. package/dist/components/lukso-card/index.js +1 -1
  7. package/dist/components/lukso-checkbox/index.cjs +1 -1
  8. package/dist/components/lukso-checkbox/index.js +1 -1
  9. package/dist/components/lukso-footer/index.cjs +10 -5
  10. package/dist/components/lukso-footer/index.d.ts +2 -2
  11. package/dist/components/lukso-footer/index.d.ts.map +1 -1
  12. package/dist/components/lukso-footer/index.js +10 -5
  13. package/dist/components/lukso-footer/lukso-footer.stories.d.ts.map +1 -1
  14. package/dist/components/lukso-input/index.cjs +1 -1
  15. package/dist/components/lukso-input/index.js +1 -1
  16. package/dist/components/lukso-modal/index.cjs +1 -1
  17. package/dist/components/lukso-modal/index.js +1 -1
  18. package/dist/components/lukso-navbar/index.cjs +1 -1
  19. package/dist/components/lukso-navbar/index.js +1 -1
  20. package/dist/components/lukso-profile/index.cjs +1 -1
  21. package/dist/components/lukso-profile/index.js +1 -1
  22. package/dist/components/lukso-progress/index.cjs +1 -1
  23. package/dist/components/lukso-progress/index.js +1 -1
  24. package/dist/components/lukso-search/index.cjs +1 -1
  25. package/dist/components/lukso-search/index.js +1 -1
  26. package/dist/components/lukso-select/index.cjs +1 -1
  27. package/dist/components/lukso-select/index.js +1 -1
  28. package/dist/components/lukso-share/index.cjs +10 -4
  29. package/dist/components/lukso-share/index.d.ts +2 -1
  30. package/dist/components/lukso-share/index.d.ts.map +1 -1
  31. package/dist/components/lukso-share/index.js +10 -4
  32. package/dist/components/lukso-share/lukso-share.stories.d.ts.map +1 -1
  33. package/dist/components/lukso-switch/index.cjs +1 -1
  34. package/dist/components/lukso-switch/index.js +1 -1
  35. package/dist/components/lukso-tag/index.cjs +1 -1
  36. package/dist/components/lukso-tag/index.js +1 -1
  37. package/dist/components/lukso-terms/index.cjs +1 -1
  38. package/dist/components/lukso-terms/index.js +1 -1
  39. package/dist/components/lukso-username/index.cjs +28 -20
  40. package/dist/components/lukso-username/index.d.ts +0 -12
  41. package/dist/components/lukso-username/index.d.ts.map +1 -1
  42. package/dist/components/lukso-username/index.js +31 -23
  43. package/dist/components/lukso-username/lukso-username.stories.d.ts +1 -1
  44. package/dist/components/lukso-username/lukso-username.stories.d.ts.map +1 -1
  45. package/dist/components/lukso-wizard/index.cjs +1 -1
  46. package/dist/components/lukso-wizard/index.js +1 -1
  47. package/dist/index-5e194caf.js +18 -0
  48. package/dist/index-e9668573.cjs +20 -0
  49. package/dist/index.cjs +2565 -42
  50. package/dist/index.js +2528 -1
  51. package/package.json +1 -1
  52. package/dist/index-944f6ebe.js +0 -2543
  53. package/dist/index-97750d66.cjs +0 -2546
package/dist/index.js CHANGED
@@ -19,8 +19,2535 @@ export { LuksoTest } from './components/lukso-test/index.js';
19
19
  export { LuksoUsername } from './components/lukso-username/index.js';
20
20
  export { LuksoWizard } from './components/lukso-wizard/index.js';
21
21
  export { a as TailwindElement, T as TailwindStyledElement } from './index-cfea1b58.js';
22
- export { c as cn } from './index-944f6ebe.js';
23
22
  import './query-assigned-elements-5d94572f.js';
24
23
  import './state-0a779257.js';
24
+ import './index-5e194caf.js';
25
25
  import './directive-2bb7789e.js';
26
26
  import './style-map-b2a337a1.js';
27
+
28
+ /**
29
+ * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
30
+ *
31
+ * Specifically:
32
+ * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
33
+ * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
34
+ *
35
+ * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
36
+ */
37
+ function twJoin() {
38
+ var index = 0;
39
+ var argument;
40
+ var resolvedValue;
41
+ var string = '';
42
+ while (index < arguments.length) {
43
+ if (argument = arguments[index++]) {
44
+ if (resolvedValue = toValue(argument)) {
45
+ string && (string += ' ');
46
+ string += resolvedValue;
47
+ }
48
+ }
49
+ }
50
+ return string;
51
+ }
52
+ function toValue(mix) {
53
+ if (typeof mix === 'string') {
54
+ return mix;
55
+ }
56
+ var resolvedValue;
57
+ var string = '';
58
+ for (var k = 0; k < mix.length; k++) {
59
+ if (mix[k]) {
60
+ if (resolvedValue = toValue(mix[k])) {
61
+ string && (string += ' ');
62
+ string += resolvedValue;
63
+ }
64
+ }
65
+ }
66
+ return string;
67
+ }
68
+
69
+ var CLASS_PART_SEPARATOR = '-';
70
+ function createClassUtils(config) {
71
+ var classMap = createClassMap(config);
72
+ var conflictingClassGroups = config.conflictingClassGroups,
73
+ _config$conflictingCl = config.conflictingClassGroupModifiers,
74
+ conflictingClassGroupModifiers = _config$conflictingCl === void 0 ? {} : _config$conflictingCl;
75
+ function getClassGroupId(className) {
76
+ var classParts = className.split(CLASS_PART_SEPARATOR);
77
+ // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
78
+ if (classParts[0] === '' && classParts.length !== 1) {
79
+ classParts.shift();
80
+ }
81
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
82
+ }
83
+ function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
84
+ var conflicts = conflictingClassGroups[classGroupId] || [];
85
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
86
+ return [].concat(conflicts, conflictingClassGroupModifiers[classGroupId]);
87
+ }
88
+ return conflicts;
89
+ }
90
+ return {
91
+ getClassGroupId: getClassGroupId,
92
+ getConflictingClassGroupIds: getConflictingClassGroupIds
93
+ };
94
+ }
95
+ function getGroupRecursive(classParts, classPartObject) {
96
+ if (classParts.length === 0) {
97
+ return classPartObject.classGroupId;
98
+ }
99
+ var currentClassPart = classParts[0];
100
+ var nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
101
+ var classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
102
+ if (classGroupFromNextClassPart) {
103
+ return classGroupFromNextClassPart;
104
+ }
105
+ if (classPartObject.validators.length === 0) {
106
+ return undefined;
107
+ }
108
+ var classRest = classParts.join(CLASS_PART_SEPARATOR);
109
+ return classPartObject.validators.find(function (_ref) {
110
+ var validator = _ref.validator;
111
+ return validator(classRest);
112
+ })?.classGroupId;
113
+ }
114
+ var arbitraryPropertyRegex = /^\[(.+)\]$/;
115
+ function getGroupIdForArbitraryProperty(className) {
116
+ if (arbitraryPropertyRegex.test(className)) {
117
+ var arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
118
+ var property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
119
+ if (property) {
120
+ // I use two dots here because one dot is used as prefix for class groups in plugins
121
+ return 'arbitrary..' + property;
122
+ }
123
+ }
124
+ }
125
+ /**
126
+ * Exported for testing only
127
+ */
128
+ function createClassMap(config) {
129
+ var theme = config.theme,
130
+ prefix = config.prefix;
131
+ var classMap = {
132
+ nextPart: new Map(),
133
+ validators: []
134
+ };
135
+ var prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
136
+ prefixedClassGroupEntries.forEach(function (_ref2) {
137
+ var classGroupId = _ref2[0],
138
+ classGroup = _ref2[1];
139
+ processClassesRecursively(classGroup, classMap, classGroupId, theme);
140
+ });
141
+ return classMap;
142
+ }
143
+ function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
144
+ classGroup.forEach(function (classDefinition) {
145
+ if (typeof classDefinition === 'string') {
146
+ var classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
147
+ classPartObjectToEdit.classGroupId = classGroupId;
148
+ return;
149
+ }
150
+ if (typeof classDefinition === 'function') {
151
+ if (isThemeGetter(classDefinition)) {
152
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
153
+ return;
154
+ }
155
+ classPartObject.validators.push({
156
+ validator: classDefinition,
157
+ classGroupId: classGroupId
158
+ });
159
+ return;
160
+ }
161
+ Object.entries(classDefinition).forEach(function (_ref3) {
162
+ var key = _ref3[0],
163
+ classGroup = _ref3[1];
164
+ processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
165
+ });
166
+ });
167
+ }
168
+ function getPart(classPartObject, path) {
169
+ var currentClassPartObject = classPartObject;
170
+ path.split(CLASS_PART_SEPARATOR).forEach(function (pathPart) {
171
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
172
+ currentClassPartObject.nextPart.set(pathPart, {
173
+ nextPart: new Map(),
174
+ validators: []
175
+ });
176
+ }
177
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
178
+ });
179
+ return currentClassPartObject;
180
+ }
181
+ function isThemeGetter(func) {
182
+ return func.isThemeGetter;
183
+ }
184
+ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
185
+ if (!prefix) {
186
+ return classGroupEntries;
187
+ }
188
+ return classGroupEntries.map(function (_ref4) {
189
+ var classGroupId = _ref4[0],
190
+ classGroup = _ref4[1];
191
+ var prefixedClassGroup = classGroup.map(function (classDefinition) {
192
+ if (typeof classDefinition === 'string') {
193
+ return prefix + classDefinition;
194
+ }
195
+ if (typeof classDefinition === 'object') {
196
+ return Object.fromEntries(Object.entries(classDefinition).map(function (_ref5) {
197
+ var key = _ref5[0],
198
+ value = _ref5[1];
199
+ return [prefix + key, value];
200
+ }));
201
+ }
202
+ return classDefinition;
203
+ });
204
+ return [classGroupId, prefixedClassGroup];
205
+ });
206
+ }
207
+
208
+ // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
209
+ function createLruCache(maxCacheSize) {
210
+ if (maxCacheSize < 1) {
211
+ return {
212
+ get: function get() {
213
+ return undefined;
214
+ },
215
+ set: function set() {}
216
+ };
217
+ }
218
+ var cacheSize = 0;
219
+ var cache = new Map();
220
+ var previousCache = new Map();
221
+ function update(key, value) {
222
+ cache.set(key, value);
223
+ cacheSize++;
224
+ if (cacheSize > maxCacheSize) {
225
+ cacheSize = 0;
226
+ previousCache = cache;
227
+ cache = new Map();
228
+ }
229
+ }
230
+ return {
231
+ get: function get(key) {
232
+ var value = cache.get(key);
233
+ if (value !== undefined) {
234
+ return value;
235
+ }
236
+ if ((value = previousCache.get(key)) !== undefined) {
237
+ update(key, value);
238
+ return value;
239
+ }
240
+ },
241
+ set: function set(key, value) {
242
+ if (cache.has(key)) {
243
+ cache.set(key, value);
244
+ } else {
245
+ update(key, value);
246
+ }
247
+ }
248
+ };
249
+ }
250
+
251
+ var IMPORTANT_MODIFIER = '!';
252
+ function createSplitModifiers(config) {
253
+ var separator = config.separator || ':';
254
+ var isSeparatorSingleCharacter = separator.length === 1;
255
+ var firstSeparatorCharacter = separator[0];
256
+ var separatorLength = separator.length;
257
+ // splitModifiers inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
258
+ return function splitModifiers(className) {
259
+ var modifiers = [];
260
+ var bracketDepth = 0;
261
+ var modifierStart = 0;
262
+ var postfixModifierPosition;
263
+ for (var index = 0; index < className.length; index++) {
264
+ var currentCharacter = className[index];
265
+ if (bracketDepth === 0) {
266
+ if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
267
+ modifiers.push(className.slice(modifierStart, index));
268
+ modifierStart = index + separatorLength;
269
+ continue;
270
+ }
271
+ if (currentCharacter === '/') {
272
+ postfixModifierPosition = index;
273
+ continue;
274
+ }
275
+ }
276
+ if (currentCharacter === '[') {
277
+ bracketDepth++;
278
+ } else if (currentCharacter === ']') {
279
+ bracketDepth--;
280
+ }
281
+ }
282
+ var baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
283
+ var hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
284
+ var baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
285
+ var maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
286
+ return {
287
+ modifiers: modifiers,
288
+ hasImportantModifier: hasImportantModifier,
289
+ baseClassName: baseClassName,
290
+ maybePostfixModifierPosition: maybePostfixModifierPosition
291
+ };
292
+ };
293
+ }
294
+ /**
295
+ * Sorts modifiers according to following schema:
296
+ * - Predefined modifiers are sorted alphabetically
297
+ * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
298
+ */
299
+ function sortModifiers(modifiers) {
300
+ if (modifiers.length <= 1) {
301
+ return modifiers;
302
+ }
303
+ var sortedModifiers = [];
304
+ var unsortedModifiers = [];
305
+ modifiers.forEach(function (modifier) {
306
+ var isArbitraryVariant = modifier[0] === '[';
307
+ if (isArbitraryVariant) {
308
+ sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort().concat([modifier]));
309
+ unsortedModifiers = [];
310
+ } else {
311
+ unsortedModifiers.push(modifier);
312
+ }
313
+ });
314
+ sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort());
315
+ return sortedModifiers;
316
+ }
317
+
318
+ function createConfigUtils(config) {
319
+ return {
320
+ cache: createLruCache(config.cacheSize),
321
+ splitModifiers: createSplitModifiers(config),
322
+ ...createClassUtils(config)
323
+ };
324
+ }
325
+
326
+ var SPLIT_CLASSES_REGEX = /\s+/;
327
+ function mergeClassList(classList, configUtils) {
328
+ var splitModifiers = configUtils.splitModifiers,
329
+ getClassGroupId = configUtils.getClassGroupId,
330
+ getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds;
331
+ /**
332
+ * Set of classGroupIds in following format:
333
+ * `{importantModifier}{variantModifiers}{classGroupId}`
334
+ * @example 'float'
335
+ * @example 'hover:focus:bg-color'
336
+ * @example 'md:!pr'
337
+ */
338
+ var classGroupsInConflict = new Set();
339
+ return classList.trim().split(SPLIT_CLASSES_REGEX).map(function (originalClassName) {
340
+ var _splitModifiers = splitModifiers(originalClassName),
341
+ modifiers = _splitModifiers.modifiers,
342
+ hasImportantModifier = _splitModifiers.hasImportantModifier,
343
+ baseClassName = _splitModifiers.baseClassName,
344
+ maybePostfixModifierPosition = _splitModifiers.maybePostfixModifierPosition;
345
+ var classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
346
+ var hasPostfixModifier = Boolean(maybePostfixModifierPosition);
347
+ if (!classGroupId) {
348
+ if (!maybePostfixModifierPosition) {
349
+ return {
350
+ isTailwindClass: false,
351
+ originalClassName: originalClassName
352
+ };
353
+ }
354
+ classGroupId = getClassGroupId(baseClassName);
355
+ if (!classGroupId) {
356
+ return {
357
+ isTailwindClass: false,
358
+ originalClassName: originalClassName
359
+ };
360
+ }
361
+ hasPostfixModifier = false;
362
+ }
363
+ var variantModifier = sortModifiers(modifiers).join(':');
364
+ var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
365
+ return {
366
+ isTailwindClass: true,
367
+ modifierId: modifierId,
368
+ classGroupId: classGroupId,
369
+ originalClassName: originalClassName,
370
+ hasPostfixModifier: hasPostfixModifier
371
+ };
372
+ }).reverse()
373
+ // Last class in conflict wins, so we need to filter conflicting classes in reverse order.
374
+ .filter(function (parsed) {
375
+ if (!parsed.isTailwindClass) {
376
+ return true;
377
+ }
378
+ var modifierId = parsed.modifierId,
379
+ classGroupId = parsed.classGroupId,
380
+ hasPostfixModifier = parsed.hasPostfixModifier;
381
+ var classId = modifierId + classGroupId;
382
+ if (classGroupsInConflict.has(classId)) {
383
+ return false;
384
+ }
385
+ classGroupsInConflict.add(classId);
386
+ getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(function (group) {
387
+ return classGroupsInConflict.add(modifierId + group);
388
+ });
389
+ return true;
390
+ }).reverse().map(function (parsed) {
391
+ return parsed.originalClassName;
392
+ }).join(' ');
393
+ }
394
+
395
+ function createTailwindMerge() {
396
+ for (var _len = arguments.length, createConfig = new Array(_len), _key = 0; _key < _len; _key++) {
397
+ createConfig[_key] = arguments[_key];
398
+ }
399
+ var configUtils;
400
+ var cacheGet;
401
+ var cacheSet;
402
+ var functionToCall = initTailwindMerge;
403
+ function initTailwindMerge(classList) {
404
+ var firstCreateConfig = createConfig[0],
405
+ restCreateConfig = createConfig.slice(1);
406
+ var config = restCreateConfig.reduce(function (previousConfig, createConfigCurrent) {
407
+ return createConfigCurrent(previousConfig);
408
+ }, firstCreateConfig());
409
+ configUtils = createConfigUtils(config);
410
+ cacheGet = configUtils.cache.get;
411
+ cacheSet = configUtils.cache.set;
412
+ functionToCall = tailwindMerge;
413
+ return tailwindMerge(classList);
414
+ }
415
+ function tailwindMerge(classList) {
416
+ var cachedResult = cacheGet(classList);
417
+ if (cachedResult) {
418
+ return cachedResult;
419
+ }
420
+ var result = mergeClassList(classList, configUtils);
421
+ cacheSet(classList, result);
422
+ return result;
423
+ }
424
+ return function callTailwindMerge() {
425
+ return functionToCall(twJoin.apply(null, arguments));
426
+ };
427
+ }
428
+
429
+ function fromTheme(key) {
430
+ var themeGetter = function themeGetter(theme) {
431
+ return theme[key] || [];
432
+ };
433
+ themeGetter.isThemeGetter = true;
434
+ return themeGetter;
435
+ }
436
+
437
+ var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
438
+ var fractionRegex = /^\d+\/\d+$/;
439
+ var stringLengths = /*#__PURE__*/new Set(['px', 'full', 'screen']);
440
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
441
+ var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
442
+ // Shadow always begins with x and y offset separated by underscore
443
+ var shadowRegex = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
444
+ function isLength(value) {
445
+ return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value) || isArbitraryLength(value);
446
+ }
447
+ function isArbitraryLength(value) {
448
+ return getIsArbitraryValue(value, 'length', isLengthOnly);
449
+ }
450
+ function isArbitrarySize(value) {
451
+ return getIsArbitraryValue(value, 'size', isNever);
452
+ }
453
+ function isArbitraryPosition(value) {
454
+ return getIsArbitraryValue(value, 'position', isNever);
455
+ }
456
+ function isArbitraryUrl(value) {
457
+ return getIsArbitraryValue(value, 'url', isUrl);
458
+ }
459
+ function isArbitraryNumber(value) {
460
+ return getIsArbitraryValue(value, 'number', isNumber);
461
+ }
462
+ function isNumber(value) {
463
+ return !Number.isNaN(Number(value));
464
+ }
465
+ function isPercent(value) {
466
+ return value.endsWith('%') && isNumber(value.slice(0, -1));
467
+ }
468
+ function isInteger(value) {
469
+ return isIntegerOnly(value) || getIsArbitraryValue(value, 'number', isIntegerOnly);
470
+ }
471
+ function isArbitraryValue(value) {
472
+ return arbitraryValueRegex.test(value);
473
+ }
474
+ function isAny() {
475
+ return true;
476
+ }
477
+ function isTshirtSize(value) {
478
+ return tshirtUnitRegex.test(value);
479
+ }
480
+ function isArbitraryShadow(value) {
481
+ return getIsArbitraryValue(value, '', isShadow);
482
+ }
483
+ function getIsArbitraryValue(value, label, testValue) {
484
+ var result = arbitraryValueRegex.exec(value);
485
+ if (result) {
486
+ if (result[1]) {
487
+ return result[1] === label;
488
+ }
489
+ return testValue(result[2]);
490
+ }
491
+ return false;
492
+ }
493
+ function isLengthOnly(value) {
494
+ return lengthUnitRegex.test(value);
495
+ }
496
+ function isNever() {
497
+ return false;
498
+ }
499
+ function isUrl(value) {
500
+ return value.startsWith('url(');
501
+ }
502
+ function isIntegerOnly(value) {
503
+ return Number.isInteger(Number(value));
504
+ }
505
+ function isShadow(value) {
506
+ return shadowRegex.test(value);
507
+ }
508
+
509
+ function getDefaultConfig() {
510
+ var colors = fromTheme('colors');
511
+ var spacing = fromTheme('spacing');
512
+ var blur = fromTheme('blur');
513
+ var brightness = fromTheme('brightness');
514
+ var borderColor = fromTheme('borderColor');
515
+ var borderRadius = fromTheme('borderRadius');
516
+ var borderSpacing = fromTheme('borderSpacing');
517
+ var borderWidth = fromTheme('borderWidth');
518
+ var contrast = fromTheme('contrast');
519
+ var grayscale = fromTheme('grayscale');
520
+ var hueRotate = fromTheme('hueRotate');
521
+ var invert = fromTheme('invert');
522
+ var gap = fromTheme('gap');
523
+ var gradientColorStops = fromTheme('gradientColorStops');
524
+ var gradientColorStopPositions = fromTheme('gradientColorStopPositions');
525
+ var inset = fromTheme('inset');
526
+ var margin = fromTheme('margin');
527
+ var opacity = fromTheme('opacity');
528
+ var padding = fromTheme('padding');
529
+ var saturate = fromTheme('saturate');
530
+ var scale = fromTheme('scale');
531
+ var sepia = fromTheme('sepia');
532
+ var skew = fromTheme('skew');
533
+ var space = fromTheme('space');
534
+ var translate = fromTheme('translate');
535
+ var getOverscroll = function getOverscroll() {
536
+ return ['auto', 'contain', 'none'];
537
+ };
538
+ var getOverflow = function getOverflow() {
539
+ return ['auto', 'hidden', 'clip', 'visible', 'scroll'];
540
+ };
541
+ var getSpacingWithAutoAndArbitrary = function getSpacingWithAutoAndArbitrary() {
542
+ return ['auto', isArbitraryValue, spacing];
543
+ };
544
+ var getSpacingWithArbitrary = function getSpacingWithArbitrary() {
545
+ return [isArbitraryValue, spacing];
546
+ };
547
+ var getLengthWithEmpty = function getLengthWithEmpty() {
548
+ return ['', isLength];
549
+ };
550
+ var getNumberWithAutoAndArbitrary = function getNumberWithAutoAndArbitrary() {
551
+ return ['auto', isNumber, isArbitraryValue];
552
+ };
553
+ var getPositions = function getPositions() {
554
+ return ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];
555
+ };
556
+ var getLineStyles = function getLineStyles() {
557
+ return ['solid', 'dashed', 'dotted', 'double', 'none'];
558
+ };
559
+ var getBlendModes = function getBlendModes() {
560
+ return ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-lighter'];
561
+ };
562
+ var getAlign = function getAlign() {
563
+ return ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];
564
+ };
565
+ var getZeroAndEmpty = function getZeroAndEmpty() {
566
+ return ['', '0', isArbitraryValue];
567
+ };
568
+ var getBreaks = function getBreaks() {
569
+ return ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
570
+ };
571
+ var getNumber = function getNumber() {
572
+ return [isNumber, isArbitraryNumber];
573
+ };
574
+ var getNumberAndArbitrary = function getNumberAndArbitrary() {
575
+ return [isNumber, isArbitraryValue];
576
+ };
577
+ return {
578
+ cacheSize: 500,
579
+ theme: {
580
+ colors: [isAny],
581
+ spacing: [isLength],
582
+ blur: ['none', '', isTshirtSize, isArbitraryValue],
583
+ brightness: getNumber(),
584
+ borderColor: [colors],
585
+ borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],
586
+ borderSpacing: getSpacingWithArbitrary(),
587
+ borderWidth: getLengthWithEmpty(),
588
+ contrast: getNumber(),
589
+ grayscale: getZeroAndEmpty(),
590
+ hueRotate: getNumberAndArbitrary(),
591
+ invert: getZeroAndEmpty(),
592
+ gap: getSpacingWithArbitrary(),
593
+ gradientColorStops: [colors],
594
+ gradientColorStopPositions: [isPercent, isArbitraryLength],
595
+ inset: getSpacingWithAutoAndArbitrary(),
596
+ margin: getSpacingWithAutoAndArbitrary(),
597
+ opacity: getNumber(),
598
+ padding: getSpacingWithArbitrary(),
599
+ saturate: getNumber(),
600
+ scale: getNumber(),
601
+ sepia: getZeroAndEmpty(),
602
+ skew: getNumberAndArbitrary(),
603
+ space: getSpacingWithArbitrary(),
604
+ translate: getSpacingWithArbitrary()
605
+ },
606
+ classGroups: {
607
+ // Layout
608
+ /**
609
+ * Aspect Ratio
610
+ * @see https://tailwindcss.com/docs/aspect-ratio
611
+ */
612
+ aspect: [{
613
+ aspect: ['auto', 'square', 'video', isArbitraryValue]
614
+ }],
615
+ /**
616
+ * Container
617
+ * @see https://tailwindcss.com/docs/container
618
+ */
619
+ container: ['container'],
620
+ /**
621
+ * Columns
622
+ * @see https://tailwindcss.com/docs/columns
623
+ */
624
+ columns: [{
625
+ columns: [isTshirtSize]
626
+ }],
627
+ /**
628
+ * Break After
629
+ * @see https://tailwindcss.com/docs/break-after
630
+ */
631
+ 'break-after': [{
632
+ 'break-after': getBreaks()
633
+ }],
634
+ /**
635
+ * Break Before
636
+ * @see https://tailwindcss.com/docs/break-before
637
+ */
638
+ 'break-before': [{
639
+ 'break-before': getBreaks()
640
+ }],
641
+ /**
642
+ * Break Inside
643
+ * @see https://tailwindcss.com/docs/break-inside
644
+ */
645
+ 'break-inside': [{
646
+ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
647
+ }],
648
+ /**
649
+ * Box Decoration Break
650
+ * @see https://tailwindcss.com/docs/box-decoration-break
651
+ */
652
+ 'box-decoration': [{
653
+ 'box-decoration': ['slice', 'clone']
654
+ }],
655
+ /**
656
+ * Box Sizing
657
+ * @see https://tailwindcss.com/docs/box-sizing
658
+ */
659
+ box: [{
660
+ box: ['border', 'content']
661
+ }],
662
+ /**
663
+ * Display
664
+ * @see https://tailwindcss.com/docs/display
665
+ */
666
+ 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'],
667
+ /**
668
+ * Floats
669
+ * @see https://tailwindcss.com/docs/float
670
+ */
671
+ "float": [{
672
+ "float": ['right', 'left', 'none']
673
+ }],
674
+ /**
675
+ * Clear
676
+ * @see https://tailwindcss.com/docs/clear
677
+ */
678
+ clear: [{
679
+ clear: ['left', 'right', 'both', 'none']
680
+ }],
681
+ /**
682
+ * Isolation
683
+ * @see https://tailwindcss.com/docs/isolation
684
+ */
685
+ isolation: ['isolate', 'isolation-auto'],
686
+ /**
687
+ * Object Fit
688
+ * @see https://tailwindcss.com/docs/object-fit
689
+ */
690
+ 'object-fit': [{
691
+ object: ['contain', 'cover', 'fill', 'none', 'scale-down']
692
+ }],
693
+ /**
694
+ * Object Position
695
+ * @see https://tailwindcss.com/docs/object-position
696
+ */
697
+ 'object-position': [{
698
+ object: [].concat(getPositions(), [isArbitraryValue])
699
+ }],
700
+ /**
701
+ * Overflow
702
+ * @see https://tailwindcss.com/docs/overflow
703
+ */
704
+ overflow: [{
705
+ overflow: getOverflow()
706
+ }],
707
+ /**
708
+ * Overflow X
709
+ * @see https://tailwindcss.com/docs/overflow
710
+ */
711
+ 'overflow-x': [{
712
+ 'overflow-x': getOverflow()
713
+ }],
714
+ /**
715
+ * Overflow Y
716
+ * @see https://tailwindcss.com/docs/overflow
717
+ */
718
+ 'overflow-y': [{
719
+ 'overflow-y': getOverflow()
720
+ }],
721
+ /**
722
+ * Overscroll Behavior
723
+ * @see https://tailwindcss.com/docs/overscroll-behavior
724
+ */
725
+ overscroll: [{
726
+ overscroll: getOverscroll()
727
+ }],
728
+ /**
729
+ * Overscroll Behavior X
730
+ * @see https://tailwindcss.com/docs/overscroll-behavior
731
+ */
732
+ 'overscroll-x': [{
733
+ 'overscroll-x': getOverscroll()
734
+ }],
735
+ /**
736
+ * Overscroll Behavior Y
737
+ * @see https://tailwindcss.com/docs/overscroll-behavior
738
+ */
739
+ 'overscroll-y': [{
740
+ 'overscroll-y': getOverscroll()
741
+ }],
742
+ /**
743
+ * Position
744
+ * @see https://tailwindcss.com/docs/position
745
+ */
746
+ position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
747
+ /**
748
+ * Top / Right / Bottom / Left
749
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
750
+ */
751
+ inset: [{
752
+ inset: [inset]
753
+ }],
754
+ /**
755
+ * Right / Left
756
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
757
+ */
758
+ 'inset-x': [{
759
+ 'inset-x': [inset]
760
+ }],
761
+ /**
762
+ * Top / Bottom
763
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
764
+ */
765
+ 'inset-y': [{
766
+ 'inset-y': [inset]
767
+ }],
768
+ /**
769
+ * Start
770
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
771
+ */
772
+ start: [{
773
+ start: [inset]
774
+ }],
775
+ /**
776
+ * End
777
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
778
+ */
779
+ end: [{
780
+ end: [inset]
781
+ }],
782
+ /**
783
+ * Top
784
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
785
+ */
786
+ top: [{
787
+ top: [inset]
788
+ }],
789
+ /**
790
+ * Right
791
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
792
+ */
793
+ right: [{
794
+ right: [inset]
795
+ }],
796
+ /**
797
+ * Bottom
798
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
799
+ */
800
+ bottom: [{
801
+ bottom: [inset]
802
+ }],
803
+ /**
804
+ * Left
805
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
806
+ */
807
+ left: [{
808
+ left: [inset]
809
+ }],
810
+ /**
811
+ * Visibility
812
+ * @see https://tailwindcss.com/docs/visibility
813
+ */
814
+ visibility: ['visible', 'invisible', 'collapse'],
815
+ /**
816
+ * Z-Index
817
+ * @see https://tailwindcss.com/docs/z-index
818
+ */
819
+ z: [{
820
+ z: ['auto', isInteger]
821
+ }],
822
+ // Flexbox and Grid
823
+ /**
824
+ * Flex Basis
825
+ * @see https://tailwindcss.com/docs/flex-basis
826
+ */
827
+ basis: [{
828
+ basis: getSpacingWithAutoAndArbitrary()
829
+ }],
830
+ /**
831
+ * Flex Direction
832
+ * @see https://tailwindcss.com/docs/flex-direction
833
+ */
834
+ 'flex-direction': [{
835
+ flex: ['row', 'row-reverse', 'col', 'col-reverse']
836
+ }],
837
+ /**
838
+ * Flex Wrap
839
+ * @see https://tailwindcss.com/docs/flex-wrap
840
+ */
841
+ 'flex-wrap': [{
842
+ flex: ['wrap', 'wrap-reverse', 'nowrap']
843
+ }],
844
+ /**
845
+ * Flex
846
+ * @see https://tailwindcss.com/docs/flex
847
+ */
848
+ flex: [{
849
+ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue]
850
+ }],
851
+ /**
852
+ * Flex Grow
853
+ * @see https://tailwindcss.com/docs/flex-grow
854
+ */
855
+ grow: [{
856
+ grow: getZeroAndEmpty()
857
+ }],
858
+ /**
859
+ * Flex Shrink
860
+ * @see https://tailwindcss.com/docs/flex-shrink
861
+ */
862
+ shrink: [{
863
+ shrink: getZeroAndEmpty()
864
+ }],
865
+ /**
866
+ * Order
867
+ * @see https://tailwindcss.com/docs/order
868
+ */
869
+ order: [{
870
+ order: ['first', 'last', 'none', isInteger]
871
+ }],
872
+ /**
873
+ * Grid Template Columns
874
+ * @see https://tailwindcss.com/docs/grid-template-columns
875
+ */
876
+ 'grid-cols': [{
877
+ 'grid-cols': [isAny]
878
+ }],
879
+ /**
880
+ * Grid Column Start / End
881
+ * @see https://tailwindcss.com/docs/grid-column
882
+ */
883
+ 'col-start-end': [{
884
+ col: ['auto', {
885
+ span: ['full', isInteger]
886
+ }, isArbitraryValue]
887
+ }],
888
+ /**
889
+ * Grid Column Start
890
+ * @see https://tailwindcss.com/docs/grid-column
891
+ */
892
+ 'col-start': [{
893
+ 'col-start': getNumberWithAutoAndArbitrary()
894
+ }],
895
+ /**
896
+ * Grid Column End
897
+ * @see https://tailwindcss.com/docs/grid-column
898
+ */
899
+ 'col-end': [{
900
+ 'col-end': getNumberWithAutoAndArbitrary()
901
+ }],
902
+ /**
903
+ * Grid Template Rows
904
+ * @see https://tailwindcss.com/docs/grid-template-rows
905
+ */
906
+ 'grid-rows': [{
907
+ 'grid-rows': [isAny]
908
+ }],
909
+ /**
910
+ * Grid Row Start / End
911
+ * @see https://tailwindcss.com/docs/grid-row
912
+ */
913
+ 'row-start-end': [{
914
+ row: ['auto', {
915
+ span: [isInteger]
916
+ }, isArbitraryValue]
917
+ }],
918
+ /**
919
+ * Grid Row Start
920
+ * @see https://tailwindcss.com/docs/grid-row
921
+ */
922
+ 'row-start': [{
923
+ 'row-start': getNumberWithAutoAndArbitrary()
924
+ }],
925
+ /**
926
+ * Grid Row End
927
+ * @see https://tailwindcss.com/docs/grid-row
928
+ */
929
+ 'row-end': [{
930
+ 'row-end': getNumberWithAutoAndArbitrary()
931
+ }],
932
+ /**
933
+ * Grid Auto Flow
934
+ * @see https://tailwindcss.com/docs/grid-auto-flow
935
+ */
936
+ 'grid-flow': [{
937
+ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
938
+ }],
939
+ /**
940
+ * Grid Auto Columns
941
+ * @see https://tailwindcss.com/docs/grid-auto-columns
942
+ */
943
+ 'auto-cols': [{
944
+ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue]
945
+ }],
946
+ /**
947
+ * Grid Auto Rows
948
+ * @see https://tailwindcss.com/docs/grid-auto-rows
949
+ */
950
+ 'auto-rows': [{
951
+ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue]
952
+ }],
953
+ /**
954
+ * Gap
955
+ * @see https://tailwindcss.com/docs/gap
956
+ */
957
+ gap: [{
958
+ gap: [gap]
959
+ }],
960
+ /**
961
+ * Gap X
962
+ * @see https://tailwindcss.com/docs/gap
963
+ */
964
+ 'gap-x': [{
965
+ 'gap-x': [gap]
966
+ }],
967
+ /**
968
+ * Gap Y
969
+ * @see https://tailwindcss.com/docs/gap
970
+ */
971
+ 'gap-y': [{
972
+ 'gap-y': [gap]
973
+ }],
974
+ /**
975
+ * Justify Content
976
+ * @see https://tailwindcss.com/docs/justify-content
977
+ */
978
+ 'justify-content': [{
979
+ justify: ['normal'].concat(getAlign())
980
+ }],
981
+ /**
982
+ * Justify Items
983
+ * @see https://tailwindcss.com/docs/justify-items
984
+ */
985
+ 'justify-items': [{
986
+ 'justify-items': ['start', 'end', 'center', 'stretch']
987
+ }],
988
+ /**
989
+ * Justify Self
990
+ * @see https://tailwindcss.com/docs/justify-self
991
+ */
992
+ 'justify-self': [{
993
+ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch']
994
+ }],
995
+ /**
996
+ * Align Content
997
+ * @see https://tailwindcss.com/docs/align-content
998
+ */
999
+ 'align-content': [{
1000
+ content: ['normal'].concat(getAlign(), ['baseline'])
1001
+ }],
1002
+ /**
1003
+ * Align Items
1004
+ * @see https://tailwindcss.com/docs/align-items
1005
+ */
1006
+ 'align-items': [{
1007
+ items: ['start', 'end', 'center', 'baseline', 'stretch']
1008
+ }],
1009
+ /**
1010
+ * Align Self
1011
+ * @see https://tailwindcss.com/docs/align-self
1012
+ */
1013
+ 'align-self': [{
1014
+ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline']
1015
+ }],
1016
+ /**
1017
+ * Place Content
1018
+ * @see https://tailwindcss.com/docs/place-content
1019
+ */
1020
+ 'place-content': [{
1021
+ 'place-content': [].concat(getAlign(), ['baseline'])
1022
+ }],
1023
+ /**
1024
+ * Place Items
1025
+ * @see https://tailwindcss.com/docs/place-items
1026
+ */
1027
+ 'place-items': [{
1028
+ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch']
1029
+ }],
1030
+ /**
1031
+ * Place Self
1032
+ * @see https://tailwindcss.com/docs/place-self
1033
+ */
1034
+ 'place-self': [{
1035
+ 'place-self': ['auto', 'start', 'end', 'center', 'stretch']
1036
+ }],
1037
+ // Spacing
1038
+ /**
1039
+ * Padding
1040
+ * @see https://tailwindcss.com/docs/padding
1041
+ */
1042
+ p: [{
1043
+ p: [padding]
1044
+ }],
1045
+ /**
1046
+ * Padding X
1047
+ * @see https://tailwindcss.com/docs/padding
1048
+ */
1049
+ px: [{
1050
+ px: [padding]
1051
+ }],
1052
+ /**
1053
+ * Padding Y
1054
+ * @see https://tailwindcss.com/docs/padding
1055
+ */
1056
+ py: [{
1057
+ py: [padding]
1058
+ }],
1059
+ /**
1060
+ * Padding Start
1061
+ * @see https://tailwindcss.com/docs/padding
1062
+ */
1063
+ ps: [{
1064
+ ps: [padding]
1065
+ }],
1066
+ /**
1067
+ * Padding End
1068
+ * @see https://tailwindcss.com/docs/padding
1069
+ */
1070
+ pe: [{
1071
+ pe: [padding]
1072
+ }],
1073
+ /**
1074
+ * Padding Top
1075
+ * @see https://tailwindcss.com/docs/padding
1076
+ */
1077
+ pt: [{
1078
+ pt: [padding]
1079
+ }],
1080
+ /**
1081
+ * Padding Right
1082
+ * @see https://tailwindcss.com/docs/padding
1083
+ */
1084
+ pr: [{
1085
+ pr: [padding]
1086
+ }],
1087
+ /**
1088
+ * Padding Bottom
1089
+ * @see https://tailwindcss.com/docs/padding
1090
+ */
1091
+ pb: [{
1092
+ pb: [padding]
1093
+ }],
1094
+ /**
1095
+ * Padding Left
1096
+ * @see https://tailwindcss.com/docs/padding
1097
+ */
1098
+ pl: [{
1099
+ pl: [padding]
1100
+ }],
1101
+ /**
1102
+ * Margin
1103
+ * @see https://tailwindcss.com/docs/margin
1104
+ */
1105
+ m: [{
1106
+ m: [margin]
1107
+ }],
1108
+ /**
1109
+ * Margin X
1110
+ * @see https://tailwindcss.com/docs/margin
1111
+ */
1112
+ mx: [{
1113
+ mx: [margin]
1114
+ }],
1115
+ /**
1116
+ * Margin Y
1117
+ * @see https://tailwindcss.com/docs/margin
1118
+ */
1119
+ my: [{
1120
+ my: [margin]
1121
+ }],
1122
+ /**
1123
+ * Margin Start
1124
+ * @see https://tailwindcss.com/docs/margin
1125
+ */
1126
+ ms: [{
1127
+ ms: [margin]
1128
+ }],
1129
+ /**
1130
+ * Margin End
1131
+ * @see https://tailwindcss.com/docs/margin
1132
+ */
1133
+ me: [{
1134
+ me: [margin]
1135
+ }],
1136
+ /**
1137
+ * Margin Top
1138
+ * @see https://tailwindcss.com/docs/margin
1139
+ */
1140
+ mt: [{
1141
+ mt: [margin]
1142
+ }],
1143
+ /**
1144
+ * Margin Right
1145
+ * @see https://tailwindcss.com/docs/margin
1146
+ */
1147
+ mr: [{
1148
+ mr: [margin]
1149
+ }],
1150
+ /**
1151
+ * Margin Bottom
1152
+ * @see https://tailwindcss.com/docs/margin
1153
+ */
1154
+ mb: [{
1155
+ mb: [margin]
1156
+ }],
1157
+ /**
1158
+ * Margin Left
1159
+ * @see https://tailwindcss.com/docs/margin
1160
+ */
1161
+ ml: [{
1162
+ ml: [margin]
1163
+ }],
1164
+ /**
1165
+ * Space Between X
1166
+ * @see https://tailwindcss.com/docs/space
1167
+ */
1168
+ 'space-x': [{
1169
+ 'space-x': [space]
1170
+ }],
1171
+ /**
1172
+ * Space Between X Reverse
1173
+ * @see https://tailwindcss.com/docs/space
1174
+ */
1175
+ 'space-x-reverse': ['space-x-reverse'],
1176
+ /**
1177
+ * Space Between Y
1178
+ * @see https://tailwindcss.com/docs/space
1179
+ */
1180
+ 'space-y': [{
1181
+ 'space-y': [space]
1182
+ }],
1183
+ /**
1184
+ * Space Between Y Reverse
1185
+ * @see https://tailwindcss.com/docs/space
1186
+ */
1187
+ 'space-y-reverse': ['space-y-reverse'],
1188
+ // Sizing
1189
+ /**
1190
+ * Width
1191
+ * @see https://tailwindcss.com/docs/width
1192
+ */
1193
+ w: [{
1194
+ w: ['auto', 'min', 'max', 'fit', isArbitraryValue, spacing]
1195
+ }],
1196
+ /**
1197
+ * Min-Width
1198
+ * @see https://tailwindcss.com/docs/min-width
1199
+ */
1200
+ 'min-w': [{
1201
+ 'min-w': ['min', 'max', 'fit', isArbitraryValue, isLength]
1202
+ }],
1203
+ /**
1204
+ * Max-Width
1205
+ * @see https://tailwindcss.com/docs/max-width
1206
+ */
1207
+ 'max-w': [{
1208
+ 'max-w': ['0', 'none', 'full', 'min', 'max', 'fit', 'prose', {
1209
+ screen: [isTshirtSize]
1210
+ }, isTshirtSize, isArbitraryValue]
1211
+ }],
1212
+ /**
1213
+ * Height
1214
+ * @see https://tailwindcss.com/docs/height
1215
+ */
1216
+ h: [{
1217
+ h: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit']
1218
+ }],
1219
+ /**
1220
+ * Min-Height
1221
+ * @see https://tailwindcss.com/docs/min-height
1222
+ */
1223
+ 'min-h': [{
1224
+ 'min-h': ['min', 'max', 'fit', isArbitraryValue, isLength]
1225
+ }],
1226
+ /**
1227
+ * Max-Height
1228
+ * @see https://tailwindcss.com/docs/max-height
1229
+ */
1230
+ 'max-h': [{
1231
+ 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit']
1232
+ }],
1233
+ // Typography
1234
+ /**
1235
+ * Font Size
1236
+ * @see https://tailwindcss.com/docs/font-size
1237
+ */
1238
+ 'font-size': [{
1239
+ text: ['base', isTshirtSize, isArbitraryLength]
1240
+ }],
1241
+ /**
1242
+ * Font Smoothing
1243
+ * @see https://tailwindcss.com/docs/font-smoothing
1244
+ */
1245
+ 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
1246
+ /**
1247
+ * Font Style
1248
+ * @see https://tailwindcss.com/docs/font-style
1249
+ */
1250
+ 'font-style': ['italic', 'not-italic'],
1251
+ /**
1252
+ * Font Weight
1253
+ * @see https://tailwindcss.com/docs/font-weight
1254
+ */
1255
+ 'font-weight': [{
1256
+ font: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black', isArbitraryNumber]
1257
+ }],
1258
+ /**
1259
+ * Font Family
1260
+ * @see https://tailwindcss.com/docs/font-family
1261
+ */
1262
+ 'font-family': [{
1263
+ font: [isAny]
1264
+ }],
1265
+ /**
1266
+ * Font Variant Numeric
1267
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1268
+ */
1269
+ 'fvn-normal': ['normal-nums'],
1270
+ /**
1271
+ * Font Variant Numeric
1272
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1273
+ */
1274
+ 'fvn-ordinal': ['ordinal'],
1275
+ /**
1276
+ * Font Variant Numeric
1277
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1278
+ */
1279
+ 'fvn-slashed-zero': ['slashed-zero'],
1280
+ /**
1281
+ * Font Variant Numeric
1282
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1283
+ */
1284
+ 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
1285
+ /**
1286
+ * Font Variant Numeric
1287
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1288
+ */
1289
+ 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
1290
+ /**
1291
+ * Font Variant Numeric
1292
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1293
+ */
1294
+ 'fvn-fraction': ['diagonal-fractions', 'stacked-fractons'],
1295
+ /**
1296
+ * Letter Spacing
1297
+ * @see https://tailwindcss.com/docs/letter-spacing
1298
+ */
1299
+ tracking: [{
1300
+ tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest', isArbitraryValue]
1301
+ }],
1302
+ /**
1303
+ * Line Clamp
1304
+ * @see https://tailwindcss.com/docs/line-clamp
1305
+ */
1306
+ 'line-clamp': [{
1307
+ 'line-clamp': ['none', isNumber, isArbitraryNumber]
1308
+ }],
1309
+ /**
1310
+ * Line Height
1311
+ * @see https://tailwindcss.com/docs/line-height
1312
+ */
1313
+ leading: [{
1314
+ leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isArbitraryValue, isLength]
1315
+ }],
1316
+ /**
1317
+ * List Style Image
1318
+ * @see https://tailwindcss.com/docs/list-style-image
1319
+ */
1320
+ 'list-image': [{
1321
+ 'list-image': ['none', isArbitraryValue]
1322
+ }],
1323
+ /**
1324
+ * List Style Type
1325
+ * @see https://tailwindcss.com/docs/list-style-type
1326
+ */
1327
+ 'list-style-type': [{
1328
+ list: ['none', 'disc', 'decimal', isArbitraryValue]
1329
+ }],
1330
+ /**
1331
+ * List Style Position
1332
+ * @see https://tailwindcss.com/docs/list-style-position
1333
+ */
1334
+ 'list-style-position': [{
1335
+ list: ['inside', 'outside']
1336
+ }],
1337
+ /**
1338
+ * Placeholder Color
1339
+ * @deprecated since Tailwind CSS v3.0.0
1340
+ * @see https://tailwindcss.com/docs/placeholder-color
1341
+ */
1342
+ 'placeholder-color': [{
1343
+ placeholder: [colors]
1344
+ }],
1345
+ /**
1346
+ * Placeholder Opacity
1347
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1348
+ */
1349
+ 'placeholder-opacity': [{
1350
+ 'placeholder-opacity': [opacity]
1351
+ }],
1352
+ /**
1353
+ * Text Alignment
1354
+ * @see https://tailwindcss.com/docs/text-align
1355
+ */
1356
+ 'text-alignment': [{
1357
+ text: ['left', 'center', 'right', 'justify', 'start', 'end']
1358
+ }],
1359
+ /**
1360
+ * Text Color
1361
+ * @see https://tailwindcss.com/docs/text-color
1362
+ */
1363
+ 'text-color': [{
1364
+ text: [colors]
1365
+ }],
1366
+ /**
1367
+ * Text Opacity
1368
+ * @see https://tailwindcss.com/docs/text-opacity
1369
+ */
1370
+ 'text-opacity': [{
1371
+ 'text-opacity': [opacity]
1372
+ }],
1373
+ /**
1374
+ * Text Decoration
1375
+ * @see https://tailwindcss.com/docs/text-decoration
1376
+ */
1377
+ 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
1378
+ /**
1379
+ * Text Decoration Style
1380
+ * @see https://tailwindcss.com/docs/text-decoration-style
1381
+ */
1382
+ 'text-decoration-style': [{
1383
+ decoration: [].concat(getLineStyles(), ['wavy'])
1384
+ }],
1385
+ /**
1386
+ * Text Decoration Thickness
1387
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1388
+ */
1389
+ 'text-decoration-thickness': [{
1390
+ decoration: ['auto', 'from-font', isLength]
1391
+ }],
1392
+ /**
1393
+ * Text Underline Offset
1394
+ * @see https://tailwindcss.com/docs/text-underline-offset
1395
+ */
1396
+ 'underline-offset': [{
1397
+ 'underline-offset': ['auto', isArbitraryValue, isLength]
1398
+ }],
1399
+ /**
1400
+ * Text Decoration Color
1401
+ * @see https://tailwindcss.com/docs/text-decoration-color
1402
+ */
1403
+ 'text-decoration-color': [{
1404
+ decoration: [colors]
1405
+ }],
1406
+ /**
1407
+ * Text Transform
1408
+ * @see https://tailwindcss.com/docs/text-transform
1409
+ */
1410
+ 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
1411
+ /**
1412
+ * Text Overflow
1413
+ * @see https://tailwindcss.com/docs/text-overflow
1414
+ */
1415
+ 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
1416
+ /**
1417
+ * Text Indent
1418
+ * @see https://tailwindcss.com/docs/text-indent
1419
+ */
1420
+ indent: [{
1421
+ indent: getSpacingWithArbitrary()
1422
+ }],
1423
+ /**
1424
+ * Vertical Alignment
1425
+ * @see https://tailwindcss.com/docs/vertical-align
1426
+ */
1427
+ 'vertical-align': [{
1428
+ align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryValue]
1429
+ }],
1430
+ /**
1431
+ * Whitespace
1432
+ * @see https://tailwindcss.com/docs/whitespace
1433
+ */
1434
+ whitespace: [{
1435
+ whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
1436
+ }],
1437
+ /**
1438
+ * Word Break
1439
+ * @see https://tailwindcss.com/docs/word-break
1440
+ */
1441
+ "break": [{
1442
+ "break": ['normal', 'words', 'all', 'keep']
1443
+ }],
1444
+ /**
1445
+ * Hyphens
1446
+ * @see https://tailwindcss.com/docs/hyphens
1447
+ */
1448
+ hyphens: [{
1449
+ hyphens: ['none', 'manual', 'auto']
1450
+ }],
1451
+ /**
1452
+ * Content
1453
+ * @see https://tailwindcss.com/docs/content
1454
+ */
1455
+ content: [{
1456
+ content: ['none', isArbitraryValue]
1457
+ }],
1458
+ // Backgrounds
1459
+ /**
1460
+ * Background Attachment
1461
+ * @see https://tailwindcss.com/docs/background-attachment
1462
+ */
1463
+ 'bg-attachment': [{
1464
+ bg: ['fixed', 'local', 'scroll']
1465
+ }],
1466
+ /**
1467
+ * Background Clip
1468
+ * @see https://tailwindcss.com/docs/background-clip
1469
+ */
1470
+ 'bg-clip': [{
1471
+ 'bg-clip': ['border', 'padding', 'content', 'text']
1472
+ }],
1473
+ /**
1474
+ * Background Opacity
1475
+ * @deprecated since Tailwind CSS v3.0.0
1476
+ * @see https://tailwindcss.com/docs/background-opacity
1477
+ */
1478
+ 'bg-opacity': [{
1479
+ 'bg-opacity': [opacity]
1480
+ }],
1481
+ /**
1482
+ * Background Origin
1483
+ * @see https://tailwindcss.com/docs/background-origin
1484
+ */
1485
+ 'bg-origin': [{
1486
+ 'bg-origin': ['border', 'padding', 'content']
1487
+ }],
1488
+ /**
1489
+ * Background Position
1490
+ * @see https://tailwindcss.com/docs/background-position
1491
+ */
1492
+ 'bg-position': [{
1493
+ bg: [].concat(getPositions(), [isArbitraryPosition])
1494
+ }],
1495
+ /**
1496
+ * Background Repeat
1497
+ * @see https://tailwindcss.com/docs/background-repeat
1498
+ */
1499
+ 'bg-repeat': [{
1500
+ bg: ['no-repeat', {
1501
+ repeat: ['', 'x', 'y', 'round', 'space']
1502
+ }]
1503
+ }],
1504
+ /**
1505
+ * Background Size
1506
+ * @see https://tailwindcss.com/docs/background-size
1507
+ */
1508
+ 'bg-size': [{
1509
+ bg: ['auto', 'cover', 'contain', isArbitrarySize]
1510
+ }],
1511
+ /**
1512
+ * Background Image
1513
+ * @see https://tailwindcss.com/docs/background-image
1514
+ */
1515
+ 'bg-image': [{
1516
+ bg: ['none', {
1517
+ 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
1518
+ }, isArbitraryUrl]
1519
+ }],
1520
+ /**
1521
+ * Background Color
1522
+ * @see https://tailwindcss.com/docs/background-color
1523
+ */
1524
+ 'bg-color': [{
1525
+ bg: [colors]
1526
+ }],
1527
+ /**
1528
+ * Gradient Color Stops From Position
1529
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1530
+ */
1531
+ 'gradient-from-pos': [{
1532
+ from: [gradientColorStopPositions]
1533
+ }],
1534
+ /**
1535
+ * Gradient Color Stops Via Position
1536
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1537
+ */
1538
+ 'gradient-via-pos': [{
1539
+ via: [gradientColorStopPositions]
1540
+ }],
1541
+ /**
1542
+ * Gradient Color Stops To Position
1543
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1544
+ */
1545
+ 'gradient-to-pos': [{
1546
+ to: [gradientColorStopPositions]
1547
+ }],
1548
+ /**
1549
+ * Gradient Color Stops From
1550
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1551
+ */
1552
+ 'gradient-from': [{
1553
+ from: [gradientColorStops]
1554
+ }],
1555
+ /**
1556
+ * Gradient Color Stops Via
1557
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1558
+ */
1559
+ 'gradient-via': [{
1560
+ via: [gradientColorStops]
1561
+ }],
1562
+ /**
1563
+ * Gradient Color Stops To
1564
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1565
+ */
1566
+ 'gradient-to': [{
1567
+ to: [gradientColorStops]
1568
+ }],
1569
+ // Borders
1570
+ /**
1571
+ * Border Radius
1572
+ * @see https://tailwindcss.com/docs/border-radius
1573
+ */
1574
+ rounded: [{
1575
+ rounded: [borderRadius]
1576
+ }],
1577
+ /**
1578
+ * Border Radius Start
1579
+ * @see https://tailwindcss.com/docs/border-radius
1580
+ */
1581
+ 'rounded-s': [{
1582
+ 'rounded-s': [borderRadius]
1583
+ }],
1584
+ /**
1585
+ * Border Radius End
1586
+ * @see https://tailwindcss.com/docs/border-radius
1587
+ */
1588
+ 'rounded-e': [{
1589
+ 'rounded-e': [borderRadius]
1590
+ }],
1591
+ /**
1592
+ * Border Radius Top
1593
+ * @see https://tailwindcss.com/docs/border-radius
1594
+ */
1595
+ 'rounded-t': [{
1596
+ 'rounded-t': [borderRadius]
1597
+ }],
1598
+ /**
1599
+ * Border Radius Right
1600
+ * @see https://tailwindcss.com/docs/border-radius
1601
+ */
1602
+ 'rounded-r': [{
1603
+ 'rounded-r': [borderRadius]
1604
+ }],
1605
+ /**
1606
+ * Border Radius Bottom
1607
+ * @see https://tailwindcss.com/docs/border-radius
1608
+ */
1609
+ 'rounded-b': [{
1610
+ 'rounded-b': [borderRadius]
1611
+ }],
1612
+ /**
1613
+ * Border Radius Left
1614
+ * @see https://tailwindcss.com/docs/border-radius
1615
+ */
1616
+ 'rounded-l': [{
1617
+ 'rounded-l': [borderRadius]
1618
+ }],
1619
+ /**
1620
+ * Border Radius Start Start
1621
+ * @see https://tailwindcss.com/docs/border-radius
1622
+ */
1623
+ 'rounded-ss': [{
1624
+ 'rounded-ss': [borderRadius]
1625
+ }],
1626
+ /**
1627
+ * Border Radius Start End
1628
+ * @see https://tailwindcss.com/docs/border-radius
1629
+ */
1630
+ 'rounded-se': [{
1631
+ 'rounded-se': [borderRadius]
1632
+ }],
1633
+ /**
1634
+ * Border Radius End End
1635
+ * @see https://tailwindcss.com/docs/border-radius
1636
+ */
1637
+ 'rounded-ee': [{
1638
+ 'rounded-ee': [borderRadius]
1639
+ }],
1640
+ /**
1641
+ * Border Radius End Start
1642
+ * @see https://tailwindcss.com/docs/border-radius
1643
+ */
1644
+ 'rounded-es': [{
1645
+ 'rounded-es': [borderRadius]
1646
+ }],
1647
+ /**
1648
+ * Border Radius Top Left
1649
+ * @see https://tailwindcss.com/docs/border-radius
1650
+ */
1651
+ 'rounded-tl': [{
1652
+ 'rounded-tl': [borderRadius]
1653
+ }],
1654
+ /**
1655
+ * Border Radius Top Right
1656
+ * @see https://tailwindcss.com/docs/border-radius
1657
+ */
1658
+ 'rounded-tr': [{
1659
+ 'rounded-tr': [borderRadius]
1660
+ }],
1661
+ /**
1662
+ * Border Radius Bottom Right
1663
+ * @see https://tailwindcss.com/docs/border-radius
1664
+ */
1665
+ 'rounded-br': [{
1666
+ 'rounded-br': [borderRadius]
1667
+ }],
1668
+ /**
1669
+ * Border Radius Bottom Left
1670
+ * @see https://tailwindcss.com/docs/border-radius
1671
+ */
1672
+ 'rounded-bl': [{
1673
+ 'rounded-bl': [borderRadius]
1674
+ }],
1675
+ /**
1676
+ * Border Width
1677
+ * @see https://tailwindcss.com/docs/border-width
1678
+ */
1679
+ 'border-w': [{
1680
+ border: [borderWidth]
1681
+ }],
1682
+ /**
1683
+ * Border Width X
1684
+ * @see https://tailwindcss.com/docs/border-width
1685
+ */
1686
+ 'border-w-x': [{
1687
+ 'border-x': [borderWidth]
1688
+ }],
1689
+ /**
1690
+ * Border Width Y
1691
+ * @see https://tailwindcss.com/docs/border-width
1692
+ */
1693
+ 'border-w-y': [{
1694
+ 'border-y': [borderWidth]
1695
+ }],
1696
+ /**
1697
+ * Border Width Start
1698
+ * @see https://tailwindcss.com/docs/border-width
1699
+ */
1700
+ 'border-w-s': [{
1701
+ 'border-s': [borderWidth]
1702
+ }],
1703
+ /**
1704
+ * Border Width End
1705
+ * @see https://tailwindcss.com/docs/border-width
1706
+ */
1707
+ 'border-w-e': [{
1708
+ 'border-e': [borderWidth]
1709
+ }],
1710
+ /**
1711
+ * Border Width Top
1712
+ * @see https://tailwindcss.com/docs/border-width
1713
+ */
1714
+ 'border-w-t': [{
1715
+ 'border-t': [borderWidth]
1716
+ }],
1717
+ /**
1718
+ * Border Width Right
1719
+ * @see https://tailwindcss.com/docs/border-width
1720
+ */
1721
+ 'border-w-r': [{
1722
+ 'border-r': [borderWidth]
1723
+ }],
1724
+ /**
1725
+ * Border Width Bottom
1726
+ * @see https://tailwindcss.com/docs/border-width
1727
+ */
1728
+ 'border-w-b': [{
1729
+ 'border-b': [borderWidth]
1730
+ }],
1731
+ /**
1732
+ * Border Width Left
1733
+ * @see https://tailwindcss.com/docs/border-width
1734
+ */
1735
+ 'border-w-l': [{
1736
+ 'border-l': [borderWidth]
1737
+ }],
1738
+ /**
1739
+ * Border Opacity
1740
+ * @see https://tailwindcss.com/docs/border-opacity
1741
+ */
1742
+ 'border-opacity': [{
1743
+ 'border-opacity': [opacity]
1744
+ }],
1745
+ /**
1746
+ * Border Style
1747
+ * @see https://tailwindcss.com/docs/border-style
1748
+ */
1749
+ 'border-style': [{
1750
+ border: [].concat(getLineStyles(), ['hidden'])
1751
+ }],
1752
+ /**
1753
+ * Divide Width X
1754
+ * @see https://tailwindcss.com/docs/divide-width
1755
+ */
1756
+ 'divide-x': [{
1757
+ 'divide-x': [borderWidth]
1758
+ }],
1759
+ /**
1760
+ * Divide Width X Reverse
1761
+ * @see https://tailwindcss.com/docs/divide-width
1762
+ */
1763
+ 'divide-x-reverse': ['divide-x-reverse'],
1764
+ /**
1765
+ * Divide Width Y
1766
+ * @see https://tailwindcss.com/docs/divide-width
1767
+ */
1768
+ 'divide-y': [{
1769
+ 'divide-y': [borderWidth]
1770
+ }],
1771
+ /**
1772
+ * Divide Width Y Reverse
1773
+ * @see https://tailwindcss.com/docs/divide-width
1774
+ */
1775
+ 'divide-y-reverse': ['divide-y-reverse'],
1776
+ /**
1777
+ * Divide Opacity
1778
+ * @see https://tailwindcss.com/docs/divide-opacity
1779
+ */
1780
+ 'divide-opacity': [{
1781
+ 'divide-opacity': [opacity]
1782
+ }],
1783
+ /**
1784
+ * Divide Style
1785
+ * @see https://tailwindcss.com/docs/divide-style
1786
+ */
1787
+ 'divide-style': [{
1788
+ divide: getLineStyles()
1789
+ }],
1790
+ /**
1791
+ * Border Color
1792
+ * @see https://tailwindcss.com/docs/border-color
1793
+ */
1794
+ 'border-color': [{
1795
+ border: [borderColor]
1796
+ }],
1797
+ /**
1798
+ * Border Color X
1799
+ * @see https://tailwindcss.com/docs/border-color
1800
+ */
1801
+ 'border-color-x': [{
1802
+ 'border-x': [borderColor]
1803
+ }],
1804
+ /**
1805
+ * Border Color Y
1806
+ * @see https://tailwindcss.com/docs/border-color
1807
+ */
1808
+ 'border-color-y': [{
1809
+ 'border-y': [borderColor]
1810
+ }],
1811
+ /**
1812
+ * Border Color Top
1813
+ * @see https://tailwindcss.com/docs/border-color
1814
+ */
1815
+ 'border-color-t': [{
1816
+ 'border-t': [borderColor]
1817
+ }],
1818
+ /**
1819
+ * Border Color Right
1820
+ * @see https://tailwindcss.com/docs/border-color
1821
+ */
1822
+ 'border-color-r': [{
1823
+ 'border-r': [borderColor]
1824
+ }],
1825
+ /**
1826
+ * Border Color Bottom
1827
+ * @see https://tailwindcss.com/docs/border-color
1828
+ */
1829
+ 'border-color-b': [{
1830
+ 'border-b': [borderColor]
1831
+ }],
1832
+ /**
1833
+ * Border Color Left
1834
+ * @see https://tailwindcss.com/docs/border-color
1835
+ */
1836
+ 'border-color-l': [{
1837
+ 'border-l': [borderColor]
1838
+ }],
1839
+ /**
1840
+ * Divide Color
1841
+ * @see https://tailwindcss.com/docs/divide-color
1842
+ */
1843
+ 'divide-color': [{
1844
+ divide: [borderColor]
1845
+ }],
1846
+ /**
1847
+ * Outline Style
1848
+ * @see https://tailwindcss.com/docs/outline-style
1849
+ */
1850
+ 'outline-style': [{
1851
+ outline: [''].concat(getLineStyles())
1852
+ }],
1853
+ /**
1854
+ * Outline Offset
1855
+ * @see https://tailwindcss.com/docs/outline-offset
1856
+ */
1857
+ 'outline-offset': [{
1858
+ 'outline-offset': [isArbitraryValue, isLength]
1859
+ }],
1860
+ /**
1861
+ * Outline Width
1862
+ * @see https://tailwindcss.com/docs/outline-width
1863
+ */
1864
+ 'outline-w': [{
1865
+ outline: [isLength]
1866
+ }],
1867
+ /**
1868
+ * Outline Color
1869
+ * @see https://tailwindcss.com/docs/outline-color
1870
+ */
1871
+ 'outline-color': [{
1872
+ outline: [colors]
1873
+ }],
1874
+ /**
1875
+ * Ring Width
1876
+ * @see https://tailwindcss.com/docs/ring-width
1877
+ */
1878
+ 'ring-w': [{
1879
+ ring: getLengthWithEmpty()
1880
+ }],
1881
+ /**
1882
+ * Ring Width Inset
1883
+ * @see https://tailwindcss.com/docs/ring-width
1884
+ */
1885
+ 'ring-w-inset': ['ring-inset'],
1886
+ /**
1887
+ * Ring Color
1888
+ * @see https://tailwindcss.com/docs/ring-color
1889
+ */
1890
+ 'ring-color': [{
1891
+ ring: [colors]
1892
+ }],
1893
+ /**
1894
+ * Ring Opacity
1895
+ * @see https://tailwindcss.com/docs/ring-opacity
1896
+ */
1897
+ 'ring-opacity': [{
1898
+ 'ring-opacity': [opacity]
1899
+ }],
1900
+ /**
1901
+ * Ring Offset Width
1902
+ * @see https://tailwindcss.com/docs/ring-offset-width
1903
+ */
1904
+ 'ring-offset-w': [{
1905
+ 'ring-offset': [isLength]
1906
+ }],
1907
+ /**
1908
+ * Ring Offset Color
1909
+ * @see https://tailwindcss.com/docs/ring-offset-color
1910
+ */
1911
+ 'ring-offset-color': [{
1912
+ 'ring-offset': [colors]
1913
+ }],
1914
+ // Effects
1915
+ /**
1916
+ * Box Shadow
1917
+ * @see https://tailwindcss.com/docs/box-shadow
1918
+ */
1919
+ shadow: [{
1920
+ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow]
1921
+ }],
1922
+ /**
1923
+ * Box Shadow Color
1924
+ * @see https://tailwindcss.com/docs/box-shadow-color
1925
+ */
1926
+ 'shadow-color': [{
1927
+ shadow: [isAny]
1928
+ }],
1929
+ /**
1930
+ * Opacity
1931
+ * @see https://tailwindcss.com/docs/opacity
1932
+ */
1933
+ opacity: [{
1934
+ opacity: [opacity]
1935
+ }],
1936
+ /**
1937
+ * Mix Blend Mode
1938
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1939
+ */
1940
+ 'mix-blend': [{
1941
+ 'mix-blend': getBlendModes()
1942
+ }],
1943
+ /**
1944
+ * Background Blend Mode
1945
+ * @see https://tailwindcss.com/docs/background-blend-mode
1946
+ */
1947
+ 'bg-blend': [{
1948
+ 'bg-blend': getBlendModes()
1949
+ }],
1950
+ // Filters
1951
+ /**
1952
+ * Filter
1953
+ * @deprecated since Tailwind CSS v3.0.0
1954
+ * @see https://tailwindcss.com/docs/filter
1955
+ */
1956
+ filter: [{
1957
+ filter: ['', 'none']
1958
+ }],
1959
+ /**
1960
+ * Blur
1961
+ * @see https://tailwindcss.com/docs/blur
1962
+ */
1963
+ blur: [{
1964
+ blur: [blur]
1965
+ }],
1966
+ /**
1967
+ * Brightness
1968
+ * @see https://tailwindcss.com/docs/brightness
1969
+ */
1970
+ brightness: [{
1971
+ brightness: [brightness]
1972
+ }],
1973
+ /**
1974
+ * Contrast
1975
+ * @see https://tailwindcss.com/docs/contrast
1976
+ */
1977
+ contrast: [{
1978
+ contrast: [contrast]
1979
+ }],
1980
+ /**
1981
+ * Drop Shadow
1982
+ * @see https://tailwindcss.com/docs/drop-shadow
1983
+ */
1984
+ 'drop-shadow': [{
1985
+ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue]
1986
+ }],
1987
+ /**
1988
+ * Grayscale
1989
+ * @see https://tailwindcss.com/docs/grayscale
1990
+ */
1991
+ grayscale: [{
1992
+ grayscale: [grayscale]
1993
+ }],
1994
+ /**
1995
+ * Hue Rotate
1996
+ * @see https://tailwindcss.com/docs/hue-rotate
1997
+ */
1998
+ 'hue-rotate': [{
1999
+ 'hue-rotate': [hueRotate]
2000
+ }],
2001
+ /**
2002
+ * Invert
2003
+ * @see https://tailwindcss.com/docs/invert
2004
+ */
2005
+ invert: [{
2006
+ invert: [invert]
2007
+ }],
2008
+ /**
2009
+ * Saturate
2010
+ * @see https://tailwindcss.com/docs/saturate
2011
+ */
2012
+ saturate: [{
2013
+ saturate: [saturate]
2014
+ }],
2015
+ /**
2016
+ * Sepia
2017
+ * @see https://tailwindcss.com/docs/sepia
2018
+ */
2019
+ sepia: [{
2020
+ sepia: [sepia]
2021
+ }],
2022
+ /**
2023
+ * Backdrop Filter
2024
+ * @deprecated since Tailwind CSS v3.0.0
2025
+ * @see https://tailwindcss.com/docs/backdrop-filter
2026
+ */
2027
+ 'backdrop-filter': [{
2028
+ 'backdrop-filter': ['', 'none']
2029
+ }],
2030
+ /**
2031
+ * Backdrop Blur
2032
+ * @see https://tailwindcss.com/docs/backdrop-blur
2033
+ */
2034
+ 'backdrop-blur': [{
2035
+ 'backdrop-blur': [blur]
2036
+ }],
2037
+ /**
2038
+ * Backdrop Brightness
2039
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2040
+ */
2041
+ 'backdrop-brightness': [{
2042
+ 'backdrop-brightness': [brightness]
2043
+ }],
2044
+ /**
2045
+ * Backdrop Contrast
2046
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2047
+ */
2048
+ 'backdrop-contrast': [{
2049
+ 'backdrop-contrast': [contrast]
2050
+ }],
2051
+ /**
2052
+ * Backdrop Grayscale
2053
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2054
+ */
2055
+ 'backdrop-grayscale': [{
2056
+ 'backdrop-grayscale': [grayscale]
2057
+ }],
2058
+ /**
2059
+ * Backdrop Hue Rotate
2060
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2061
+ */
2062
+ 'backdrop-hue-rotate': [{
2063
+ 'backdrop-hue-rotate': [hueRotate]
2064
+ }],
2065
+ /**
2066
+ * Backdrop Invert
2067
+ * @see https://tailwindcss.com/docs/backdrop-invert
2068
+ */
2069
+ 'backdrop-invert': [{
2070
+ 'backdrop-invert': [invert]
2071
+ }],
2072
+ /**
2073
+ * Backdrop Opacity
2074
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2075
+ */
2076
+ 'backdrop-opacity': [{
2077
+ 'backdrop-opacity': [opacity]
2078
+ }],
2079
+ /**
2080
+ * Backdrop Saturate
2081
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2082
+ */
2083
+ 'backdrop-saturate': [{
2084
+ 'backdrop-saturate': [saturate]
2085
+ }],
2086
+ /**
2087
+ * Backdrop Sepia
2088
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2089
+ */
2090
+ 'backdrop-sepia': [{
2091
+ 'backdrop-sepia': [sepia]
2092
+ }],
2093
+ // Tables
2094
+ /**
2095
+ * Border Collapse
2096
+ * @see https://tailwindcss.com/docs/border-collapse
2097
+ */
2098
+ 'border-collapse': [{
2099
+ border: ['collapse', 'separate']
2100
+ }],
2101
+ /**
2102
+ * Border Spacing
2103
+ * @see https://tailwindcss.com/docs/border-spacing
2104
+ */
2105
+ 'border-spacing': [{
2106
+ 'border-spacing': [borderSpacing]
2107
+ }],
2108
+ /**
2109
+ * Border Spacing X
2110
+ * @see https://tailwindcss.com/docs/border-spacing
2111
+ */
2112
+ 'border-spacing-x': [{
2113
+ 'border-spacing-x': [borderSpacing]
2114
+ }],
2115
+ /**
2116
+ * Border Spacing Y
2117
+ * @see https://tailwindcss.com/docs/border-spacing
2118
+ */
2119
+ 'border-spacing-y': [{
2120
+ 'border-spacing-y': [borderSpacing]
2121
+ }],
2122
+ /**
2123
+ * Table Layout
2124
+ * @see https://tailwindcss.com/docs/table-layout
2125
+ */
2126
+ 'table-layout': [{
2127
+ table: ['auto', 'fixed']
2128
+ }],
2129
+ /**
2130
+ * Caption Side
2131
+ * @see https://tailwindcss.com/docs/caption-side
2132
+ */
2133
+ caption: [{
2134
+ caption: ['top', 'bottom']
2135
+ }],
2136
+ // Transitions and Animation
2137
+ /**
2138
+ * Tranisition Property
2139
+ * @see https://tailwindcss.com/docs/transition-property
2140
+ */
2141
+ transition: [{
2142
+ transition: ['none', 'all', '', 'colors', 'opacity', 'shadow', 'transform', isArbitraryValue]
2143
+ }],
2144
+ /**
2145
+ * Transition Duration
2146
+ * @see https://tailwindcss.com/docs/transition-duration
2147
+ */
2148
+ duration: [{
2149
+ duration: getNumberAndArbitrary()
2150
+ }],
2151
+ /**
2152
+ * Transition Timing Function
2153
+ * @see https://tailwindcss.com/docs/transition-timing-function
2154
+ */
2155
+ ease: [{
2156
+ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue]
2157
+ }],
2158
+ /**
2159
+ * Transition Delay
2160
+ * @see https://tailwindcss.com/docs/transition-delay
2161
+ */
2162
+ delay: [{
2163
+ delay: getNumberAndArbitrary()
2164
+ }],
2165
+ /**
2166
+ * Animation
2167
+ * @see https://tailwindcss.com/docs/animation
2168
+ */
2169
+ animate: [{
2170
+ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue]
2171
+ }],
2172
+ // Transforms
2173
+ /**
2174
+ * Transform
2175
+ * @see https://tailwindcss.com/docs/transform
2176
+ */
2177
+ transform: [{
2178
+ transform: ['', 'gpu', 'none']
2179
+ }],
2180
+ /**
2181
+ * Scale
2182
+ * @see https://tailwindcss.com/docs/scale
2183
+ */
2184
+ scale: [{
2185
+ scale: [scale]
2186
+ }],
2187
+ /**
2188
+ * Scale X
2189
+ * @see https://tailwindcss.com/docs/scale
2190
+ */
2191
+ 'scale-x': [{
2192
+ 'scale-x': [scale]
2193
+ }],
2194
+ /**
2195
+ * Scale Y
2196
+ * @see https://tailwindcss.com/docs/scale
2197
+ */
2198
+ 'scale-y': [{
2199
+ 'scale-y': [scale]
2200
+ }],
2201
+ /**
2202
+ * Rotate
2203
+ * @see https://tailwindcss.com/docs/rotate
2204
+ */
2205
+ rotate: [{
2206
+ rotate: [isInteger, isArbitraryValue]
2207
+ }],
2208
+ /**
2209
+ * Translate X
2210
+ * @see https://tailwindcss.com/docs/translate
2211
+ */
2212
+ 'translate-x': [{
2213
+ 'translate-x': [translate]
2214
+ }],
2215
+ /**
2216
+ * Translate Y
2217
+ * @see https://tailwindcss.com/docs/translate
2218
+ */
2219
+ 'translate-y': [{
2220
+ 'translate-y': [translate]
2221
+ }],
2222
+ /**
2223
+ * Skew X
2224
+ * @see https://tailwindcss.com/docs/skew
2225
+ */
2226
+ 'skew-x': [{
2227
+ 'skew-x': [skew]
2228
+ }],
2229
+ /**
2230
+ * Skew Y
2231
+ * @see https://tailwindcss.com/docs/skew
2232
+ */
2233
+ 'skew-y': [{
2234
+ 'skew-y': [skew]
2235
+ }],
2236
+ /**
2237
+ * Transform Origin
2238
+ * @see https://tailwindcss.com/docs/transform-origin
2239
+ */
2240
+ 'transform-origin': [{
2241
+ origin: ['center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryValue]
2242
+ }],
2243
+ // Interactivity
2244
+ /**
2245
+ * Accent Color
2246
+ * @see https://tailwindcss.com/docs/accent-color
2247
+ */
2248
+ accent: [{
2249
+ accent: ['auto', colors]
2250
+ }],
2251
+ /**
2252
+ * Appearance
2253
+ * @see https://tailwindcss.com/docs/appearance
2254
+ */
2255
+ appearance: ['appearance-none'],
2256
+ /**
2257
+ * Cursor
2258
+ * @see https://tailwindcss.com/docs/cursor
2259
+ */
2260
+ cursor: [{
2261
+ 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', isArbitraryValue]
2262
+ }],
2263
+ /**
2264
+ * Caret Color
2265
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2266
+ */
2267
+ 'caret-color': [{
2268
+ caret: [colors]
2269
+ }],
2270
+ /**
2271
+ * Pointer Events
2272
+ * @see https://tailwindcss.com/docs/pointer-events
2273
+ */
2274
+ 'pointer-events': [{
2275
+ 'pointer-events': ['none', 'auto']
2276
+ }],
2277
+ /**
2278
+ * Resize
2279
+ * @see https://tailwindcss.com/docs/resize
2280
+ */
2281
+ resize: [{
2282
+ resize: ['none', 'y', 'x', '']
2283
+ }],
2284
+ /**
2285
+ * Scroll Behavior
2286
+ * @see https://tailwindcss.com/docs/scroll-behavior
2287
+ */
2288
+ 'scroll-behavior': [{
2289
+ scroll: ['auto', 'smooth']
2290
+ }],
2291
+ /**
2292
+ * Scroll Margin
2293
+ * @see https://tailwindcss.com/docs/scroll-margin
2294
+ */
2295
+ 'scroll-m': [{
2296
+ 'scroll-m': getSpacingWithArbitrary()
2297
+ }],
2298
+ /**
2299
+ * Scroll Margin X
2300
+ * @see https://tailwindcss.com/docs/scroll-margin
2301
+ */
2302
+ 'scroll-mx': [{
2303
+ 'scroll-mx': getSpacingWithArbitrary()
2304
+ }],
2305
+ /**
2306
+ * Scroll Margin Y
2307
+ * @see https://tailwindcss.com/docs/scroll-margin
2308
+ */
2309
+ 'scroll-my': [{
2310
+ 'scroll-my': getSpacingWithArbitrary()
2311
+ }],
2312
+ /**
2313
+ * Scroll Margin Start
2314
+ * @see https://tailwindcss.com/docs/scroll-margin
2315
+ */
2316
+ 'scroll-ms': [{
2317
+ 'scroll-ms': getSpacingWithArbitrary()
2318
+ }],
2319
+ /**
2320
+ * Scroll Margin End
2321
+ * @see https://tailwindcss.com/docs/scroll-margin
2322
+ */
2323
+ 'scroll-me': [{
2324
+ 'scroll-me': getSpacingWithArbitrary()
2325
+ }],
2326
+ /**
2327
+ * Scroll Margin Top
2328
+ * @see https://tailwindcss.com/docs/scroll-margin
2329
+ */
2330
+ 'scroll-mt': [{
2331
+ 'scroll-mt': getSpacingWithArbitrary()
2332
+ }],
2333
+ /**
2334
+ * Scroll Margin Right
2335
+ * @see https://tailwindcss.com/docs/scroll-margin
2336
+ */
2337
+ 'scroll-mr': [{
2338
+ 'scroll-mr': getSpacingWithArbitrary()
2339
+ }],
2340
+ /**
2341
+ * Scroll Margin Bottom
2342
+ * @see https://tailwindcss.com/docs/scroll-margin
2343
+ */
2344
+ 'scroll-mb': [{
2345
+ 'scroll-mb': getSpacingWithArbitrary()
2346
+ }],
2347
+ /**
2348
+ * Scroll Margin Left
2349
+ * @see https://tailwindcss.com/docs/scroll-margin
2350
+ */
2351
+ 'scroll-ml': [{
2352
+ 'scroll-ml': getSpacingWithArbitrary()
2353
+ }],
2354
+ /**
2355
+ * Scroll Padding
2356
+ * @see https://tailwindcss.com/docs/scroll-padding
2357
+ */
2358
+ 'scroll-p': [{
2359
+ 'scroll-p': getSpacingWithArbitrary()
2360
+ }],
2361
+ /**
2362
+ * Scroll Padding X
2363
+ * @see https://tailwindcss.com/docs/scroll-padding
2364
+ */
2365
+ 'scroll-px': [{
2366
+ 'scroll-px': getSpacingWithArbitrary()
2367
+ }],
2368
+ /**
2369
+ * Scroll Padding Y
2370
+ * @see https://tailwindcss.com/docs/scroll-padding
2371
+ */
2372
+ 'scroll-py': [{
2373
+ 'scroll-py': getSpacingWithArbitrary()
2374
+ }],
2375
+ /**
2376
+ * Scroll Padding Start
2377
+ * @see https://tailwindcss.com/docs/scroll-padding
2378
+ */
2379
+ 'scroll-ps': [{
2380
+ 'scroll-ps': getSpacingWithArbitrary()
2381
+ }],
2382
+ /**
2383
+ * Scroll Padding End
2384
+ * @see https://tailwindcss.com/docs/scroll-padding
2385
+ */
2386
+ 'scroll-pe': [{
2387
+ 'scroll-pe': getSpacingWithArbitrary()
2388
+ }],
2389
+ /**
2390
+ * Scroll Padding Top
2391
+ * @see https://tailwindcss.com/docs/scroll-padding
2392
+ */
2393
+ 'scroll-pt': [{
2394
+ 'scroll-pt': getSpacingWithArbitrary()
2395
+ }],
2396
+ /**
2397
+ * Scroll Padding Right
2398
+ * @see https://tailwindcss.com/docs/scroll-padding
2399
+ */
2400
+ 'scroll-pr': [{
2401
+ 'scroll-pr': getSpacingWithArbitrary()
2402
+ }],
2403
+ /**
2404
+ * Scroll Padding Bottom
2405
+ * @see https://tailwindcss.com/docs/scroll-padding
2406
+ */
2407
+ 'scroll-pb': [{
2408
+ 'scroll-pb': getSpacingWithArbitrary()
2409
+ }],
2410
+ /**
2411
+ * Scroll Padding Left
2412
+ * @see https://tailwindcss.com/docs/scroll-padding
2413
+ */
2414
+ 'scroll-pl': [{
2415
+ 'scroll-pl': getSpacingWithArbitrary()
2416
+ }],
2417
+ /**
2418
+ * Scroll Snap Align
2419
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2420
+ */
2421
+ 'snap-align': [{
2422
+ snap: ['start', 'end', 'center', 'align-none']
2423
+ }],
2424
+ /**
2425
+ * Scroll Snap Stop
2426
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2427
+ */
2428
+ 'snap-stop': [{
2429
+ snap: ['normal', 'always']
2430
+ }],
2431
+ /**
2432
+ * Scroll Snap Type
2433
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2434
+ */
2435
+ 'snap-type': [{
2436
+ snap: ['none', 'x', 'y', 'both']
2437
+ }],
2438
+ /**
2439
+ * Scroll Snap Type Strictness
2440
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2441
+ */
2442
+ 'snap-strictness': [{
2443
+ snap: ['mandatory', 'proximity']
2444
+ }],
2445
+ /**
2446
+ * Touch Action
2447
+ * @see https://tailwindcss.com/docs/touch-action
2448
+ */
2449
+ touch: [{
2450
+ touch: ['auto', 'none', 'pinch-zoom', 'manipulation', {
2451
+ pan: ['x', 'left', 'right', 'y', 'up', 'down']
2452
+ }]
2453
+ }],
2454
+ /**
2455
+ * User Select
2456
+ * @see https://tailwindcss.com/docs/user-select
2457
+ */
2458
+ select: [{
2459
+ select: ['none', 'text', 'all', 'auto']
2460
+ }],
2461
+ /**
2462
+ * Will Change
2463
+ * @see https://tailwindcss.com/docs/will-change
2464
+ */
2465
+ 'will-change': [{
2466
+ 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue]
2467
+ }],
2468
+ // SVG
2469
+ /**
2470
+ * Fill
2471
+ * @see https://tailwindcss.com/docs/fill
2472
+ */
2473
+ fill: [{
2474
+ fill: [colors, 'none']
2475
+ }],
2476
+ /**
2477
+ * Stroke Width
2478
+ * @see https://tailwindcss.com/docs/stroke-width
2479
+ */
2480
+ 'stroke-w': [{
2481
+ stroke: [isLength, isArbitraryNumber]
2482
+ }],
2483
+ /**
2484
+ * Stroke
2485
+ * @see https://tailwindcss.com/docs/stroke
2486
+ */
2487
+ stroke: [{
2488
+ stroke: [colors, 'none']
2489
+ }],
2490
+ // Accessibility
2491
+ /**
2492
+ * Screen Readers
2493
+ * @see https://tailwindcss.com/docs/screen-readers
2494
+ */
2495
+ sr: ['sr-only', 'not-sr-only']
2496
+ },
2497
+ conflictingClassGroups: {
2498
+ overflow: ['overflow-x', 'overflow-y'],
2499
+ overscroll: ['overscroll-x', 'overscroll-y'],
2500
+ inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
2501
+ 'inset-x': ['right', 'left'],
2502
+ 'inset-y': ['top', 'bottom'],
2503
+ flex: ['basis', 'grow', 'shrink'],
2504
+ gap: ['gap-x', 'gap-y'],
2505
+ p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
2506
+ px: ['pr', 'pl'],
2507
+ py: ['pt', 'pb'],
2508
+ m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
2509
+ mx: ['mr', 'ml'],
2510
+ my: ['mt', 'mb'],
2511
+ 'font-size': ['leading'],
2512
+ 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
2513
+ 'fvn-ordinal': ['fvn-normal'],
2514
+ 'fvn-slashed-zero': ['fvn-normal'],
2515
+ 'fvn-figure': ['fvn-normal'],
2516
+ 'fvn-spacing': ['fvn-normal'],
2517
+ 'fvn-fraction': ['fvn-normal'],
2518
+ 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'],
2519
+ 'rounded-s': ['rounded-ss', 'rounded-es'],
2520
+ 'rounded-e': ['rounded-se', 'rounded-ee'],
2521
+ 'rounded-t': ['rounded-tl', 'rounded-tr'],
2522
+ 'rounded-r': ['rounded-tr', 'rounded-br'],
2523
+ 'rounded-b': ['rounded-br', 'rounded-bl'],
2524
+ 'rounded-l': ['rounded-tl', 'rounded-bl'],
2525
+ 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
2526
+ 'border-w': ['border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
2527
+ 'border-w-x': ['border-w-r', 'border-w-l'],
2528
+ 'border-w-y': ['border-w-t', 'border-w-b'],
2529
+ 'border-color': ['border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
2530
+ 'border-color-x': ['border-color-r', 'border-color-l'],
2531
+ 'border-color-y': ['border-color-t', 'border-color-b'],
2532
+ 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
2533
+ 'scroll-mx': ['scroll-mr', 'scroll-ml'],
2534
+ 'scroll-my': ['scroll-mt', 'scroll-mb'],
2535
+ 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
2536
+ 'scroll-px': ['scroll-pr', 'scroll-pl'],
2537
+ 'scroll-py': ['scroll-pt', 'scroll-pb']
2538
+ },
2539
+ conflictingClassGroupModifiers: {
2540
+ 'font-size': ['leading']
2541
+ }
2542
+ };
2543
+ }
2544
+
2545
+ var twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
2546
+
2547
+ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
2548
+
2549
+ const cn = (...inputs) => {
2550
+ return twMerge(clsx(inputs));
2551
+ };
2552
+
2553
+ export { cn };