arbitraryVariants() — tailwindcss Function Reference
Architecture documentation for the arbitraryVariants() function in canonicalize-candidates.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD b3ddb484_a420_850d_607a_2221ddf995ca["arbitraryVariants()"] f6c14bbb_2e42_58cc_18f1_c89a243da9c0["canonicalize-candidates.ts"] b3ddb484_a420_850d_607a_2221ddf995ca -->|defined in| f6c14bbb_2e42_58cc_18f1_c89a243da9c0 0d3d890d_0584_dd18_a64e_8e1494d409e5["walkVariants()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| 0d3d890d_0584_dd18_a64e_8e1494d409e5 fe10eff5_7df3_1553_1351_7802a9ea48a5["printVariant()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| fe10eff5_7df3_1553_1351_7802a9ea48a5 5719096b_0f51_ab16_7fbd_4455f835804c["parseVariant()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| 5719096b_0f51_ab16_7fbd_4455f835804c 38b866f2_6f5f_ed0c_8931_4489835420d2["replaceObject()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| 38b866f2_6f5f_ed0c_8931_4489835420d2 2820372c_b982_9e06_fc23_f8f4ac308d00["get()"] b3ddb484_a420_850d_607a_2221ddf995ca -->|calls| 2820372c_b982_9e06_fc23_f8f4ac308d00 style b3ddb484_a420_850d_607a_2221ddf995ca fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/tailwindcss/src/canonicalize-candidates.ts lines 1309–1336
function arbitraryVariants(
variant: Variant,
options: InternalCanonicalizeOptions,
): Variant | Variant[] {
let designSystem = options.designSystem
let signatures = designSystem.storage[VARIANT_SIGNATURE_KEY]
let variants = designSystem.storage[PRE_COMPUTED_VARIANTS_KEY]
let iterator = walkVariants(variant)
for (let [variant] of iterator) {
if (variant.kind === 'compound') continue
let targetString = designSystem.printVariant(variant)
let targetSignature = signatures.get(targetString)
if (typeof targetSignature !== 'string') continue
let foundVariants = variants.get(targetSignature)
if (foundVariants.length !== 1) continue
let foundVariant = foundVariants[0]
let parsedVariant = designSystem.parseVariant(foundVariant)
if (parsedVariant === null) continue
replaceObject(variant, parsedVariant)
}
return variant
}
Domain
Subdomains
Source
Frequently Asked Questions
What does arbitraryVariants() do?
arbitraryVariants() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/canonicalize-candidates.ts.
Where is arbitraryVariants() defined?
arbitraryVariants() is defined in packages/tailwindcss/src/canonicalize-candidates.ts at line 1309.
What does arbitraryVariants() call?
arbitraryVariants() calls 5 function(s): get, parseVariant, printVariant, replaceObject, walkVariants.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free