first commit
This commit is contained in:
73
node_modules/tailwind-merge/dist/lib/merge-classlist.mjs
generated
vendored
Normal file
73
node_modules/tailwind-merge/dist/lib/merge-classlist.mjs
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
import { sortModifiers, IMPORTANT_MODIFIER } from './modifier-utils.mjs';
|
||||
|
||||
var SPLIT_CLASSES_REGEX = /\s+/;
|
||||
function mergeClassList(classList, configUtils) {
|
||||
var splitModifiers = configUtils.splitModifiers,
|
||||
getClassGroupId = configUtils.getClassGroupId,
|
||||
getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds;
|
||||
/**
|
||||
* Set of classGroupIds in following format:
|
||||
* `{importantModifier}{variantModifiers}{classGroupId}`
|
||||
* @example 'float'
|
||||
* @example 'hover:focus:bg-color'
|
||||
* @example 'md:!pr'
|
||||
*/
|
||||
var classGroupsInConflict = new Set();
|
||||
return classList.trim().split(SPLIT_CLASSES_REGEX).map(function (originalClassName) {
|
||||
var _splitModifiers = splitModifiers(originalClassName),
|
||||
modifiers = _splitModifiers.modifiers,
|
||||
hasImportantModifier = _splitModifiers.hasImportantModifier,
|
||||
baseClassName = _splitModifiers.baseClassName,
|
||||
maybePostfixModifierPosition = _splitModifiers.maybePostfixModifierPosition;
|
||||
var classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
||||
var hasPostfixModifier = Boolean(maybePostfixModifierPosition);
|
||||
if (!classGroupId) {
|
||||
if (!maybePostfixModifierPosition) {
|
||||
return {
|
||||
isTailwindClass: false,
|
||||
originalClassName: originalClassName
|
||||
};
|
||||
}
|
||||
classGroupId = getClassGroupId(baseClassName);
|
||||
if (!classGroupId) {
|
||||
return {
|
||||
isTailwindClass: false,
|
||||
originalClassName: originalClassName
|
||||
};
|
||||
}
|
||||
hasPostfixModifier = false;
|
||||
}
|
||||
var variantModifier = sortModifiers(modifiers).join(':');
|
||||
var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
||||
return {
|
||||
isTailwindClass: true,
|
||||
modifierId: modifierId,
|
||||
classGroupId: classGroupId,
|
||||
originalClassName: originalClassName,
|
||||
hasPostfixModifier: hasPostfixModifier
|
||||
};
|
||||
}).reverse()
|
||||
// Last class in conflict wins, so we need to filter conflicting classes in reverse order.
|
||||
.filter(function (parsed) {
|
||||
if (!parsed.isTailwindClass) {
|
||||
return true;
|
||||
}
|
||||
var modifierId = parsed.modifierId,
|
||||
classGroupId = parsed.classGroupId,
|
||||
hasPostfixModifier = parsed.hasPostfixModifier;
|
||||
var classId = modifierId + classGroupId;
|
||||
if (classGroupsInConflict.has(classId)) {
|
||||
return false;
|
||||
}
|
||||
classGroupsInConflict.add(classId);
|
||||
getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(function (group) {
|
||||
return classGroupsInConflict.add(modifierId + group);
|
||||
});
|
||||
return true;
|
||||
}).reverse().map(function (parsed) {
|
||||
return parsed.originalClassName;
|
||||
}).join(' ');
|
||||
}
|
||||
|
||||
export { mergeClassList };
|
||||
//# sourceMappingURL=merge-classlist.mjs.map
|
||||
Reference in New Issue
Block a user