@pnkx-lib/ui 1.4.9 → 1.5.0

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.
@@ -11176,6 +11176,2961 @@ function requireCloneDeep () {
11176
11176
 
11177
11177
  requireCloneDeep();
11178
11178
 
11179
+ const CLASS_PART_SEPARATOR = '-';
11180
+ const createClassGroupUtils = config => {
11181
+ const classMap = createClassMap(config);
11182
+ const {
11183
+ conflictingClassGroups,
11184
+ conflictingClassGroupModifiers
11185
+ } = config;
11186
+ const getClassGroupId = className => {
11187
+ const classParts = className.split(CLASS_PART_SEPARATOR);
11188
+ // 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.
11189
+ if (classParts[0] === '' && classParts.length !== 1) {
11190
+ classParts.shift();
11191
+ }
11192
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
11193
+ };
11194
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
11195
+ const conflicts = conflictingClassGroups[classGroupId] || [];
11196
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
11197
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
11198
+ }
11199
+ return conflicts;
11200
+ };
11201
+ return {
11202
+ getClassGroupId,
11203
+ getConflictingClassGroupIds
11204
+ };
11205
+ };
11206
+ const getGroupRecursive = (classParts, classPartObject) => {
11207
+ if (classParts.length === 0) {
11208
+ return classPartObject.classGroupId;
11209
+ }
11210
+ const currentClassPart = classParts[0];
11211
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
11212
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
11213
+ if (classGroupFromNextClassPart) {
11214
+ return classGroupFromNextClassPart;
11215
+ }
11216
+ if (classPartObject.validators.length === 0) {
11217
+ return undefined;
11218
+ }
11219
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
11220
+ return classPartObject.validators.find(({
11221
+ validator
11222
+ }) => validator(classRest))?.classGroupId;
11223
+ };
11224
+ const arbitraryPropertyRegex = /^\[(.+)\]$/;
11225
+ const getGroupIdForArbitraryProperty = className => {
11226
+ if (arbitraryPropertyRegex.test(className)) {
11227
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
11228
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
11229
+ if (property) {
11230
+ // I use two dots here because one dot is used as prefix for class groups in plugins
11231
+ return 'arbitrary..' + property;
11232
+ }
11233
+ }
11234
+ };
11235
+ /**
11236
+ * Exported for testing only
11237
+ */
11238
+ const createClassMap = config => {
11239
+ const {
11240
+ theme,
11241
+ classGroups
11242
+ } = config;
11243
+ const classMap = {
11244
+ nextPart: new Map(),
11245
+ validators: []
11246
+ };
11247
+ for (const classGroupId in classGroups) {
11248
+ processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
11249
+ }
11250
+ return classMap;
11251
+ };
11252
+ const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
11253
+ classGroup.forEach(classDefinition => {
11254
+ if (typeof classDefinition === 'string') {
11255
+ const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
11256
+ classPartObjectToEdit.classGroupId = classGroupId;
11257
+ return;
11258
+ }
11259
+ if (typeof classDefinition === 'function') {
11260
+ if (isThemeGetter(classDefinition)) {
11261
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
11262
+ return;
11263
+ }
11264
+ classPartObject.validators.push({
11265
+ validator: classDefinition,
11266
+ classGroupId
11267
+ });
11268
+ return;
11269
+ }
11270
+ Object.entries(classDefinition).forEach(([key, classGroup]) => {
11271
+ processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
11272
+ });
11273
+ });
11274
+ };
11275
+ const getPart = (classPartObject, path) => {
11276
+ let currentClassPartObject = classPartObject;
11277
+ path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
11278
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
11279
+ currentClassPartObject.nextPart.set(pathPart, {
11280
+ nextPart: new Map(),
11281
+ validators: []
11282
+ });
11283
+ }
11284
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
11285
+ });
11286
+ return currentClassPartObject;
11287
+ };
11288
+ const isThemeGetter = func => func.isThemeGetter;
11289
+
11290
+ // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
11291
+ const createLruCache = maxCacheSize => {
11292
+ if (maxCacheSize < 1) {
11293
+ return {
11294
+ get: () => undefined,
11295
+ set: () => {}
11296
+ };
11297
+ }
11298
+ let cacheSize = 0;
11299
+ let cache = new Map();
11300
+ let previousCache = new Map();
11301
+ const update = (key, value) => {
11302
+ cache.set(key, value);
11303
+ cacheSize++;
11304
+ if (cacheSize > maxCacheSize) {
11305
+ cacheSize = 0;
11306
+ previousCache = cache;
11307
+ cache = new Map();
11308
+ }
11309
+ };
11310
+ return {
11311
+ get(key) {
11312
+ let value = cache.get(key);
11313
+ if (value !== undefined) {
11314
+ return value;
11315
+ }
11316
+ if ((value = previousCache.get(key)) !== undefined) {
11317
+ update(key, value);
11318
+ return value;
11319
+ }
11320
+ },
11321
+ set(key, value) {
11322
+ if (cache.has(key)) {
11323
+ cache.set(key, value);
11324
+ } else {
11325
+ update(key, value);
11326
+ }
11327
+ }
11328
+ };
11329
+ };
11330
+ const IMPORTANT_MODIFIER = '!';
11331
+ const MODIFIER_SEPARATOR = ':';
11332
+ const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
11333
+ const createParseClassName = config => {
11334
+ const {
11335
+ prefix,
11336
+ experimentalParseClassName
11337
+ } = config;
11338
+ /**
11339
+ * Parse class name into parts.
11340
+ *
11341
+ * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
11342
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
11343
+ */
11344
+ let parseClassName = className => {
11345
+ const modifiers = [];
11346
+ let bracketDepth = 0;
11347
+ let parenDepth = 0;
11348
+ let modifierStart = 0;
11349
+ let postfixModifierPosition;
11350
+ for (let index = 0; index < className.length; index++) {
11351
+ let currentCharacter = className[index];
11352
+ if (bracketDepth === 0 && parenDepth === 0) {
11353
+ if (currentCharacter === MODIFIER_SEPARATOR) {
11354
+ modifiers.push(className.slice(modifierStart, index));
11355
+ modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
11356
+ continue;
11357
+ }
11358
+ if (currentCharacter === '/') {
11359
+ postfixModifierPosition = index;
11360
+ continue;
11361
+ }
11362
+ }
11363
+ if (currentCharacter === '[') {
11364
+ bracketDepth++;
11365
+ } else if (currentCharacter === ']') {
11366
+ bracketDepth--;
11367
+ } else if (currentCharacter === '(') {
11368
+ parenDepth++;
11369
+ } else if (currentCharacter === ')') {
11370
+ parenDepth--;
11371
+ }
11372
+ }
11373
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
11374
+ const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
11375
+ const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
11376
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
11377
+ return {
11378
+ modifiers,
11379
+ hasImportantModifier,
11380
+ baseClassName,
11381
+ maybePostfixModifierPosition
11382
+ };
11383
+ };
11384
+ if (prefix) {
11385
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
11386
+ const parseClassNameOriginal = parseClassName;
11387
+ parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
11388
+ isExternal: true,
11389
+ modifiers: [],
11390
+ hasImportantModifier: false,
11391
+ baseClassName: className,
11392
+ maybePostfixModifierPosition: undefined
11393
+ };
11394
+ }
11395
+ if (experimentalParseClassName) {
11396
+ const parseClassNameOriginal = parseClassName;
11397
+ parseClassName = className => experimentalParseClassName({
11398
+ className,
11399
+ parseClassName: parseClassNameOriginal
11400
+ });
11401
+ }
11402
+ return parseClassName;
11403
+ };
11404
+ const stripImportantModifier = baseClassName => {
11405
+ if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
11406
+ return baseClassName.substring(0, baseClassName.length - 1);
11407
+ }
11408
+ /**
11409
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
11410
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
11411
+ */
11412
+ if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
11413
+ return baseClassName.substring(1);
11414
+ }
11415
+ return baseClassName;
11416
+ };
11417
+
11418
+ /**
11419
+ * Sorts modifiers according to following schema:
11420
+ * - Predefined modifiers are sorted alphabetically
11421
+ * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
11422
+ */
11423
+ const createSortModifiers = config => {
11424
+ const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));
11425
+ const sortModifiers = modifiers => {
11426
+ if (modifiers.length <= 1) {
11427
+ return modifiers;
11428
+ }
11429
+ const sortedModifiers = [];
11430
+ let unsortedModifiers = [];
11431
+ modifiers.forEach(modifier => {
11432
+ const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
11433
+ if (isPositionSensitive) {
11434
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
11435
+ unsortedModifiers = [];
11436
+ } else {
11437
+ unsortedModifiers.push(modifier);
11438
+ }
11439
+ });
11440
+ sortedModifiers.push(...unsortedModifiers.sort());
11441
+ return sortedModifiers;
11442
+ };
11443
+ return sortModifiers;
11444
+ };
11445
+ const createConfigUtils = config => ({
11446
+ cache: createLruCache(config.cacheSize),
11447
+ parseClassName: createParseClassName(config),
11448
+ sortModifiers: createSortModifiers(config),
11449
+ ...createClassGroupUtils(config)
11450
+ });
11451
+ const SPLIT_CLASSES_REGEX = /\s+/;
11452
+ const mergeClassList = (classList, configUtils) => {
11453
+ const {
11454
+ parseClassName,
11455
+ getClassGroupId,
11456
+ getConflictingClassGroupIds,
11457
+ sortModifiers
11458
+ } = configUtils;
11459
+ /**
11460
+ * Set of classGroupIds in following format:
11461
+ * `{importantModifier}{variantModifiers}{classGroupId}`
11462
+ * @example 'float'
11463
+ * @example 'hover:focus:bg-color'
11464
+ * @example 'md:!pr'
11465
+ */
11466
+ const classGroupsInConflict = [];
11467
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
11468
+ let result = '';
11469
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
11470
+ const originalClassName = classNames[index];
11471
+ const {
11472
+ isExternal,
11473
+ modifiers,
11474
+ hasImportantModifier,
11475
+ baseClassName,
11476
+ maybePostfixModifierPosition
11477
+ } = parseClassName(originalClassName);
11478
+ if (isExternal) {
11479
+ result = originalClassName + (result.length > 0 ? ' ' + result : result);
11480
+ continue;
11481
+ }
11482
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
11483
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
11484
+ if (!classGroupId) {
11485
+ if (!hasPostfixModifier) {
11486
+ // Not a Tailwind class
11487
+ result = originalClassName + (result.length > 0 ? ' ' + result : result);
11488
+ continue;
11489
+ }
11490
+ classGroupId = getClassGroupId(baseClassName);
11491
+ if (!classGroupId) {
11492
+ // Not a Tailwind class
11493
+ result = originalClassName + (result.length > 0 ? ' ' + result : result);
11494
+ continue;
11495
+ }
11496
+ hasPostfixModifier = false;
11497
+ }
11498
+ const variantModifier = sortModifiers(modifiers).join(':');
11499
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
11500
+ const classId = modifierId + classGroupId;
11501
+ if (classGroupsInConflict.includes(classId)) {
11502
+ // Tailwind class omitted due to conflict
11503
+ continue;
11504
+ }
11505
+ classGroupsInConflict.push(classId);
11506
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
11507
+ for (let i = 0; i < conflictGroups.length; ++i) {
11508
+ const group = conflictGroups[i];
11509
+ classGroupsInConflict.push(modifierId + group);
11510
+ }
11511
+ // Tailwind class not in conflict
11512
+ result = originalClassName + (result.length > 0 ? ' ' + result : result);
11513
+ }
11514
+ return result;
11515
+ };
11516
+
11517
+ /**
11518
+ * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
11519
+ *
11520
+ * Specifically:
11521
+ * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
11522
+ * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
11523
+ *
11524
+ * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
11525
+ */
11526
+ function twJoin() {
11527
+ let index = 0;
11528
+ let argument;
11529
+ let resolvedValue;
11530
+ let string = '';
11531
+ while (index < arguments.length) {
11532
+ if (argument = arguments[index++]) {
11533
+ if (resolvedValue = toValue(argument)) {
11534
+ string && (string += ' ');
11535
+ string += resolvedValue;
11536
+ }
11537
+ }
11538
+ }
11539
+ return string;
11540
+ }
11541
+ const toValue = mix => {
11542
+ if (typeof mix === 'string') {
11543
+ return mix;
11544
+ }
11545
+ let resolvedValue;
11546
+ let string = '';
11547
+ for (let k = 0; k < mix.length; k++) {
11548
+ if (mix[k]) {
11549
+ if (resolvedValue = toValue(mix[k])) {
11550
+ string && (string += ' ');
11551
+ string += resolvedValue;
11552
+ }
11553
+ }
11554
+ }
11555
+ return string;
11556
+ };
11557
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
11558
+ let configUtils;
11559
+ let cacheGet;
11560
+ let cacheSet;
11561
+ let functionToCall = initTailwindMerge;
11562
+ function initTailwindMerge(classList) {
11563
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
11564
+ configUtils = createConfigUtils(config);
11565
+ cacheGet = configUtils.cache.get;
11566
+ cacheSet = configUtils.cache.set;
11567
+ functionToCall = tailwindMerge;
11568
+ return tailwindMerge(classList);
11569
+ }
11570
+ function tailwindMerge(classList) {
11571
+ const cachedResult = cacheGet(classList);
11572
+ if (cachedResult) {
11573
+ return cachedResult;
11574
+ }
11575
+ const result = mergeClassList(classList, configUtils);
11576
+ cacheSet(classList, result);
11577
+ return result;
11578
+ }
11579
+ return function callTailwindMerge() {
11580
+ return functionToCall(twJoin.apply(null, arguments));
11581
+ };
11582
+ }
11583
+ const fromTheme = key => {
11584
+ const themeGetter = theme => theme[key] || [];
11585
+ themeGetter.isThemeGetter = true;
11586
+ return themeGetter;
11587
+ };
11588
+ const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
11589
+ const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
11590
+ const fractionRegex = /^\d+\/\d+$/;
11591
+ const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
11592
+ 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$/;
11593
+ const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
11594
+ // Shadow always begins with x and y offset separated by underscore optionally prepended by inset
11595
+ const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
11596
+ const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
11597
+ const isFraction = value => fractionRegex.test(value);
11598
+ const isNumber = value => !!value && !Number.isNaN(Number(value));
11599
+ const isInteger = value => !!value && Number.isInteger(Number(value));
11600
+ const isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));
11601
+ const isTshirtSize = value => tshirtUnitRegex.test(value);
11602
+ const isAny = () => true;
11603
+ const isLengthOnly = value =>
11604
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
11605
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
11606
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
11607
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
11608
+ const isNever = () => false;
11609
+ const isShadow = value => shadowRegex.test(value);
11610
+ const isImage = value => imageRegex.test(value);
11611
+ const isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);
11612
+ const isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);
11613
+ const isArbitraryValue = value => arbitraryValueRegex.test(value);
11614
+ const isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
11615
+ const isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);
11616
+ const isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);
11617
+ const isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);
11618
+ const isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);
11619
+ const isArbitraryVariable = value => arbitraryVariableRegex.test(value);
11620
+ const isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);
11621
+ const isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);
11622
+ const isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);
11623
+ const isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);
11624
+ const isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);
11625
+ const isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);
11626
+ // Helpers
11627
+ const getIsArbitraryValue = (value, testLabel, testValue) => {
11628
+ const result = arbitraryValueRegex.exec(value);
11629
+ if (result) {
11630
+ if (result[1]) {
11631
+ return testLabel(result[1]);
11632
+ }
11633
+ return testValue(result[2]);
11634
+ }
11635
+ return false;
11636
+ };
11637
+ const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
11638
+ const result = arbitraryVariableRegex.exec(value);
11639
+ if (result) {
11640
+ if (result[1]) {
11641
+ return testLabel(result[1]);
11642
+ }
11643
+ return shouldMatchNoLabel;
11644
+ }
11645
+ return false;
11646
+ };
11647
+ // Labels
11648
+ const isLabelPosition = label => label === 'position' || label === 'percentage';
11649
+ const isLabelImage = label => label === 'image' || label === 'url';
11650
+ const isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';
11651
+ const isLabelLength = label => label === 'length';
11652
+ const isLabelNumber = label => label === 'number';
11653
+ const isLabelFamilyName = label => label === 'family-name';
11654
+ const isLabelShadow = label => label === 'shadow';
11655
+ const getDefaultConfig = () => {
11656
+ /**
11657
+ * Theme getters for theme variable namespaces
11658
+ * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
11659
+ */
11660
+ /***/
11661
+ const themeColor = fromTheme('color');
11662
+ const themeFont = fromTheme('font');
11663
+ const themeText = fromTheme('text');
11664
+ const themeFontWeight = fromTheme('font-weight');
11665
+ const themeTracking = fromTheme('tracking');
11666
+ const themeLeading = fromTheme('leading');
11667
+ const themeBreakpoint = fromTheme('breakpoint');
11668
+ const themeContainer = fromTheme('container');
11669
+ const themeSpacing = fromTheme('spacing');
11670
+ const themeRadius = fromTheme('radius');
11671
+ const themeShadow = fromTheme('shadow');
11672
+ const themeInsetShadow = fromTheme('inset-shadow');
11673
+ const themeTextShadow = fromTheme('text-shadow');
11674
+ const themeDropShadow = fromTheme('drop-shadow');
11675
+ const themeBlur = fromTheme('blur');
11676
+ const themePerspective = fromTheme('perspective');
11677
+ const themeAspect = fromTheme('aspect');
11678
+ const themeEase = fromTheme('ease');
11679
+ const themeAnimate = fromTheme('animate');
11680
+ /**
11681
+ * Helpers to avoid repeating the same scales
11682
+ *
11683
+ * We use functions that create a new array every time they're called instead of static arrays.
11684
+ * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
11685
+ */
11686
+ /***/
11687
+ const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
11688
+ const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',
11689
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
11690
+ 'left-top', 'top-right',
11691
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
11692
+ 'right-top', 'bottom-right',
11693
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
11694
+ 'right-bottom', 'bottom-left',
11695
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
11696
+ 'left-bottom'];
11697
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
11698
+ const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];
11699
+ const scaleOverscroll = () => ['auto', 'contain', 'none'];
11700
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
11701
+ const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];
11702
+ const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];
11703
+ const scaleGridColRowStartAndEnd = () => ['auto', {
11704
+ span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]
11705
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
11706
+ const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];
11707
+ const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];
11708
+ const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];
11709
+ const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];
11710
+ const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];
11711
+ const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];
11712
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
11713
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
11714
+ position: [isArbitraryVariable, isArbitraryValue]
11715
+ }];
11716
+ const scaleBgRepeat = () => ['no-repeat', {
11717
+ repeat: ['', 'x', 'y', 'space', 'round']
11718
+ }];
11719
+ const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {
11720
+ size: [isArbitraryVariable, isArbitraryValue]
11721
+ }];
11722
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
11723
+ const scaleRadius = () => [
11724
+ // Deprecated since Tailwind CSS v4.0.0
11725
+ '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];
11726
+ const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];
11727
+ const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];
11728
+ const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];
11729
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
11730
+ const scaleBlur = () => [
11731
+ // Deprecated since Tailwind CSS v4.0.0
11732
+ '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];
11733
+ const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
11734
+ const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
11735
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
11736
+ const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];
11737
+ return {
11738
+ cacheSize: 500,
11739
+ theme: {
11740
+ animate: ['spin', 'ping', 'pulse', 'bounce'],
11741
+ aspect: ['video'],
11742
+ blur: [isTshirtSize],
11743
+ breakpoint: [isTshirtSize],
11744
+ color: [isAny],
11745
+ container: [isTshirtSize],
11746
+ 'drop-shadow': [isTshirtSize],
11747
+ ease: ['in', 'out', 'in-out'],
11748
+ font: [isAnyNonArbitrary],
11749
+ 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
11750
+ 'inset-shadow': [isTshirtSize],
11751
+ leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
11752
+ perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
11753
+ radius: [isTshirtSize],
11754
+ shadow: [isTshirtSize],
11755
+ spacing: ['px', isNumber],
11756
+ text: [isTshirtSize],
11757
+ 'text-shadow': [isTshirtSize],
11758
+ tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']
11759
+ },
11760
+ classGroups: {
11761
+ // --------------
11762
+ // --- Layout ---
11763
+ // --------------
11764
+ /**
11765
+ * Aspect Ratio
11766
+ * @see https://tailwindcss.com/docs/aspect-ratio
11767
+ */
11768
+ aspect: [{
11769
+ aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
11770
+ }],
11771
+ /**
11772
+ * Container
11773
+ * @see https://tailwindcss.com/docs/container
11774
+ * @deprecated since Tailwind CSS v4.0.0
11775
+ */
11776
+ container: ['container'],
11777
+ /**
11778
+ * Columns
11779
+ * @see https://tailwindcss.com/docs/columns
11780
+ */
11781
+ columns: [{
11782
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
11783
+ }],
11784
+ /**
11785
+ * Break After
11786
+ * @see https://tailwindcss.com/docs/break-after
11787
+ */
11788
+ 'break-after': [{
11789
+ 'break-after': scaleBreak()
11790
+ }],
11791
+ /**
11792
+ * Break Before
11793
+ * @see https://tailwindcss.com/docs/break-before
11794
+ */
11795
+ 'break-before': [{
11796
+ 'break-before': scaleBreak()
11797
+ }],
11798
+ /**
11799
+ * Break Inside
11800
+ * @see https://tailwindcss.com/docs/break-inside
11801
+ */
11802
+ 'break-inside': [{
11803
+ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
11804
+ }],
11805
+ /**
11806
+ * Box Decoration Break
11807
+ * @see https://tailwindcss.com/docs/box-decoration-break
11808
+ */
11809
+ 'box-decoration': [{
11810
+ 'box-decoration': ['slice', 'clone']
11811
+ }],
11812
+ /**
11813
+ * Box Sizing
11814
+ * @see https://tailwindcss.com/docs/box-sizing
11815
+ */
11816
+ box: [{
11817
+ box: ['border', 'content']
11818
+ }],
11819
+ /**
11820
+ * Display
11821
+ * @see https://tailwindcss.com/docs/display
11822
+ */
11823
+ 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'],
11824
+ /**
11825
+ * Screen Reader Only
11826
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
11827
+ */
11828
+ sr: ['sr-only', 'not-sr-only'],
11829
+ /**
11830
+ * Floats
11831
+ * @see https://tailwindcss.com/docs/float
11832
+ */
11833
+ float: [{
11834
+ float: ['right', 'left', 'none', 'start', 'end']
11835
+ }],
11836
+ /**
11837
+ * Clear
11838
+ * @see https://tailwindcss.com/docs/clear
11839
+ */
11840
+ clear: [{
11841
+ clear: ['left', 'right', 'both', 'none', 'start', 'end']
11842
+ }],
11843
+ /**
11844
+ * Isolation
11845
+ * @see https://tailwindcss.com/docs/isolation
11846
+ */
11847
+ isolation: ['isolate', 'isolation-auto'],
11848
+ /**
11849
+ * Object Fit
11850
+ * @see https://tailwindcss.com/docs/object-fit
11851
+ */
11852
+ 'object-fit': [{
11853
+ object: ['contain', 'cover', 'fill', 'none', 'scale-down']
11854
+ }],
11855
+ /**
11856
+ * Object Position
11857
+ * @see https://tailwindcss.com/docs/object-position
11858
+ */
11859
+ 'object-position': [{
11860
+ object: scalePositionWithArbitrary()
11861
+ }],
11862
+ /**
11863
+ * Overflow
11864
+ * @see https://tailwindcss.com/docs/overflow
11865
+ */
11866
+ overflow: [{
11867
+ overflow: scaleOverflow()
11868
+ }],
11869
+ /**
11870
+ * Overflow X
11871
+ * @see https://tailwindcss.com/docs/overflow
11872
+ */
11873
+ 'overflow-x': [{
11874
+ 'overflow-x': scaleOverflow()
11875
+ }],
11876
+ /**
11877
+ * Overflow Y
11878
+ * @see https://tailwindcss.com/docs/overflow
11879
+ */
11880
+ 'overflow-y': [{
11881
+ 'overflow-y': scaleOverflow()
11882
+ }],
11883
+ /**
11884
+ * Overscroll Behavior
11885
+ * @see https://tailwindcss.com/docs/overscroll-behavior
11886
+ */
11887
+ overscroll: [{
11888
+ overscroll: scaleOverscroll()
11889
+ }],
11890
+ /**
11891
+ * Overscroll Behavior X
11892
+ * @see https://tailwindcss.com/docs/overscroll-behavior
11893
+ */
11894
+ 'overscroll-x': [{
11895
+ 'overscroll-x': scaleOverscroll()
11896
+ }],
11897
+ /**
11898
+ * Overscroll Behavior Y
11899
+ * @see https://tailwindcss.com/docs/overscroll-behavior
11900
+ */
11901
+ 'overscroll-y': [{
11902
+ 'overscroll-y': scaleOverscroll()
11903
+ }],
11904
+ /**
11905
+ * Position
11906
+ * @see https://tailwindcss.com/docs/position
11907
+ */
11908
+ position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
11909
+ /**
11910
+ * Top / Right / Bottom / Left
11911
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11912
+ */
11913
+ inset: [{
11914
+ inset: scaleInset()
11915
+ }],
11916
+ /**
11917
+ * Right / Left
11918
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11919
+ */
11920
+ 'inset-x': [{
11921
+ 'inset-x': scaleInset()
11922
+ }],
11923
+ /**
11924
+ * Top / Bottom
11925
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11926
+ */
11927
+ 'inset-y': [{
11928
+ 'inset-y': scaleInset()
11929
+ }],
11930
+ /**
11931
+ * Start
11932
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11933
+ */
11934
+ start: [{
11935
+ start: scaleInset()
11936
+ }],
11937
+ /**
11938
+ * End
11939
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11940
+ */
11941
+ end: [{
11942
+ end: scaleInset()
11943
+ }],
11944
+ /**
11945
+ * Top
11946
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11947
+ */
11948
+ top: [{
11949
+ top: scaleInset()
11950
+ }],
11951
+ /**
11952
+ * Right
11953
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11954
+ */
11955
+ right: [{
11956
+ right: scaleInset()
11957
+ }],
11958
+ /**
11959
+ * Bottom
11960
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11961
+ */
11962
+ bottom: [{
11963
+ bottom: scaleInset()
11964
+ }],
11965
+ /**
11966
+ * Left
11967
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
11968
+ */
11969
+ left: [{
11970
+ left: scaleInset()
11971
+ }],
11972
+ /**
11973
+ * Visibility
11974
+ * @see https://tailwindcss.com/docs/visibility
11975
+ */
11976
+ visibility: ['visible', 'invisible', 'collapse'],
11977
+ /**
11978
+ * Z-Index
11979
+ * @see https://tailwindcss.com/docs/z-index
11980
+ */
11981
+ z: [{
11982
+ z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]
11983
+ }],
11984
+ // ------------------------
11985
+ // --- Flexbox and Grid ---
11986
+ // ------------------------
11987
+ /**
11988
+ * Flex Basis
11989
+ * @see https://tailwindcss.com/docs/flex-basis
11990
+ */
11991
+ basis: [{
11992
+ basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]
11993
+ }],
11994
+ /**
11995
+ * Flex Direction
11996
+ * @see https://tailwindcss.com/docs/flex-direction
11997
+ */
11998
+ 'flex-direction': [{
11999
+ flex: ['row', 'row-reverse', 'col', 'col-reverse']
12000
+ }],
12001
+ /**
12002
+ * Flex Wrap
12003
+ * @see https://tailwindcss.com/docs/flex-wrap
12004
+ */
12005
+ 'flex-wrap': [{
12006
+ flex: ['nowrap', 'wrap', 'wrap-reverse']
12007
+ }],
12008
+ /**
12009
+ * Flex
12010
+ * @see https://tailwindcss.com/docs/flex
12011
+ */
12012
+ flex: [{
12013
+ flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]
12014
+ }],
12015
+ /**
12016
+ * Flex Grow
12017
+ * @see https://tailwindcss.com/docs/flex-grow
12018
+ */
12019
+ grow: [{
12020
+ grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]
12021
+ }],
12022
+ /**
12023
+ * Flex Shrink
12024
+ * @see https://tailwindcss.com/docs/flex-shrink
12025
+ */
12026
+ shrink: [{
12027
+ shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]
12028
+ }],
12029
+ /**
12030
+ * Order
12031
+ * @see https://tailwindcss.com/docs/order
12032
+ */
12033
+ order: [{
12034
+ order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]
12035
+ }],
12036
+ /**
12037
+ * Grid Template Columns
12038
+ * @see https://tailwindcss.com/docs/grid-template-columns
12039
+ */
12040
+ 'grid-cols': [{
12041
+ 'grid-cols': scaleGridTemplateColsRows()
12042
+ }],
12043
+ /**
12044
+ * Grid Column Start / End
12045
+ * @see https://tailwindcss.com/docs/grid-column
12046
+ */
12047
+ 'col-start-end': [{
12048
+ col: scaleGridColRowStartAndEnd()
12049
+ }],
12050
+ /**
12051
+ * Grid Column Start
12052
+ * @see https://tailwindcss.com/docs/grid-column
12053
+ */
12054
+ 'col-start': [{
12055
+ 'col-start': scaleGridColRowStartOrEnd()
12056
+ }],
12057
+ /**
12058
+ * Grid Column End
12059
+ * @see https://tailwindcss.com/docs/grid-column
12060
+ */
12061
+ 'col-end': [{
12062
+ 'col-end': scaleGridColRowStartOrEnd()
12063
+ }],
12064
+ /**
12065
+ * Grid Template Rows
12066
+ * @see https://tailwindcss.com/docs/grid-template-rows
12067
+ */
12068
+ 'grid-rows': [{
12069
+ 'grid-rows': scaleGridTemplateColsRows()
12070
+ }],
12071
+ /**
12072
+ * Grid Row Start / End
12073
+ * @see https://tailwindcss.com/docs/grid-row
12074
+ */
12075
+ 'row-start-end': [{
12076
+ row: scaleGridColRowStartAndEnd()
12077
+ }],
12078
+ /**
12079
+ * Grid Row Start
12080
+ * @see https://tailwindcss.com/docs/grid-row
12081
+ */
12082
+ 'row-start': [{
12083
+ 'row-start': scaleGridColRowStartOrEnd()
12084
+ }],
12085
+ /**
12086
+ * Grid Row End
12087
+ * @see https://tailwindcss.com/docs/grid-row
12088
+ */
12089
+ 'row-end': [{
12090
+ 'row-end': scaleGridColRowStartOrEnd()
12091
+ }],
12092
+ /**
12093
+ * Grid Auto Flow
12094
+ * @see https://tailwindcss.com/docs/grid-auto-flow
12095
+ */
12096
+ 'grid-flow': [{
12097
+ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
12098
+ }],
12099
+ /**
12100
+ * Grid Auto Columns
12101
+ * @see https://tailwindcss.com/docs/grid-auto-columns
12102
+ */
12103
+ 'auto-cols': [{
12104
+ 'auto-cols': scaleGridAutoColsRows()
12105
+ }],
12106
+ /**
12107
+ * Grid Auto Rows
12108
+ * @see https://tailwindcss.com/docs/grid-auto-rows
12109
+ */
12110
+ 'auto-rows': [{
12111
+ 'auto-rows': scaleGridAutoColsRows()
12112
+ }],
12113
+ /**
12114
+ * Gap
12115
+ * @see https://tailwindcss.com/docs/gap
12116
+ */
12117
+ gap: [{
12118
+ gap: scaleUnambiguousSpacing()
12119
+ }],
12120
+ /**
12121
+ * Gap X
12122
+ * @see https://tailwindcss.com/docs/gap
12123
+ */
12124
+ 'gap-x': [{
12125
+ 'gap-x': scaleUnambiguousSpacing()
12126
+ }],
12127
+ /**
12128
+ * Gap Y
12129
+ * @see https://tailwindcss.com/docs/gap
12130
+ */
12131
+ 'gap-y': [{
12132
+ 'gap-y': scaleUnambiguousSpacing()
12133
+ }],
12134
+ /**
12135
+ * Justify Content
12136
+ * @see https://tailwindcss.com/docs/justify-content
12137
+ */
12138
+ 'justify-content': [{
12139
+ justify: [...scaleAlignPrimaryAxis(), 'normal']
12140
+ }],
12141
+ /**
12142
+ * Justify Items
12143
+ * @see https://tailwindcss.com/docs/justify-items
12144
+ */
12145
+ 'justify-items': [{
12146
+ 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']
12147
+ }],
12148
+ /**
12149
+ * Justify Self
12150
+ * @see https://tailwindcss.com/docs/justify-self
12151
+ */
12152
+ 'justify-self': [{
12153
+ 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]
12154
+ }],
12155
+ /**
12156
+ * Align Content
12157
+ * @see https://tailwindcss.com/docs/align-content
12158
+ */
12159
+ 'align-content': [{
12160
+ content: ['normal', ...scaleAlignPrimaryAxis()]
12161
+ }],
12162
+ /**
12163
+ * Align Items
12164
+ * @see https://tailwindcss.com/docs/align-items
12165
+ */
12166
+ 'align-items': [{
12167
+ items: [...scaleAlignSecondaryAxis(), {
12168
+ baseline: ['', 'last']
12169
+ }]
12170
+ }],
12171
+ /**
12172
+ * Align Self
12173
+ * @see https://tailwindcss.com/docs/align-self
12174
+ */
12175
+ 'align-self': [{
12176
+ self: ['auto', ...scaleAlignSecondaryAxis(), {
12177
+ baseline: ['', 'last']
12178
+ }]
12179
+ }],
12180
+ /**
12181
+ * Place Content
12182
+ * @see https://tailwindcss.com/docs/place-content
12183
+ */
12184
+ 'place-content': [{
12185
+ 'place-content': scaleAlignPrimaryAxis()
12186
+ }],
12187
+ /**
12188
+ * Place Items
12189
+ * @see https://tailwindcss.com/docs/place-items
12190
+ */
12191
+ 'place-items': [{
12192
+ 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']
12193
+ }],
12194
+ /**
12195
+ * Place Self
12196
+ * @see https://tailwindcss.com/docs/place-self
12197
+ */
12198
+ 'place-self': [{
12199
+ 'place-self': ['auto', ...scaleAlignSecondaryAxis()]
12200
+ }],
12201
+ // Spacing
12202
+ /**
12203
+ * Padding
12204
+ * @see https://tailwindcss.com/docs/padding
12205
+ */
12206
+ p: [{
12207
+ p: scaleUnambiguousSpacing()
12208
+ }],
12209
+ /**
12210
+ * Padding X
12211
+ * @see https://tailwindcss.com/docs/padding
12212
+ */
12213
+ px: [{
12214
+ px: scaleUnambiguousSpacing()
12215
+ }],
12216
+ /**
12217
+ * Padding Y
12218
+ * @see https://tailwindcss.com/docs/padding
12219
+ */
12220
+ py: [{
12221
+ py: scaleUnambiguousSpacing()
12222
+ }],
12223
+ /**
12224
+ * Padding Start
12225
+ * @see https://tailwindcss.com/docs/padding
12226
+ */
12227
+ ps: [{
12228
+ ps: scaleUnambiguousSpacing()
12229
+ }],
12230
+ /**
12231
+ * Padding End
12232
+ * @see https://tailwindcss.com/docs/padding
12233
+ */
12234
+ pe: [{
12235
+ pe: scaleUnambiguousSpacing()
12236
+ }],
12237
+ /**
12238
+ * Padding Top
12239
+ * @see https://tailwindcss.com/docs/padding
12240
+ */
12241
+ pt: [{
12242
+ pt: scaleUnambiguousSpacing()
12243
+ }],
12244
+ /**
12245
+ * Padding Right
12246
+ * @see https://tailwindcss.com/docs/padding
12247
+ */
12248
+ pr: [{
12249
+ pr: scaleUnambiguousSpacing()
12250
+ }],
12251
+ /**
12252
+ * Padding Bottom
12253
+ * @see https://tailwindcss.com/docs/padding
12254
+ */
12255
+ pb: [{
12256
+ pb: scaleUnambiguousSpacing()
12257
+ }],
12258
+ /**
12259
+ * Padding Left
12260
+ * @see https://tailwindcss.com/docs/padding
12261
+ */
12262
+ pl: [{
12263
+ pl: scaleUnambiguousSpacing()
12264
+ }],
12265
+ /**
12266
+ * Margin
12267
+ * @see https://tailwindcss.com/docs/margin
12268
+ */
12269
+ m: [{
12270
+ m: scaleMargin()
12271
+ }],
12272
+ /**
12273
+ * Margin X
12274
+ * @see https://tailwindcss.com/docs/margin
12275
+ */
12276
+ mx: [{
12277
+ mx: scaleMargin()
12278
+ }],
12279
+ /**
12280
+ * Margin Y
12281
+ * @see https://tailwindcss.com/docs/margin
12282
+ */
12283
+ my: [{
12284
+ my: scaleMargin()
12285
+ }],
12286
+ /**
12287
+ * Margin Start
12288
+ * @see https://tailwindcss.com/docs/margin
12289
+ */
12290
+ ms: [{
12291
+ ms: scaleMargin()
12292
+ }],
12293
+ /**
12294
+ * Margin End
12295
+ * @see https://tailwindcss.com/docs/margin
12296
+ */
12297
+ me: [{
12298
+ me: scaleMargin()
12299
+ }],
12300
+ /**
12301
+ * Margin Top
12302
+ * @see https://tailwindcss.com/docs/margin
12303
+ */
12304
+ mt: [{
12305
+ mt: scaleMargin()
12306
+ }],
12307
+ /**
12308
+ * Margin Right
12309
+ * @see https://tailwindcss.com/docs/margin
12310
+ */
12311
+ mr: [{
12312
+ mr: scaleMargin()
12313
+ }],
12314
+ /**
12315
+ * Margin Bottom
12316
+ * @see https://tailwindcss.com/docs/margin
12317
+ */
12318
+ mb: [{
12319
+ mb: scaleMargin()
12320
+ }],
12321
+ /**
12322
+ * Margin Left
12323
+ * @see https://tailwindcss.com/docs/margin
12324
+ */
12325
+ ml: [{
12326
+ ml: scaleMargin()
12327
+ }],
12328
+ /**
12329
+ * Space Between X
12330
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
12331
+ */
12332
+ 'space-x': [{
12333
+ 'space-x': scaleUnambiguousSpacing()
12334
+ }],
12335
+ /**
12336
+ * Space Between X Reverse
12337
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
12338
+ */
12339
+ 'space-x-reverse': ['space-x-reverse'],
12340
+ /**
12341
+ * Space Between Y
12342
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
12343
+ */
12344
+ 'space-y': [{
12345
+ 'space-y': scaleUnambiguousSpacing()
12346
+ }],
12347
+ /**
12348
+ * Space Between Y Reverse
12349
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
12350
+ */
12351
+ 'space-y-reverse': ['space-y-reverse'],
12352
+ // --------------
12353
+ // --- Sizing ---
12354
+ // --------------
12355
+ /**
12356
+ * Size
12357
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
12358
+ */
12359
+ size: [{
12360
+ size: scaleSizing()
12361
+ }],
12362
+ /**
12363
+ * Width
12364
+ * @see https://tailwindcss.com/docs/width
12365
+ */
12366
+ w: [{
12367
+ w: [themeContainer, 'screen', ...scaleSizing()]
12368
+ }],
12369
+ /**
12370
+ * Min-Width
12371
+ * @see https://tailwindcss.com/docs/min-width
12372
+ */
12373
+ 'min-w': [{
12374
+ 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
12375
+ 'none', ...scaleSizing()]
12376
+ }],
12377
+ /**
12378
+ * Max-Width
12379
+ * @see https://tailwindcss.com/docs/max-width
12380
+ */
12381
+ 'max-w': [{
12382
+ 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
12383
+ 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
12384
+ {
12385
+ screen: [themeBreakpoint]
12386
+ }, ...scaleSizing()]
12387
+ }],
12388
+ /**
12389
+ * Height
12390
+ * @see https://tailwindcss.com/docs/height
12391
+ */
12392
+ h: [{
12393
+ h: ['screen', 'lh', ...scaleSizing()]
12394
+ }],
12395
+ /**
12396
+ * Min-Height
12397
+ * @see https://tailwindcss.com/docs/min-height
12398
+ */
12399
+ 'min-h': [{
12400
+ 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]
12401
+ }],
12402
+ /**
12403
+ * Max-Height
12404
+ * @see https://tailwindcss.com/docs/max-height
12405
+ */
12406
+ 'max-h': [{
12407
+ 'max-h': ['screen', 'lh', ...scaleSizing()]
12408
+ }],
12409
+ // ------------------
12410
+ // --- Typography ---
12411
+ // ------------------
12412
+ /**
12413
+ * Font Size
12414
+ * @see https://tailwindcss.com/docs/font-size
12415
+ */
12416
+ 'font-size': [{
12417
+ text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]
12418
+ }],
12419
+ /**
12420
+ * Font Smoothing
12421
+ * @see https://tailwindcss.com/docs/font-smoothing
12422
+ */
12423
+ 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
12424
+ /**
12425
+ * Font Style
12426
+ * @see https://tailwindcss.com/docs/font-style
12427
+ */
12428
+ 'font-style': ['italic', 'not-italic'],
12429
+ /**
12430
+ * Font Weight
12431
+ * @see https://tailwindcss.com/docs/font-weight
12432
+ */
12433
+ 'font-weight': [{
12434
+ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
12435
+ }],
12436
+ /**
12437
+ * Font Stretch
12438
+ * @see https://tailwindcss.com/docs/font-stretch
12439
+ */
12440
+ 'font-stretch': [{
12441
+ 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]
12442
+ }],
12443
+ /**
12444
+ * Font Family
12445
+ * @see https://tailwindcss.com/docs/font-family
12446
+ */
12447
+ 'font-family': [{
12448
+ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
12449
+ }],
12450
+ /**
12451
+ * Font Variant Numeric
12452
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12453
+ */
12454
+ 'fvn-normal': ['normal-nums'],
12455
+ /**
12456
+ * Font Variant Numeric
12457
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12458
+ */
12459
+ 'fvn-ordinal': ['ordinal'],
12460
+ /**
12461
+ * Font Variant Numeric
12462
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12463
+ */
12464
+ 'fvn-slashed-zero': ['slashed-zero'],
12465
+ /**
12466
+ * Font Variant Numeric
12467
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12468
+ */
12469
+ 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
12470
+ /**
12471
+ * Font Variant Numeric
12472
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12473
+ */
12474
+ 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
12475
+ /**
12476
+ * Font Variant Numeric
12477
+ * @see https://tailwindcss.com/docs/font-variant-numeric
12478
+ */
12479
+ 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
12480
+ /**
12481
+ * Letter Spacing
12482
+ * @see https://tailwindcss.com/docs/letter-spacing
12483
+ */
12484
+ tracking: [{
12485
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
12486
+ }],
12487
+ /**
12488
+ * Line Clamp
12489
+ * @see https://tailwindcss.com/docs/line-clamp
12490
+ */
12491
+ 'line-clamp': [{
12492
+ 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]
12493
+ }],
12494
+ /**
12495
+ * Line Height
12496
+ * @see https://tailwindcss.com/docs/line-height
12497
+ */
12498
+ leading: [{
12499
+ leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
12500
+ themeLeading, ...scaleUnambiguousSpacing()]
12501
+ }],
12502
+ /**
12503
+ * List Style Image
12504
+ * @see https://tailwindcss.com/docs/list-style-image
12505
+ */
12506
+ 'list-image': [{
12507
+ 'list-image': ['none', isArbitraryVariable, isArbitraryValue]
12508
+ }],
12509
+ /**
12510
+ * List Style Position
12511
+ * @see https://tailwindcss.com/docs/list-style-position
12512
+ */
12513
+ 'list-style-position': [{
12514
+ list: ['inside', 'outside']
12515
+ }],
12516
+ /**
12517
+ * List Style Type
12518
+ * @see https://tailwindcss.com/docs/list-style-type
12519
+ */
12520
+ 'list-style-type': [{
12521
+ list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]
12522
+ }],
12523
+ /**
12524
+ * Text Alignment
12525
+ * @see https://tailwindcss.com/docs/text-align
12526
+ */
12527
+ 'text-alignment': [{
12528
+ text: ['left', 'center', 'right', 'justify', 'start', 'end']
12529
+ }],
12530
+ /**
12531
+ * Placeholder Color
12532
+ * @deprecated since Tailwind CSS v3.0.0
12533
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
12534
+ */
12535
+ 'placeholder-color': [{
12536
+ placeholder: scaleColor()
12537
+ }],
12538
+ /**
12539
+ * Text Color
12540
+ * @see https://tailwindcss.com/docs/text-color
12541
+ */
12542
+ 'text-color': [{
12543
+ text: scaleColor()
12544
+ }],
12545
+ /**
12546
+ * Text Decoration
12547
+ * @see https://tailwindcss.com/docs/text-decoration
12548
+ */
12549
+ 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
12550
+ /**
12551
+ * Text Decoration Style
12552
+ * @see https://tailwindcss.com/docs/text-decoration-style
12553
+ */
12554
+ 'text-decoration-style': [{
12555
+ decoration: [...scaleLineStyle(), 'wavy']
12556
+ }],
12557
+ /**
12558
+ * Text Decoration Thickness
12559
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
12560
+ */
12561
+ 'text-decoration-thickness': [{
12562
+ decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]
12563
+ }],
12564
+ /**
12565
+ * Text Decoration Color
12566
+ * @see https://tailwindcss.com/docs/text-decoration-color
12567
+ */
12568
+ 'text-decoration-color': [{
12569
+ decoration: scaleColor()
12570
+ }],
12571
+ /**
12572
+ * Text Underline Offset
12573
+ * @see https://tailwindcss.com/docs/text-underline-offset
12574
+ */
12575
+ 'underline-offset': [{
12576
+ 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]
12577
+ }],
12578
+ /**
12579
+ * Text Transform
12580
+ * @see https://tailwindcss.com/docs/text-transform
12581
+ */
12582
+ 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
12583
+ /**
12584
+ * Text Overflow
12585
+ * @see https://tailwindcss.com/docs/text-overflow
12586
+ */
12587
+ 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
12588
+ /**
12589
+ * Text Wrap
12590
+ * @see https://tailwindcss.com/docs/text-wrap
12591
+ */
12592
+ 'text-wrap': [{
12593
+ text: ['wrap', 'nowrap', 'balance', 'pretty']
12594
+ }],
12595
+ /**
12596
+ * Text Indent
12597
+ * @see https://tailwindcss.com/docs/text-indent
12598
+ */
12599
+ indent: [{
12600
+ indent: scaleUnambiguousSpacing()
12601
+ }],
12602
+ /**
12603
+ * Vertical Alignment
12604
+ * @see https://tailwindcss.com/docs/vertical-align
12605
+ */
12606
+ 'vertical-align': [{
12607
+ align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]
12608
+ }],
12609
+ /**
12610
+ * Whitespace
12611
+ * @see https://tailwindcss.com/docs/whitespace
12612
+ */
12613
+ whitespace: [{
12614
+ whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
12615
+ }],
12616
+ /**
12617
+ * Word Break
12618
+ * @see https://tailwindcss.com/docs/word-break
12619
+ */
12620
+ break: [{
12621
+ break: ['normal', 'words', 'all', 'keep']
12622
+ }],
12623
+ /**
12624
+ * Overflow Wrap
12625
+ * @see https://tailwindcss.com/docs/overflow-wrap
12626
+ */
12627
+ wrap: [{
12628
+ wrap: ['break-word', 'anywhere', 'normal']
12629
+ }],
12630
+ /**
12631
+ * Hyphens
12632
+ * @see https://tailwindcss.com/docs/hyphens
12633
+ */
12634
+ hyphens: [{
12635
+ hyphens: ['none', 'manual', 'auto']
12636
+ }],
12637
+ /**
12638
+ * Content
12639
+ * @see https://tailwindcss.com/docs/content
12640
+ */
12641
+ content: [{
12642
+ content: ['none', isArbitraryVariable, isArbitraryValue]
12643
+ }],
12644
+ // -------------------
12645
+ // --- Backgrounds ---
12646
+ // -------------------
12647
+ /**
12648
+ * Background Attachment
12649
+ * @see https://tailwindcss.com/docs/background-attachment
12650
+ */
12651
+ 'bg-attachment': [{
12652
+ bg: ['fixed', 'local', 'scroll']
12653
+ }],
12654
+ /**
12655
+ * Background Clip
12656
+ * @see https://tailwindcss.com/docs/background-clip
12657
+ */
12658
+ 'bg-clip': [{
12659
+ 'bg-clip': ['border', 'padding', 'content', 'text']
12660
+ }],
12661
+ /**
12662
+ * Background Origin
12663
+ * @see https://tailwindcss.com/docs/background-origin
12664
+ */
12665
+ 'bg-origin': [{
12666
+ 'bg-origin': ['border', 'padding', 'content']
12667
+ }],
12668
+ /**
12669
+ * Background Position
12670
+ * @see https://tailwindcss.com/docs/background-position
12671
+ */
12672
+ 'bg-position': [{
12673
+ bg: scaleBgPosition()
12674
+ }],
12675
+ /**
12676
+ * Background Repeat
12677
+ * @see https://tailwindcss.com/docs/background-repeat
12678
+ */
12679
+ 'bg-repeat': [{
12680
+ bg: scaleBgRepeat()
12681
+ }],
12682
+ /**
12683
+ * Background Size
12684
+ * @see https://tailwindcss.com/docs/background-size
12685
+ */
12686
+ 'bg-size': [{
12687
+ bg: scaleBgSize()
12688
+ }],
12689
+ /**
12690
+ * Background Image
12691
+ * @see https://tailwindcss.com/docs/background-image
12692
+ */
12693
+ 'bg-image': [{
12694
+ bg: ['none', {
12695
+ linear: [{
12696
+ to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
12697
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
12698
+ radial: ['', isArbitraryVariable, isArbitraryValue],
12699
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
12700
+ }, isArbitraryVariableImage, isArbitraryImage]
12701
+ }],
12702
+ /**
12703
+ * Background Color
12704
+ * @see https://tailwindcss.com/docs/background-color
12705
+ */
12706
+ 'bg-color': [{
12707
+ bg: scaleColor()
12708
+ }],
12709
+ /**
12710
+ * Gradient Color Stops From Position
12711
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12712
+ */
12713
+ 'gradient-from-pos': [{
12714
+ from: scaleGradientStopPosition()
12715
+ }],
12716
+ /**
12717
+ * Gradient Color Stops Via Position
12718
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12719
+ */
12720
+ 'gradient-via-pos': [{
12721
+ via: scaleGradientStopPosition()
12722
+ }],
12723
+ /**
12724
+ * Gradient Color Stops To Position
12725
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12726
+ */
12727
+ 'gradient-to-pos': [{
12728
+ to: scaleGradientStopPosition()
12729
+ }],
12730
+ /**
12731
+ * Gradient Color Stops From
12732
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12733
+ */
12734
+ 'gradient-from': [{
12735
+ from: scaleColor()
12736
+ }],
12737
+ /**
12738
+ * Gradient Color Stops Via
12739
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12740
+ */
12741
+ 'gradient-via': [{
12742
+ via: scaleColor()
12743
+ }],
12744
+ /**
12745
+ * Gradient Color Stops To
12746
+ * @see https://tailwindcss.com/docs/gradient-color-stops
12747
+ */
12748
+ 'gradient-to': [{
12749
+ to: scaleColor()
12750
+ }],
12751
+ // ---------------
12752
+ // --- Borders ---
12753
+ // ---------------
12754
+ /**
12755
+ * Border Radius
12756
+ * @see https://tailwindcss.com/docs/border-radius
12757
+ */
12758
+ rounded: [{
12759
+ rounded: scaleRadius()
12760
+ }],
12761
+ /**
12762
+ * Border Radius Start
12763
+ * @see https://tailwindcss.com/docs/border-radius
12764
+ */
12765
+ 'rounded-s': [{
12766
+ 'rounded-s': scaleRadius()
12767
+ }],
12768
+ /**
12769
+ * Border Radius End
12770
+ * @see https://tailwindcss.com/docs/border-radius
12771
+ */
12772
+ 'rounded-e': [{
12773
+ 'rounded-e': scaleRadius()
12774
+ }],
12775
+ /**
12776
+ * Border Radius Top
12777
+ * @see https://tailwindcss.com/docs/border-radius
12778
+ */
12779
+ 'rounded-t': [{
12780
+ 'rounded-t': scaleRadius()
12781
+ }],
12782
+ /**
12783
+ * Border Radius Right
12784
+ * @see https://tailwindcss.com/docs/border-radius
12785
+ */
12786
+ 'rounded-r': [{
12787
+ 'rounded-r': scaleRadius()
12788
+ }],
12789
+ /**
12790
+ * Border Radius Bottom
12791
+ * @see https://tailwindcss.com/docs/border-radius
12792
+ */
12793
+ 'rounded-b': [{
12794
+ 'rounded-b': scaleRadius()
12795
+ }],
12796
+ /**
12797
+ * Border Radius Left
12798
+ * @see https://tailwindcss.com/docs/border-radius
12799
+ */
12800
+ 'rounded-l': [{
12801
+ 'rounded-l': scaleRadius()
12802
+ }],
12803
+ /**
12804
+ * Border Radius Start Start
12805
+ * @see https://tailwindcss.com/docs/border-radius
12806
+ */
12807
+ 'rounded-ss': [{
12808
+ 'rounded-ss': scaleRadius()
12809
+ }],
12810
+ /**
12811
+ * Border Radius Start End
12812
+ * @see https://tailwindcss.com/docs/border-radius
12813
+ */
12814
+ 'rounded-se': [{
12815
+ 'rounded-se': scaleRadius()
12816
+ }],
12817
+ /**
12818
+ * Border Radius End End
12819
+ * @see https://tailwindcss.com/docs/border-radius
12820
+ */
12821
+ 'rounded-ee': [{
12822
+ 'rounded-ee': scaleRadius()
12823
+ }],
12824
+ /**
12825
+ * Border Radius End Start
12826
+ * @see https://tailwindcss.com/docs/border-radius
12827
+ */
12828
+ 'rounded-es': [{
12829
+ 'rounded-es': scaleRadius()
12830
+ }],
12831
+ /**
12832
+ * Border Radius Top Left
12833
+ * @see https://tailwindcss.com/docs/border-radius
12834
+ */
12835
+ 'rounded-tl': [{
12836
+ 'rounded-tl': scaleRadius()
12837
+ }],
12838
+ /**
12839
+ * Border Radius Top Right
12840
+ * @see https://tailwindcss.com/docs/border-radius
12841
+ */
12842
+ 'rounded-tr': [{
12843
+ 'rounded-tr': scaleRadius()
12844
+ }],
12845
+ /**
12846
+ * Border Radius Bottom Right
12847
+ * @see https://tailwindcss.com/docs/border-radius
12848
+ */
12849
+ 'rounded-br': [{
12850
+ 'rounded-br': scaleRadius()
12851
+ }],
12852
+ /**
12853
+ * Border Radius Bottom Left
12854
+ * @see https://tailwindcss.com/docs/border-radius
12855
+ */
12856
+ 'rounded-bl': [{
12857
+ 'rounded-bl': scaleRadius()
12858
+ }],
12859
+ /**
12860
+ * Border Width
12861
+ * @see https://tailwindcss.com/docs/border-width
12862
+ */
12863
+ 'border-w': [{
12864
+ border: scaleBorderWidth()
12865
+ }],
12866
+ /**
12867
+ * Border Width X
12868
+ * @see https://tailwindcss.com/docs/border-width
12869
+ */
12870
+ 'border-w-x': [{
12871
+ 'border-x': scaleBorderWidth()
12872
+ }],
12873
+ /**
12874
+ * Border Width Y
12875
+ * @see https://tailwindcss.com/docs/border-width
12876
+ */
12877
+ 'border-w-y': [{
12878
+ 'border-y': scaleBorderWidth()
12879
+ }],
12880
+ /**
12881
+ * Border Width Start
12882
+ * @see https://tailwindcss.com/docs/border-width
12883
+ */
12884
+ 'border-w-s': [{
12885
+ 'border-s': scaleBorderWidth()
12886
+ }],
12887
+ /**
12888
+ * Border Width End
12889
+ * @see https://tailwindcss.com/docs/border-width
12890
+ */
12891
+ 'border-w-e': [{
12892
+ 'border-e': scaleBorderWidth()
12893
+ }],
12894
+ /**
12895
+ * Border Width Top
12896
+ * @see https://tailwindcss.com/docs/border-width
12897
+ */
12898
+ 'border-w-t': [{
12899
+ 'border-t': scaleBorderWidth()
12900
+ }],
12901
+ /**
12902
+ * Border Width Right
12903
+ * @see https://tailwindcss.com/docs/border-width
12904
+ */
12905
+ 'border-w-r': [{
12906
+ 'border-r': scaleBorderWidth()
12907
+ }],
12908
+ /**
12909
+ * Border Width Bottom
12910
+ * @see https://tailwindcss.com/docs/border-width
12911
+ */
12912
+ 'border-w-b': [{
12913
+ 'border-b': scaleBorderWidth()
12914
+ }],
12915
+ /**
12916
+ * Border Width Left
12917
+ * @see https://tailwindcss.com/docs/border-width
12918
+ */
12919
+ 'border-w-l': [{
12920
+ 'border-l': scaleBorderWidth()
12921
+ }],
12922
+ /**
12923
+ * Divide Width X
12924
+ * @see https://tailwindcss.com/docs/border-width#between-children
12925
+ */
12926
+ 'divide-x': [{
12927
+ 'divide-x': scaleBorderWidth()
12928
+ }],
12929
+ /**
12930
+ * Divide Width X Reverse
12931
+ * @see https://tailwindcss.com/docs/border-width#between-children
12932
+ */
12933
+ 'divide-x-reverse': ['divide-x-reverse'],
12934
+ /**
12935
+ * Divide Width Y
12936
+ * @see https://tailwindcss.com/docs/border-width#between-children
12937
+ */
12938
+ 'divide-y': [{
12939
+ 'divide-y': scaleBorderWidth()
12940
+ }],
12941
+ /**
12942
+ * Divide Width Y Reverse
12943
+ * @see https://tailwindcss.com/docs/border-width#between-children
12944
+ */
12945
+ 'divide-y-reverse': ['divide-y-reverse'],
12946
+ /**
12947
+ * Border Style
12948
+ * @see https://tailwindcss.com/docs/border-style
12949
+ */
12950
+ 'border-style': [{
12951
+ border: [...scaleLineStyle(), 'hidden', 'none']
12952
+ }],
12953
+ /**
12954
+ * Divide Style
12955
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
12956
+ */
12957
+ 'divide-style': [{
12958
+ divide: [...scaleLineStyle(), 'hidden', 'none']
12959
+ }],
12960
+ /**
12961
+ * Border Color
12962
+ * @see https://tailwindcss.com/docs/border-color
12963
+ */
12964
+ 'border-color': [{
12965
+ border: scaleColor()
12966
+ }],
12967
+ /**
12968
+ * Border Color X
12969
+ * @see https://tailwindcss.com/docs/border-color
12970
+ */
12971
+ 'border-color-x': [{
12972
+ 'border-x': scaleColor()
12973
+ }],
12974
+ /**
12975
+ * Border Color Y
12976
+ * @see https://tailwindcss.com/docs/border-color
12977
+ */
12978
+ 'border-color-y': [{
12979
+ 'border-y': scaleColor()
12980
+ }],
12981
+ /**
12982
+ * Border Color S
12983
+ * @see https://tailwindcss.com/docs/border-color
12984
+ */
12985
+ 'border-color-s': [{
12986
+ 'border-s': scaleColor()
12987
+ }],
12988
+ /**
12989
+ * Border Color E
12990
+ * @see https://tailwindcss.com/docs/border-color
12991
+ */
12992
+ 'border-color-e': [{
12993
+ 'border-e': scaleColor()
12994
+ }],
12995
+ /**
12996
+ * Border Color Top
12997
+ * @see https://tailwindcss.com/docs/border-color
12998
+ */
12999
+ 'border-color-t': [{
13000
+ 'border-t': scaleColor()
13001
+ }],
13002
+ /**
13003
+ * Border Color Right
13004
+ * @see https://tailwindcss.com/docs/border-color
13005
+ */
13006
+ 'border-color-r': [{
13007
+ 'border-r': scaleColor()
13008
+ }],
13009
+ /**
13010
+ * Border Color Bottom
13011
+ * @see https://tailwindcss.com/docs/border-color
13012
+ */
13013
+ 'border-color-b': [{
13014
+ 'border-b': scaleColor()
13015
+ }],
13016
+ /**
13017
+ * Border Color Left
13018
+ * @see https://tailwindcss.com/docs/border-color
13019
+ */
13020
+ 'border-color-l': [{
13021
+ 'border-l': scaleColor()
13022
+ }],
13023
+ /**
13024
+ * Divide Color
13025
+ * @see https://tailwindcss.com/docs/divide-color
13026
+ */
13027
+ 'divide-color': [{
13028
+ divide: scaleColor()
13029
+ }],
13030
+ /**
13031
+ * Outline Style
13032
+ * @see https://tailwindcss.com/docs/outline-style
13033
+ */
13034
+ 'outline-style': [{
13035
+ outline: [...scaleLineStyle(), 'none', 'hidden']
13036
+ }],
13037
+ /**
13038
+ * Outline Offset
13039
+ * @see https://tailwindcss.com/docs/outline-offset
13040
+ */
13041
+ 'outline-offset': [{
13042
+ 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]
13043
+ }],
13044
+ /**
13045
+ * Outline Width
13046
+ * @see https://tailwindcss.com/docs/outline-width
13047
+ */
13048
+ 'outline-w': [{
13049
+ outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]
13050
+ }],
13051
+ /**
13052
+ * Outline Color
13053
+ * @see https://tailwindcss.com/docs/outline-color
13054
+ */
13055
+ 'outline-color': [{
13056
+ outline: scaleColor()
13057
+ }],
13058
+ // ---------------
13059
+ // --- Effects ---
13060
+ // ---------------
13061
+ /**
13062
+ * Box Shadow
13063
+ * @see https://tailwindcss.com/docs/box-shadow
13064
+ */
13065
+ shadow: [{
13066
+ shadow: [
13067
+ // Deprecated since Tailwind CSS v4.0.0
13068
+ '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]
13069
+ }],
13070
+ /**
13071
+ * Box Shadow Color
13072
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
13073
+ */
13074
+ 'shadow-color': [{
13075
+ shadow: scaleColor()
13076
+ }],
13077
+ /**
13078
+ * Inset Box Shadow
13079
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
13080
+ */
13081
+ 'inset-shadow': [{
13082
+ 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
13083
+ }],
13084
+ /**
13085
+ * Inset Box Shadow Color
13086
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
13087
+ */
13088
+ 'inset-shadow-color': [{
13089
+ 'inset-shadow': scaleColor()
13090
+ }],
13091
+ /**
13092
+ * Ring Width
13093
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
13094
+ */
13095
+ 'ring-w': [{
13096
+ ring: scaleBorderWidth()
13097
+ }],
13098
+ /**
13099
+ * Ring Width Inset
13100
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
13101
+ * @deprecated since Tailwind CSS v4.0.0
13102
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
13103
+ */
13104
+ 'ring-w-inset': ['ring-inset'],
13105
+ /**
13106
+ * Ring Color
13107
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
13108
+ */
13109
+ 'ring-color': [{
13110
+ ring: scaleColor()
13111
+ }],
13112
+ /**
13113
+ * Ring Offset Width
13114
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
13115
+ * @deprecated since Tailwind CSS v4.0.0
13116
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
13117
+ */
13118
+ 'ring-offset-w': [{
13119
+ 'ring-offset': [isNumber, isArbitraryLength]
13120
+ }],
13121
+ /**
13122
+ * Ring Offset Color
13123
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
13124
+ * @deprecated since Tailwind CSS v4.0.0
13125
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
13126
+ */
13127
+ 'ring-offset-color': [{
13128
+ 'ring-offset': scaleColor()
13129
+ }],
13130
+ /**
13131
+ * Inset Ring Width
13132
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
13133
+ */
13134
+ 'inset-ring-w': [{
13135
+ 'inset-ring': scaleBorderWidth()
13136
+ }],
13137
+ /**
13138
+ * Inset Ring Color
13139
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
13140
+ */
13141
+ 'inset-ring-color': [{
13142
+ 'inset-ring': scaleColor()
13143
+ }],
13144
+ /**
13145
+ * Text Shadow
13146
+ * @see https://tailwindcss.com/docs/text-shadow
13147
+ */
13148
+ 'text-shadow': [{
13149
+ 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
13150
+ }],
13151
+ /**
13152
+ * Text Shadow Color
13153
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
13154
+ */
13155
+ 'text-shadow-color': [{
13156
+ 'text-shadow': scaleColor()
13157
+ }],
13158
+ /**
13159
+ * Opacity
13160
+ * @see https://tailwindcss.com/docs/opacity
13161
+ */
13162
+ opacity: [{
13163
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
13164
+ }],
13165
+ /**
13166
+ * Mix Blend Mode
13167
+ * @see https://tailwindcss.com/docs/mix-blend-mode
13168
+ */
13169
+ 'mix-blend': [{
13170
+ 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']
13171
+ }],
13172
+ /**
13173
+ * Background Blend Mode
13174
+ * @see https://tailwindcss.com/docs/background-blend-mode
13175
+ */
13176
+ 'bg-blend': [{
13177
+ 'bg-blend': scaleBlendMode()
13178
+ }],
13179
+ /**
13180
+ * Mask Clip
13181
+ * @see https://tailwindcss.com/docs/mask-clip
13182
+ */
13183
+ 'mask-clip': [{
13184
+ 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
13185
+ }, 'mask-no-clip'],
13186
+ /**
13187
+ * Mask Composite
13188
+ * @see https://tailwindcss.com/docs/mask-composite
13189
+ */
13190
+ 'mask-composite': [{
13191
+ mask: ['add', 'subtract', 'intersect', 'exclude']
13192
+ }],
13193
+ /**
13194
+ * Mask Image
13195
+ * @see https://tailwindcss.com/docs/mask-image
13196
+ */
13197
+ 'mask-image-linear-pos': [{
13198
+ 'mask-linear': [isNumber]
13199
+ }],
13200
+ 'mask-image-linear-from-pos': [{
13201
+ 'mask-linear-from': scaleMaskImagePosition()
13202
+ }],
13203
+ 'mask-image-linear-to-pos': [{
13204
+ 'mask-linear-to': scaleMaskImagePosition()
13205
+ }],
13206
+ 'mask-image-linear-from-color': [{
13207
+ 'mask-linear-from': scaleColor()
13208
+ }],
13209
+ 'mask-image-linear-to-color': [{
13210
+ 'mask-linear-to': scaleColor()
13211
+ }],
13212
+ 'mask-image-t-from-pos': [{
13213
+ 'mask-t-from': scaleMaskImagePosition()
13214
+ }],
13215
+ 'mask-image-t-to-pos': [{
13216
+ 'mask-t-to': scaleMaskImagePosition()
13217
+ }],
13218
+ 'mask-image-t-from-color': [{
13219
+ 'mask-t-from': scaleColor()
13220
+ }],
13221
+ 'mask-image-t-to-color': [{
13222
+ 'mask-t-to': scaleColor()
13223
+ }],
13224
+ 'mask-image-r-from-pos': [{
13225
+ 'mask-r-from': scaleMaskImagePosition()
13226
+ }],
13227
+ 'mask-image-r-to-pos': [{
13228
+ 'mask-r-to': scaleMaskImagePosition()
13229
+ }],
13230
+ 'mask-image-r-from-color': [{
13231
+ 'mask-r-from': scaleColor()
13232
+ }],
13233
+ 'mask-image-r-to-color': [{
13234
+ 'mask-r-to': scaleColor()
13235
+ }],
13236
+ 'mask-image-b-from-pos': [{
13237
+ 'mask-b-from': scaleMaskImagePosition()
13238
+ }],
13239
+ 'mask-image-b-to-pos': [{
13240
+ 'mask-b-to': scaleMaskImagePosition()
13241
+ }],
13242
+ 'mask-image-b-from-color': [{
13243
+ 'mask-b-from': scaleColor()
13244
+ }],
13245
+ 'mask-image-b-to-color': [{
13246
+ 'mask-b-to': scaleColor()
13247
+ }],
13248
+ 'mask-image-l-from-pos': [{
13249
+ 'mask-l-from': scaleMaskImagePosition()
13250
+ }],
13251
+ 'mask-image-l-to-pos': [{
13252
+ 'mask-l-to': scaleMaskImagePosition()
13253
+ }],
13254
+ 'mask-image-l-from-color': [{
13255
+ 'mask-l-from': scaleColor()
13256
+ }],
13257
+ 'mask-image-l-to-color': [{
13258
+ 'mask-l-to': scaleColor()
13259
+ }],
13260
+ 'mask-image-x-from-pos': [{
13261
+ 'mask-x-from': scaleMaskImagePosition()
13262
+ }],
13263
+ 'mask-image-x-to-pos': [{
13264
+ 'mask-x-to': scaleMaskImagePosition()
13265
+ }],
13266
+ 'mask-image-x-from-color': [{
13267
+ 'mask-x-from': scaleColor()
13268
+ }],
13269
+ 'mask-image-x-to-color': [{
13270
+ 'mask-x-to': scaleColor()
13271
+ }],
13272
+ 'mask-image-y-from-pos': [{
13273
+ 'mask-y-from': scaleMaskImagePosition()
13274
+ }],
13275
+ 'mask-image-y-to-pos': [{
13276
+ 'mask-y-to': scaleMaskImagePosition()
13277
+ }],
13278
+ 'mask-image-y-from-color': [{
13279
+ 'mask-y-from': scaleColor()
13280
+ }],
13281
+ 'mask-image-y-to-color': [{
13282
+ 'mask-y-to': scaleColor()
13283
+ }],
13284
+ 'mask-image-radial': [{
13285
+ 'mask-radial': [isArbitraryVariable, isArbitraryValue]
13286
+ }],
13287
+ 'mask-image-radial-from-pos': [{
13288
+ 'mask-radial-from': scaleMaskImagePosition()
13289
+ }],
13290
+ 'mask-image-radial-to-pos': [{
13291
+ 'mask-radial-to': scaleMaskImagePosition()
13292
+ }],
13293
+ 'mask-image-radial-from-color': [{
13294
+ 'mask-radial-from': scaleColor()
13295
+ }],
13296
+ 'mask-image-radial-to-color': [{
13297
+ 'mask-radial-to': scaleColor()
13298
+ }],
13299
+ 'mask-image-radial-shape': [{
13300
+ 'mask-radial': ['circle', 'ellipse']
13301
+ }],
13302
+ 'mask-image-radial-size': [{
13303
+ 'mask-radial': [{
13304
+ closest: ['side', 'corner'],
13305
+ farthest: ['side', 'corner']
13306
+ }]
13307
+ }],
13308
+ 'mask-image-radial-pos': [{
13309
+ 'mask-radial-at': scalePosition()
13310
+ }],
13311
+ 'mask-image-conic-pos': [{
13312
+ 'mask-conic': [isNumber]
13313
+ }],
13314
+ 'mask-image-conic-from-pos': [{
13315
+ 'mask-conic-from': scaleMaskImagePosition()
13316
+ }],
13317
+ 'mask-image-conic-to-pos': [{
13318
+ 'mask-conic-to': scaleMaskImagePosition()
13319
+ }],
13320
+ 'mask-image-conic-from-color': [{
13321
+ 'mask-conic-from': scaleColor()
13322
+ }],
13323
+ 'mask-image-conic-to-color': [{
13324
+ 'mask-conic-to': scaleColor()
13325
+ }],
13326
+ /**
13327
+ * Mask Mode
13328
+ * @see https://tailwindcss.com/docs/mask-mode
13329
+ */
13330
+ 'mask-mode': [{
13331
+ mask: ['alpha', 'luminance', 'match']
13332
+ }],
13333
+ /**
13334
+ * Mask Origin
13335
+ * @see https://tailwindcss.com/docs/mask-origin
13336
+ */
13337
+ 'mask-origin': [{
13338
+ 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
13339
+ }],
13340
+ /**
13341
+ * Mask Position
13342
+ * @see https://tailwindcss.com/docs/mask-position
13343
+ */
13344
+ 'mask-position': [{
13345
+ mask: scaleBgPosition()
13346
+ }],
13347
+ /**
13348
+ * Mask Repeat
13349
+ * @see https://tailwindcss.com/docs/mask-repeat
13350
+ */
13351
+ 'mask-repeat': [{
13352
+ mask: scaleBgRepeat()
13353
+ }],
13354
+ /**
13355
+ * Mask Size
13356
+ * @see https://tailwindcss.com/docs/mask-size
13357
+ */
13358
+ 'mask-size': [{
13359
+ mask: scaleBgSize()
13360
+ }],
13361
+ /**
13362
+ * Mask Type
13363
+ * @see https://tailwindcss.com/docs/mask-type
13364
+ */
13365
+ 'mask-type': [{
13366
+ 'mask-type': ['alpha', 'luminance']
13367
+ }],
13368
+ /**
13369
+ * Mask Image
13370
+ * @see https://tailwindcss.com/docs/mask-image
13371
+ */
13372
+ 'mask-image': [{
13373
+ mask: ['none', isArbitraryVariable, isArbitraryValue]
13374
+ }],
13375
+ // ---------------
13376
+ // --- Filters ---
13377
+ // ---------------
13378
+ /**
13379
+ * Filter
13380
+ * @see https://tailwindcss.com/docs/filter
13381
+ */
13382
+ filter: [{
13383
+ filter: [
13384
+ // Deprecated since Tailwind CSS v3.0.0
13385
+ '', 'none', isArbitraryVariable, isArbitraryValue]
13386
+ }],
13387
+ /**
13388
+ * Blur
13389
+ * @see https://tailwindcss.com/docs/blur
13390
+ */
13391
+ blur: [{
13392
+ blur: scaleBlur()
13393
+ }],
13394
+ /**
13395
+ * Brightness
13396
+ * @see https://tailwindcss.com/docs/brightness
13397
+ */
13398
+ brightness: [{
13399
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
13400
+ }],
13401
+ /**
13402
+ * Contrast
13403
+ * @see https://tailwindcss.com/docs/contrast
13404
+ */
13405
+ contrast: [{
13406
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
13407
+ }],
13408
+ /**
13409
+ * Drop Shadow
13410
+ * @see https://tailwindcss.com/docs/drop-shadow
13411
+ */
13412
+ 'drop-shadow': [{
13413
+ 'drop-shadow': [
13414
+ // Deprecated since Tailwind CSS v4.0.0
13415
+ '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]
13416
+ }],
13417
+ /**
13418
+ * Drop Shadow Color
13419
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
13420
+ */
13421
+ 'drop-shadow-color': [{
13422
+ 'drop-shadow': scaleColor()
13423
+ }],
13424
+ /**
13425
+ * Grayscale
13426
+ * @see https://tailwindcss.com/docs/grayscale
13427
+ */
13428
+ grayscale: [{
13429
+ grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]
13430
+ }],
13431
+ /**
13432
+ * Hue Rotate
13433
+ * @see https://tailwindcss.com/docs/hue-rotate
13434
+ */
13435
+ 'hue-rotate': [{
13436
+ 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
13437
+ }],
13438
+ /**
13439
+ * Invert
13440
+ * @see https://tailwindcss.com/docs/invert
13441
+ */
13442
+ invert: [{
13443
+ invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]
13444
+ }],
13445
+ /**
13446
+ * Saturate
13447
+ * @see https://tailwindcss.com/docs/saturate
13448
+ */
13449
+ saturate: [{
13450
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
13451
+ }],
13452
+ /**
13453
+ * Sepia
13454
+ * @see https://tailwindcss.com/docs/sepia
13455
+ */
13456
+ sepia: [{
13457
+ sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]
13458
+ }],
13459
+ /**
13460
+ * Backdrop Filter
13461
+ * @see https://tailwindcss.com/docs/backdrop-filter
13462
+ */
13463
+ 'backdrop-filter': [{
13464
+ 'backdrop-filter': [
13465
+ // Deprecated since Tailwind CSS v3.0.0
13466
+ '', 'none', isArbitraryVariable, isArbitraryValue]
13467
+ }],
13468
+ /**
13469
+ * Backdrop Blur
13470
+ * @see https://tailwindcss.com/docs/backdrop-blur
13471
+ */
13472
+ 'backdrop-blur': [{
13473
+ 'backdrop-blur': scaleBlur()
13474
+ }],
13475
+ /**
13476
+ * Backdrop Brightness
13477
+ * @see https://tailwindcss.com/docs/backdrop-brightness
13478
+ */
13479
+ 'backdrop-brightness': [{
13480
+ 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]
13481
+ }],
13482
+ /**
13483
+ * Backdrop Contrast
13484
+ * @see https://tailwindcss.com/docs/backdrop-contrast
13485
+ */
13486
+ 'backdrop-contrast': [{
13487
+ 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]
13488
+ }],
13489
+ /**
13490
+ * Backdrop Grayscale
13491
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
13492
+ */
13493
+ 'backdrop-grayscale': [{
13494
+ 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]
13495
+ }],
13496
+ /**
13497
+ * Backdrop Hue Rotate
13498
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
13499
+ */
13500
+ 'backdrop-hue-rotate': [{
13501
+ 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
13502
+ }],
13503
+ /**
13504
+ * Backdrop Invert
13505
+ * @see https://tailwindcss.com/docs/backdrop-invert
13506
+ */
13507
+ 'backdrop-invert': [{
13508
+ 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]
13509
+ }],
13510
+ /**
13511
+ * Backdrop Opacity
13512
+ * @see https://tailwindcss.com/docs/backdrop-opacity
13513
+ */
13514
+ 'backdrop-opacity': [{
13515
+ 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]
13516
+ }],
13517
+ /**
13518
+ * Backdrop Saturate
13519
+ * @see https://tailwindcss.com/docs/backdrop-saturate
13520
+ */
13521
+ 'backdrop-saturate': [{
13522
+ 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]
13523
+ }],
13524
+ /**
13525
+ * Backdrop Sepia
13526
+ * @see https://tailwindcss.com/docs/backdrop-sepia
13527
+ */
13528
+ 'backdrop-sepia': [{
13529
+ 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]
13530
+ }],
13531
+ // --------------
13532
+ // --- Tables ---
13533
+ // --------------
13534
+ /**
13535
+ * Border Collapse
13536
+ * @see https://tailwindcss.com/docs/border-collapse
13537
+ */
13538
+ 'border-collapse': [{
13539
+ border: ['collapse', 'separate']
13540
+ }],
13541
+ /**
13542
+ * Border Spacing
13543
+ * @see https://tailwindcss.com/docs/border-spacing
13544
+ */
13545
+ 'border-spacing': [{
13546
+ 'border-spacing': scaleUnambiguousSpacing()
13547
+ }],
13548
+ /**
13549
+ * Border Spacing X
13550
+ * @see https://tailwindcss.com/docs/border-spacing
13551
+ */
13552
+ 'border-spacing-x': [{
13553
+ 'border-spacing-x': scaleUnambiguousSpacing()
13554
+ }],
13555
+ /**
13556
+ * Border Spacing Y
13557
+ * @see https://tailwindcss.com/docs/border-spacing
13558
+ */
13559
+ 'border-spacing-y': [{
13560
+ 'border-spacing-y': scaleUnambiguousSpacing()
13561
+ }],
13562
+ /**
13563
+ * Table Layout
13564
+ * @see https://tailwindcss.com/docs/table-layout
13565
+ */
13566
+ 'table-layout': [{
13567
+ table: ['auto', 'fixed']
13568
+ }],
13569
+ /**
13570
+ * Caption Side
13571
+ * @see https://tailwindcss.com/docs/caption-side
13572
+ */
13573
+ caption: [{
13574
+ caption: ['top', 'bottom']
13575
+ }],
13576
+ // ---------------------------------
13577
+ // --- Transitions and Animation ---
13578
+ // ---------------------------------
13579
+ /**
13580
+ * Transition Property
13581
+ * @see https://tailwindcss.com/docs/transition-property
13582
+ */
13583
+ transition: [{
13584
+ transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]
13585
+ }],
13586
+ /**
13587
+ * Transition Behavior
13588
+ * @see https://tailwindcss.com/docs/transition-behavior
13589
+ */
13590
+ 'transition-behavior': [{
13591
+ transition: ['normal', 'discrete']
13592
+ }],
13593
+ /**
13594
+ * Transition Duration
13595
+ * @see https://tailwindcss.com/docs/transition-duration
13596
+ */
13597
+ duration: [{
13598
+ duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]
13599
+ }],
13600
+ /**
13601
+ * Transition Timing Function
13602
+ * @see https://tailwindcss.com/docs/transition-timing-function
13603
+ */
13604
+ ease: [{
13605
+ ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]
13606
+ }],
13607
+ /**
13608
+ * Transition Delay
13609
+ * @see https://tailwindcss.com/docs/transition-delay
13610
+ */
13611
+ delay: [{
13612
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
13613
+ }],
13614
+ /**
13615
+ * Animation
13616
+ * @see https://tailwindcss.com/docs/animation
13617
+ */
13618
+ animate: [{
13619
+ animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]
13620
+ }],
13621
+ // ------------------
13622
+ // --- Transforms ---
13623
+ // ------------------
13624
+ /**
13625
+ * Backface Visibility
13626
+ * @see https://tailwindcss.com/docs/backface-visibility
13627
+ */
13628
+ backface: [{
13629
+ backface: ['hidden', 'visible']
13630
+ }],
13631
+ /**
13632
+ * Perspective
13633
+ * @see https://tailwindcss.com/docs/perspective
13634
+ */
13635
+ perspective: [{
13636
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
13637
+ }],
13638
+ /**
13639
+ * Perspective Origin
13640
+ * @see https://tailwindcss.com/docs/perspective-origin
13641
+ */
13642
+ 'perspective-origin': [{
13643
+ 'perspective-origin': scalePositionWithArbitrary()
13644
+ }],
13645
+ /**
13646
+ * Rotate
13647
+ * @see https://tailwindcss.com/docs/rotate
13648
+ */
13649
+ rotate: [{
13650
+ rotate: scaleRotate()
13651
+ }],
13652
+ /**
13653
+ * Rotate X
13654
+ * @see https://tailwindcss.com/docs/rotate
13655
+ */
13656
+ 'rotate-x': [{
13657
+ 'rotate-x': scaleRotate()
13658
+ }],
13659
+ /**
13660
+ * Rotate Y
13661
+ * @see https://tailwindcss.com/docs/rotate
13662
+ */
13663
+ 'rotate-y': [{
13664
+ 'rotate-y': scaleRotate()
13665
+ }],
13666
+ /**
13667
+ * Rotate Z
13668
+ * @see https://tailwindcss.com/docs/rotate
13669
+ */
13670
+ 'rotate-z': [{
13671
+ 'rotate-z': scaleRotate()
13672
+ }],
13673
+ /**
13674
+ * Scale
13675
+ * @see https://tailwindcss.com/docs/scale
13676
+ */
13677
+ scale: [{
13678
+ scale: scaleScale()
13679
+ }],
13680
+ /**
13681
+ * Scale X
13682
+ * @see https://tailwindcss.com/docs/scale
13683
+ */
13684
+ 'scale-x': [{
13685
+ 'scale-x': scaleScale()
13686
+ }],
13687
+ /**
13688
+ * Scale Y
13689
+ * @see https://tailwindcss.com/docs/scale
13690
+ */
13691
+ 'scale-y': [{
13692
+ 'scale-y': scaleScale()
13693
+ }],
13694
+ /**
13695
+ * Scale Z
13696
+ * @see https://tailwindcss.com/docs/scale
13697
+ */
13698
+ 'scale-z': [{
13699
+ 'scale-z': scaleScale()
13700
+ }],
13701
+ /**
13702
+ * Scale 3D
13703
+ * @see https://tailwindcss.com/docs/scale
13704
+ */
13705
+ 'scale-3d': ['scale-3d'],
13706
+ /**
13707
+ * Skew
13708
+ * @see https://tailwindcss.com/docs/skew
13709
+ */
13710
+ skew: [{
13711
+ skew: scaleSkew()
13712
+ }],
13713
+ /**
13714
+ * Skew X
13715
+ * @see https://tailwindcss.com/docs/skew
13716
+ */
13717
+ 'skew-x': [{
13718
+ 'skew-x': scaleSkew()
13719
+ }],
13720
+ /**
13721
+ * Skew Y
13722
+ * @see https://tailwindcss.com/docs/skew
13723
+ */
13724
+ 'skew-y': [{
13725
+ 'skew-y': scaleSkew()
13726
+ }],
13727
+ /**
13728
+ * Transform
13729
+ * @see https://tailwindcss.com/docs/transform
13730
+ */
13731
+ transform: [{
13732
+ transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']
13733
+ }],
13734
+ /**
13735
+ * Transform Origin
13736
+ * @see https://tailwindcss.com/docs/transform-origin
13737
+ */
13738
+ 'transform-origin': [{
13739
+ origin: scalePositionWithArbitrary()
13740
+ }],
13741
+ /**
13742
+ * Transform Style
13743
+ * @see https://tailwindcss.com/docs/transform-style
13744
+ */
13745
+ 'transform-style': [{
13746
+ transform: ['3d', 'flat']
13747
+ }],
13748
+ /**
13749
+ * Translate
13750
+ * @see https://tailwindcss.com/docs/translate
13751
+ */
13752
+ translate: [{
13753
+ translate: scaleTranslate()
13754
+ }],
13755
+ /**
13756
+ * Translate X
13757
+ * @see https://tailwindcss.com/docs/translate
13758
+ */
13759
+ 'translate-x': [{
13760
+ 'translate-x': scaleTranslate()
13761
+ }],
13762
+ /**
13763
+ * Translate Y
13764
+ * @see https://tailwindcss.com/docs/translate
13765
+ */
13766
+ 'translate-y': [{
13767
+ 'translate-y': scaleTranslate()
13768
+ }],
13769
+ /**
13770
+ * Translate Z
13771
+ * @see https://tailwindcss.com/docs/translate
13772
+ */
13773
+ 'translate-z': [{
13774
+ 'translate-z': scaleTranslate()
13775
+ }],
13776
+ /**
13777
+ * Translate None
13778
+ * @see https://tailwindcss.com/docs/translate
13779
+ */
13780
+ 'translate-none': ['translate-none'],
13781
+ // ---------------------
13782
+ // --- Interactivity ---
13783
+ // ---------------------
13784
+ /**
13785
+ * Accent Color
13786
+ * @see https://tailwindcss.com/docs/accent-color
13787
+ */
13788
+ accent: [{
13789
+ accent: scaleColor()
13790
+ }],
13791
+ /**
13792
+ * Appearance
13793
+ * @see https://tailwindcss.com/docs/appearance
13794
+ */
13795
+ appearance: [{
13796
+ appearance: ['none', 'auto']
13797
+ }],
13798
+ /**
13799
+ * Caret Color
13800
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
13801
+ */
13802
+ 'caret-color': [{
13803
+ caret: scaleColor()
13804
+ }],
13805
+ /**
13806
+ * Color Scheme
13807
+ * @see https://tailwindcss.com/docs/color-scheme
13808
+ */
13809
+ 'color-scheme': [{
13810
+ scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']
13811
+ }],
13812
+ /**
13813
+ * Cursor
13814
+ * @see https://tailwindcss.com/docs/cursor
13815
+ */
13816
+ cursor: [{
13817
+ cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]
13818
+ }],
13819
+ /**
13820
+ * Field Sizing
13821
+ * @see https://tailwindcss.com/docs/field-sizing
13822
+ */
13823
+ 'field-sizing': [{
13824
+ 'field-sizing': ['fixed', 'content']
13825
+ }],
13826
+ /**
13827
+ * Pointer Events
13828
+ * @see https://tailwindcss.com/docs/pointer-events
13829
+ */
13830
+ 'pointer-events': [{
13831
+ 'pointer-events': ['auto', 'none']
13832
+ }],
13833
+ /**
13834
+ * Resize
13835
+ * @see https://tailwindcss.com/docs/resize
13836
+ */
13837
+ resize: [{
13838
+ resize: ['none', '', 'y', 'x']
13839
+ }],
13840
+ /**
13841
+ * Scroll Behavior
13842
+ * @see https://tailwindcss.com/docs/scroll-behavior
13843
+ */
13844
+ 'scroll-behavior': [{
13845
+ scroll: ['auto', 'smooth']
13846
+ }],
13847
+ /**
13848
+ * Scroll Margin
13849
+ * @see https://tailwindcss.com/docs/scroll-margin
13850
+ */
13851
+ 'scroll-m': [{
13852
+ 'scroll-m': scaleUnambiguousSpacing()
13853
+ }],
13854
+ /**
13855
+ * Scroll Margin X
13856
+ * @see https://tailwindcss.com/docs/scroll-margin
13857
+ */
13858
+ 'scroll-mx': [{
13859
+ 'scroll-mx': scaleUnambiguousSpacing()
13860
+ }],
13861
+ /**
13862
+ * Scroll Margin Y
13863
+ * @see https://tailwindcss.com/docs/scroll-margin
13864
+ */
13865
+ 'scroll-my': [{
13866
+ 'scroll-my': scaleUnambiguousSpacing()
13867
+ }],
13868
+ /**
13869
+ * Scroll Margin Start
13870
+ * @see https://tailwindcss.com/docs/scroll-margin
13871
+ */
13872
+ 'scroll-ms': [{
13873
+ 'scroll-ms': scaleUnambiguousSpacing()
13874
+ }],
13875
+ /**
13876
+ * Scroll Margin End
13877
+ * @see https://tailwindcss.com/docs/scroll-margin
13878
+ */
13879
+ 'scroll-me': [{
13880
+ 'scroll-me': scaleUnambiguousSpacing()
13881
+ }],
13882
+ /**
13883
+ * Scroll Margin Top
13884
+ * @see https://tailwindcss.com/docs/scroll-margin
13885
+ */
13886
+ 'scroll-mt': [{
13887
+ 'scroll-mt': scaleUnambiguousSpacing()
13888
+ }],
13889
+ /**
13890
+ * Scroll Margin Right
13891
+ * @see https://tailwindcss.com/docs/scroll-margin
13892
+ */
13893
+ 'scroll-mr': [{
13894
+ 'scroll-mr': scaleUnambiguousSpacing()
13895
+ }],
13896
+ /**
13897
+ * Scroll Margin Bottom
13898
+ * @see https://tailwindcss.com/docs/scroll-margin
13899
+ */
13900
+ 'scroll-mb': [{
13901
+ 'scroll-mb': scaleUnambiguousSpacing()
13902
+ }],
13903
+ /**
13904
+ * Scroll Margin Left
13905
+ * @see https://tailwindcss.com/docs/scroll-margin
13906
+ */
13907
+ 'scroll-ml': [{
13908
+ 'scroll-ml': scaleUnambiguousSpacing()
13909
+ }],
13910
+ /**
13911
+ * Scroll Padding
13912
+ * @see https://tailwindcss.com/docs/scroll-padding
13913
+ */
13914
+ 'scroll-p': [{
13915
+ 'scroll-p': scaleUnambiguousSpacing()
13916
+ }],
13917
+ /**
13918
+ * Scroll Padding X
13919
+ * @see https://tailwindcss.com/docs/scroll-padding
13920
+ */
13921
+ 'scroll-px': [{
13922
+ 'scroll-px': scaleUnambiguousSpacing()
13923
+ }],
13924
+ /**
13925
+ * Scroll Padding Y
13926
+ * @see https://tailwindcss.com/docs/scroll-padding
13927
+ */
13928
+ 'scroll-py': [{
13929
+ 'scroll-py': scaleUnambiguousSpacing()
13930
+ }],
13931
+ /**
13932
+ * Scroll Padding Start
13933
+ * @see https://tailwindcss.com/docs/scroll-padding
13934
+ */
13935
+ 'scroll-ps': [{
13936
+ 'scroll-ps': scaleUnambiguousSpacing()
13937
+ }],
13938
+ /**
13939
+ * Scroll Padding End
13940
+ * @see https://tailwindcss.com/docs/scroll-padding
13941
+ */
13942
+ 'scroll-pe': [{
13943
+ 'scroll-pe': scaleUnambiguousSpacing()
13944
+ }],
13945
+ /**
13946
+ * Scroll Padding Top
13947
+ * @see https://tailwindcss.com/docs/scroll-padding
13948
+ */
13949
+ 'scroll-pt': [{
13950
+ 'scroll-pt': scaleUnambiguousSpacing()
13951
+ }],
13952
+ /**
13953
+ * Scroll Padding Right
13954
+ * @see https://tailwindcss.com/docs/scroll-padding
13955
+ */
13956
+ 'scroll-pr': [{
13957
+ 'scroll-pr': scaleUnambiguousSpacing()
13958
+ }],
13959
+ /**
13960
+ * Scroll Padding Bottom
13961
+ * @see https://tailwindcss.com/docs/scroll-padding
13962
+ */
13963
+ 'scroll-pb': [{
13964
+ 'scroll-pb': scaleUnambiguousSpacing()
13965
+ }],
13966
+ /**
13967
+ * Scroll Padding Left
13968
+ * @see https://tailwindcss.com/docs/scroll-padding
13969
+ */
13970
+ 'scroll-pl': [{
13971
+ 'scroll-pl': scaleUnambiguousSpacing()
13972
+ }],
13973
+ /**
13974
+ * Scroll Snap Align
13975
+ * @see https://tailwindcss.com/docs/scroll-snap-align
13976
+ */
13977
+ 'snap-align': [{
13978
+ snap: ['start', 'end', 'center', 'align-none']
13979
+ }],
13980
+ /**
13981
+ * Scroll Snap Stop
13982
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
13983
+ */
13984
+ 'snap-stop': [{
13985
+ snap: ['normal', 'always']
13986
+ }],
13987
+ /**
13988
+ * Scroll Snap Type
13989
+ * @see https://tailwindcss.com/docs/scroll-snap-type
13990
+ */
13991
+ 'snap-type': [{
13992
+ snap: ['none', 'x', 'y', 'both']
13993
+ }],
13994
+ /**
13995
+ * Scroll Snap Type Strictness
13996
+ * @see https://tailwindcss.com/docs/scroll-snap-type
13997
+ */
13998
+ 'snap-strictness': [{
13999
+ snap: ['mandatory', 'proximity']
14000
+ }],
14001
+ /**
14002
+ * Touch Action
14003
+ * @see https://tailwindcss.com/docs/touch-action
14004
+ */
14005
+ touch: [{
14006
+ touch: ['auto', 'none', 'manipulation']
14007
+ }],
14008
+ /**
14009
+ * Touch Action X
14010
+ * @see https://tailwindcss.com/docs/touch-action
14011
+ */
14012
+ 'touch-x': [{
14013
+ 'touch-pan': ['x', 'left', 'right']
14014
+ }],
14015
+ /**
14016
+ * Touch Action Y
14017
+ * @see https://tailwindcss.com/docs/touch-action
14018
+ */
14019
+ 'touch-y': [{
14020
+ 'touch-pan': ['y', 'up', 'down']
14021
+ }],
14022
+ /**
14023
+ * Touch Action Pinch Zoom
14024
+ * @see https://tailwindcss.com/docs/touch-action
14025
+ */
14026
+ 'touch-pz': ['touch-pinch-zoom'],
14027
+ /**
14028
+ * User Select
14029
+ * @see https://tailwindcss.com/docs/user-select
14030
+ */
14031
+ select: [{
14032
+ select: ['none', 'text', 'all', 'auto']
14033
+ }],
14034
+ /**
14035
+ * Will Change
14036
+ * @see https://tailwindcss.com/docs/will-change
14037
+ */
14038
+ 'will-change': [{
14039
+ 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]
14040
+ }],
14041
+ // -----------
14042
+ // --- SVG ---
14043
+ // -----------
14044
+ /**
14045
+ * Fill
14046
+ * @see https://tailwindcss.com/docs/fill
14047
+ */
14048
+ fill: [{
14049
+ fill: ['none', ...scaleColor()]
14050
+ }],
14051
+ /**
14052
+ * Stroke Width
14053
+ * @see https://tailwindcss.com/docs/stroke-width
14054
+ */
14055
+ 'stroke-w': [{
14056
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
14057
+ }],
14058
+ /**
14059
+ * Stroke
14060
+ * @see https://tailwindcss.com/docs/stroke
14061
+ */
14062
+ stroke: [{
14063
+ stroke: ['none', ...scaleColor()]
14064
+ }],
14065
+ // ---------------------
14066
+ // --- Accessibility ---
14067
+ // ---------------------
14068
+ /**
14069
+ * Forced Color Adjust
14070
+ * @see https://tailwindcss.com/docs/forced-color-adjust
14071
+ */
14072
+ 'forced-color-adjust': [{
14073
+ 'forced-color-adjust': ['auto', 'none']
14074
+ }]
14075
+ },
14076
+ conflictingClassGroups: {
14077
+ overflow: ['overflow-x', 'overflow-y'],
14078
+ overscroll: ['overscroll-x', 'overscroll-y'],
14079
+ inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
14080
+ 'inset-x': ['right', 'left'],
14081
+ 'inset-y': ['top', 'bottom'],
14082
+ flex: ['basis', 'grow', 'shrink'],
14083
+ gap: ['gap-x', 'gap-y'],
14084
+ p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
14085
+ px: ['pr', 'pl'],
14086
+ py: ['pt', 'pb'],
14087
+ m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
14088
+ mx: ['mr', 'ml'],
14089
+ my: ['mt', 'mb'],
14090
+ size: ['w', 'h'],
14091
+ 'font-size': ['leading'],
14092
+ 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
14093
+ 'fvn-ordinal': ['fvn-normal'],
14094
+ 'fvn-slashed-zero': ['fvn-normal'],
14095
+ 'fvn-figure': ['fvn-normal'],
14096
+ 'fvn-spacing': ['fvn-normal'],
14097
+ 'fvn-fraction': ['fvn-normal'],
14098
+ 'line-clamp': ['display', 'overflow'],
14099
+ 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'],
14100
+ 'rounded-s': ['rounded-ss', 'rounded-es'],
14101
+ 'rounded-e': ['rounded-se', 'rounded-ee'],
14102
+ 'rounded-t': ['rounded-tl', 'rounded-tr'],
14103
+ 'rounded-r': ['rounded-tr', 'rounded-br'],
14104
+ 'rounded-b': ['rounded-br', 'rounded-bl'],
14105
+ 'rounded-l': ['rounded-tl', 'rounded-bl'],
14106
+ 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
14107
+ 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
14108
+ 'border-w-x': ['border-w-r', 'border-w-l'],
14109
+ 'border-w-y': ['border-w-t', 'border-w-b'],
14110
+ 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
14111
+ 'border-color-x': ['border-color-r', 'border-color-l'],
14112
+ 'border-color-y': ['border-color-t', 'border-color-b'],
14113
+ translate: ['translate-x', 'translate-y', 'translate-none'],
14114
+ 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
14115
+ 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
14116
+ 'scroll-mx': ['scroll-mr', 'scroll-ml'],
14117
+ 'scroll-my': ['scroll-mt', 'scroll-mb'],
14118
+ 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
14119
+ 'scroll-px': ['scroll-pr', 'scroll-pl'],
14120
+ 'scroll-py': ['scroll-pt', 'scroll-pb'],
14121
+ touch: ['touch-x', 'touch-y', 'touch-pz'],
14122
+ 'touch-x': ['touch'],
14123
+ 'touch-y': ['touch'],
14124
+ 'touch-pz': ['touch']
14125
+ },
14126
+ conflictingClassGroupModifiers: {
14127
+ 'font-size': ['leading']
14128
+ },
14129
+ orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']
14130
+ };
14131
+ };
14132
+ const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
14133
+
11179
14134
  function classNames(...classes) {
11180
14135
  return classes.filter(Boolean).join(" ");
11181
14136
  }
@@ -11277,7 +14232,10 @@ const Sidebar = ({ children, menu }) => {
11277
14232
  {
11278
14233
  onMouseEnter: () => setCollapse(true),
11279
14234
  onMouseLeave: () => setCollapse(false),
11280
- className: `flex flex-col gap-y-5 ${collapse ? "w-60" : "w-16"} border-r border-gray-200 bg-[#2e247d] transition-all duration-300`,
14235
+ className: twMerge(
14236
+ "flex flex-col gap-y-5 border-r border-gray-200 bg-[#1C2D5A] transition-all duration-300",
14237
+ collapse ? "w-60" : "w-16"
14238
+ ),
11281
14239
  children: [
11282
14240
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-16 shrink-0 items-center justify-center bg-[#FFFFFF]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
11283
14241
  "img",
@@ -11441,4 +14399,4 @@ const Divider = ({ children, ...rest }) => {
11441
14399
  };
11442
14400
 
11443
14401
  export { Button as B, CascaderField as C, Dropdown as D, Flex as F, Heading as H, Layout as L, Modal as M, Popover as P, Row as R, Skeleton as S, Table as T, Tooltip as a, Tabs as b, SearchFiltersForm as c, Container as d, Badge as e, Col as f, Breadcrumb as g, Space as h, Splitter as i, Menu as j, Pagination as k, Steps as l, Sidebar as m, Tag as n, Divider as o, typeColorMap as t };
11444
- //# sourceMappingURL=Divider-BdQZN4uJ.js.map
14402
+ //# sourceMappingURL=Divider-Ncz1S8CR.js.map