printVariant() — tailwindcss Function Reference
Architecture documentation for the printVariant() function in candidate.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 02a5a469_a54f_7532_8b33_d407c3c7f34a["printVariant()"] 669e6a28_c71f_3c5e_9c53_915cede7da78["candidate.ts"] 02a5a469_a54f_7532_8b33_d407c3c7f34a -->|defined in| 669e6a28_c71f_3c5e_9c53_915cede7da78 bc19ae8d_4f83_e280_be05_e35eee14b3e7["migrateArbitraryVariants()"] bc19ae8d_4f83_e280_be05_e35eee14b3e7 -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a 87ba7eab_3a52_d53e_dfd4_e507e9763b55["printCandidate()"] 87ba7eab_3a52_d53e_dfd4_e507e9763b55 -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a e5cfde3f_0bc0_3155_68b2_7635f9cbb320["createCanonicalizeCandidateCache()"] e5cfde3f_0bc0_3155_68b2_7635f9cbb320 -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a 33cdfd56_8951_3531_38f7_dd0b0f31dbab["arbitraryVariants()"] 33cdfd56_8951_3531_38f7_dd0b0f31dbab -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a 8097972e_4628_663f_72e8_08883183690d["modernizeArbitraryValuesVariant()"] 8097972e_4628_663f_72e8_08883183690d -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a 9b965fd7_d8e9_0b43_cd5d_c9294ab598ed["buildDesignSystem()"] 9b965fd7_d8e9_0b43_cd5d_c9294ab598ed -->|calls| 02a5a469_a54f_7532_8b33_d407c3c7f34a dcb78b18_ea9f_1a7d_ae16_22caeb338381["printArbitraryValue()"] 02a5a469_a54f_7532_8b33_d407c3c7f34a -->|calls| dcb78b18_ea9f_1a7d_ae16_22caeb338381 9ca89fb0_b197_c98a_11fa_8bc0f2185deb["simplifyArbitraryVariant()"] 02a5a469_a54f_7532_8b33_d407c3c7f34a -->|calls| 9ca89fb0_b197_c98a_11fa_8bc0f2185deb d9711825_9ed0_11e4_fd42_f0570831bc55["isVar()"] 02a5a469_a54f_7532_8b33_d407c3c7f34a -->|calls| d9711825_9ed0_11e4_fd42_f0570831bc55 a6395463_48d3_f807_4ce5_c8a5f1546d06["printModifier()"] 02a5a469_a54f_7532_8b33_d407c3c7f34a -->|calls| a6395463_48d3_f807_4ce5_c8a5f1546d06 style 02a5a469_a54f_7532_8b33_d407c3c7f34a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/tailwindcss/src/candidate.ts lines 986–1031
export function printVariant(variant: Variant) {
// Handle static variants
if (variant.kind === 'static') {
return variant.root
}
// Handle arbitrary variants
if (variant.kind === 'arbitrary') {
return `[${printArbitraryValue(simplifyArbitraryVariant(variant.selector))}]`
}
let base: string = ''
// Handle functional variants
if (variant.kind === 'functional') {
base += variant.root
// `@` is a special case for functional variants. We want to print: `@lg`
// instead of `@-lg`
let hasDash = variant.root !== '@'
if (variant.value) {
if (variant.value.kind === 'arbitrary') {
let isVarValue = isVar(variant.value.value)
let value = isVarValue ? variant.value.value.slice(4, -1) : variant.value.value
let [open, close] = isVarValue ? ['(', ')'] : ['[', ']']
base += `${hasDash ? '-' : ''}${open}${printArbitraryValue(value)}${close}`
} else if (variant.value.kind === 'named') {
base += `${hasDash ? '-' : ''}${variant.value.value}`
}
}
}
// Handle compound variants
if (variant.kind === 'compound') {
base += variant.root
base += '-'
base += printVariant(variant.variant)
}
// Handle modifiers
if (variant.kind === 'functional' || variant.kind === 'compound') {
base += printModifier(variant.modifier)
}
return base
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does printVariant() do?
printVariant() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/candidate.ts.
Where is printVariant() defined?
printVariant() is defined in packages/tailwindcss/src/candidate.ts at line 986.
What does printVariant() call?
printVariant() calls 4 function(s): isVar, printArbitraryValue, printModifier, simplifyArbitraryVariant.
What calls printVariant()?
printVariant() is called by 6 function(s): arbitraryVariants, buildDesignSystem, createCanonicalizeCandidateCache, migrateArbitraryVariants, modernizeArbitraryValuesVariant, printCandidate.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free