tailwind-merge
Advanced tools
Comparing version 0.5.2 to 0.6.0
@@ -1888,6 +1888,6 @@ import HLRU from 'hashlru'; | ||
return classList.trim().split(SPLIT_CLASSES_REGEX).map(originalClassName => { | ||
const hasImportantModifier = originalClassName.startsWith(IMPORTANT_MODIFIER); | ||
const classNameWithoutImportant = hasImportantModifier ? originalClassName.substring(1) : originalClassName; | ||
const prefixes = classNameWithoutImportant.split(PREFIX_SEPARATOR_REGEX); | ||
const className = prefixes.pop(); | ||
const prefixes = originalClassName.split(PREFIX_SEPARATOR_REGEX); | ||
const classNameWithImportantModifier = prefixes.pop(); | ||
const hasImportantModifier = classNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER); | ||
const className = hasImportantModifier ? classNameWithImportantModifier.substring(1) : classNameWithImportantModifier; | ||
const arePrefixesValid = prefixes.every(isPrefixValid); | ||
@@ -1939,3 +1939,3 @@ const classGroupId = arePrefixesValid ? getClassGroupId(className) : undefined; | ||
function initTailwindMerge(classLists) { | ||
function initTailwindMerge(classList) { | ||
configUtils = createConfigUtils(createConfig(getDefaultConfig)); | ||
@@ -1945,7 +1945,6 @@ cacheGet = configUtils.cache.get; | ||
functionToCall = tailwindMerge; | ||
return tailwindMerge(classLists); | ||
return tailwindMerge(classList); | ||
} | ||
function tailwindMerge(classLists) { | ||
const classList = classLists.filter(Boolean).join(' '); | ||
function tailwindMerge(classList) { | ||
const cachedResult = cacheGet(classList); | ||
@@ -1963,3 +1962,3 @@ | ||
return function callTailwindMerge(...classLists) { | ||
return functionToCall(classLists); | ||
return functionToCall(classLists.join(' ')); | ||
}; | ||
@@ -1966,0 +1965,0 @@ } |
@@ -1903,6 +1903,6 @@ import HLRU from 'hashlru'; | ||
return classList.trim().split(SPLIT_CLASSES_REGEX).map(function (originalClassName) { | ||
var hasImportantModifier = originalClassName.startsWith(IMPORTANT_MODIFIER); | ||
var classNameWithoutImportant = hasImportantModifier ? originalClassName.substring(1) : originalClassName; | ||
var prefixes = classNameWithoutImportant.split(PREFIX_SEPARATOR_REGEX); | ||
var className = prefixes.pop(); | ||
var prefixes = originalClassName.split(PREFIX_SEPARATOR_REGEX); | ||
var classNameWithImportantModifier = prefixes.pop(); | ||
var hasImportantModifier = classNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER); | ||
var className = hasImportantModifier ? classNameWithImportantModifier.substring(1) : classNameWithImportantModifier; | ||
var arePrefixesValid = prefixes.every(isPrefixValid); | ||
@@ -1956,3 +1956,3 @@ var classGroupId = arePrefixesValid ? getClassGroupId(className) : undefined; | ||
function initTailwindMerge(classLists) { | ||
function initTailwindMerge(classList) { | ||
configUtils = createConfigUtils(createConfig(getDefaultConfig)); | ||
@@ -1962,7 +1962,6 @@ cacheGet = configUtils.cache.get; | ||
functionToCall = tailwindMerge; | ||
return tailwindMerge(classLists); | ||
return tailwindMerge(classList); | ||
} | ||
function tailwindMerge(classLists) { | ||
var classList = classLists.filter(Boolean).join(' '); | ||
function tailwindMerge(classList) { | ||
var cachedResult = cacheGet(classList); | ||
@@ -1980,3 +1979,3 @@ | ||
return function callTailwindMerge() { | ||
return functionToCall([].slice.call(arguments)); | ||
return functionToCall([].slice.call(arguments).join(' ')); | ||
}; | ||
@@ -1983,0 +1982,0 @@ } |
import { createTailwindMerge } from './tailwind-merge'; | ||
export declare const twMerge: (...classLists: (string | undefined)[]) => string; | ||
export declare const twMerge: (...classLists: (string | null | undefined)[]) => string; | ||
export { createTailwindMerge }; |
import { getDefaultConfig } from './default-config'; | ||
import { Config } from './types'; | ||
declare type CreateConfig = (getDefault: typeof getDefaultConfig) => Config; | ||
declare type ClassLists = Array<string | undefined>; | ||
declare type ClassLists = ClassListElement[]; | ||
declare type ClassListElement = string | undefined | null; | ||
declare type TailwindMerge = (...classLists: ClassLists) => string; | ||
export declare function createTailwindMerge(createConfig: CreateConfig): TailwindMerge; | ||
export {}; |
{ | ||
"name": "tailwind-merge", | ||
"version": "0.5.2", | ||
"version": "0.6.0", | ||
"description": "Merge Tailwind CSS classes without style conflicts", | ||
@@ -62,6 +62,6 @@ "keywords": [ | ||
"ts-jest": "^27.0.3", | ||
"typescript": "^4.3.5", | ||
"zx": "^2.0.0" | ||
"typescript": "^4.4.2", | ||
"zx": "^4.0.0" | ||
}, | ||
"packageManager": "yarn@3.0.1" | ||
} |
<div align="center"> | ||
<br /> | ||
<a href="https://github.com/dcastil/tailwind-merge"> | ||
<!-- AUTOGENERATED START logo-image --><img src="https://github.com/dcastil/tailwind-merge/raw/v0.5.2/assets/logo.svg" alt="tailwind-merge" width="221px" /><!-- AUTOGENERATED END --> | ||
<!-- AUTOGENERATED START logo-image --><img src="https://github.com/dcastil/tailwind-merge/raw/v0.6.0/assets/logo.svg" alt="tailwind-merge" width="221px" /><!-- AUTOGENERATED END --> | ||
</a> | ||
@@ -129,2 +129,8 @@ </div> | ||
### Ignores `undefined` and `null` values | ||
```ts | ||
twMerge('some-class', undefined, null) // → 'some-class' | ||
``` | ||
## API reference | ||
@@ -137,3 +143,3 @@ | ||
```ts | ||
function twMerge(...classLists: Array<string | undefined>): string | ||
function twMerge(...classLists: Array<string | undefined | null>): string | ||
``` | ||
@@ -140,0 +146,0 @@ |
@@ -28,9 +28,10 @@ import { ConfigUtils } from './config-utils' | ||
.map((originalClassName) => { | ||
const hasImportantModifier = originalClassName.startsWith(IMPORTANT_MODIFIER) | ||
const classNameWithoutImportant = hasImportantModifier | ||
? originalClassName.substring(1) | ||
: originalClassName | ||
const prefixes = originalClassName.split(PREFIX_SEPARATOR_REGEX) | ||
const classNameWithImportantModifier = prefixes.pop()! | ||
const prefixes = classNameWithoutImportant.split(PREFIX_SEPARATOR_REGEX) | ||
const className = prefixes.pop()! | ||
const hasImportantModifier = | ||
classNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER) | ||
const className = hasImportantModifier | ||
? classNameWithImportantModifier.substring(1) | ||
: classNameWithImportantModifier | ||
@@ -37,0 +38,0 @@ const arePrefixesValid = prefixes.every(isPrefixValid) |
@@ -7,3 +7,4 @@ import { createConfigUtils } from './config-utils' | ||
type CreateConfig = (getDefault: typeof getDefaultConfig) => Config | ||
type ClassLists = Array<string | undefined> | ||
type ClassLists = ClassListElement[] | ||
type ClassListElement = string | undefined | null | ||
type TailwindMerge = (...classLists: ClassLists) => string | ||
@@ -18,3 +19,3 @@ type ConfigUtils = ReturnType<typeof createConfigUtils> | ||
function initTailwindMerge(classLists: ClassLists) { | ||
function initTailwindMerge(classList: string) { | ||
configUtils = createConfigUtils(createConfig(getDefaultConfig)) | ||
@@ -25,7 +26,6 @@ cacheGet = configUtils.cache.get | ||
return tailwindMerge(classLists) | ||
return tailwindMerge(classList) | ||
} | ||
function tailwindMerge(classLists: ClassLists) { | ||
const classList = classLists.filter(Boolean).join(' ') | ||
function tailwindMerge(classList: string) { | ||
const cachedResult = cacheGet(classList) | ||
@@ -43,5 +43,5 @@ | ||
return function callTailwindMerge(...classLists) { | ||
return functionToCall(classLists) | ||
return function callTailwindMerge(...classLists: ClassLists) { | ||
return functionToCall(classLists.join(' ')) | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
538229
211
8331