@dreamcommerce/aurora 3.0.0-1 → 3.0.0-3

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