printVariant() — tailwindcss Function Reference
Architecture documentation for the printVariant() function in candidate.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD fe10eff5_7df3_1553_1351_7802a9ea48a5["printVariant()"] ba6fca27_7720_5839_0f92_bc2abb8db636["candidate.ts"] fe10eff5_7df3_1553_1351_7802a9ea48a5 -->|defined in| ba6fca27_7720_5839_0f92_bc2abb8db636 7a380dd4_2f8e_5aa7_b4ee_bf219cb7807f["migrateArbitraryVariants()"] 7a380dd4_2f8e_5aa7_b4ee_bf219cb7807f -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 2de86ba2_90a4_8c2d_db18_154bb1a1564f["printCandidate()"] 2de86ba2_90a4_8c2d_db18_154bb1a1564f -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 8678786b_ce4d_e620_10b5_0449d39487fc["createCanonicalizeCandidateCache()"] 8678786b_ce4d_e620_10b5_0449d39487fc -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 b3ddb484_a420_850d_607a_2221ddf995ca["arbitraryVariants()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 4af25bcc_7295_c96c_9ddc_5c19bf644f5e["modernizeArbitraryValuesVariant()"] 4af25bcc_7295_c96c_9ddc_5c19bf644f5e -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 e557c8a4_bb27_ee44_c462_9e238157ad04["buildDesignSystem()"] e557c8a4_bb27_ee44_c462_9e238157ad04 -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 49a16f31_6459_6af3_3eaa_e3ee599b3619["printArbitraryValue()"] fe10eff5_7df3_1553_1351_7802a9ea48a5 -->|calls| 49a16f31_6459_6af3_3eaa_e3ee599b3619 b14a13d9_dc97_755f_d463_8a9084852e8b["simplifyArbitraryVariant()"] fe10eff5_7df3_1553_1351_7802a9ea48a5 -->|calls| b14a13d9_dc97_755f_d463_8a9084852e8b ce0de73d_6995_5a9a_feea_d46e9287b256["isVar()"] fe10eff5_7df3_1553_1351_7802a9ea48a5 -->|calls| ce0de73d_6995_5a9a_feea_d46e9287b256 f44bccaf_a67b_68ab_8fb1_2226f3e5fe00["printModifier()"] fe10eff5_7df3_1553_1351_7802a9ea48a5 -->|calls| f44bccaf_a67b_68ab_8fb1_2226f3e5fe00 style fe10eff5_7df3_1553_1351_7802a9ea48a5 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