canonicalize-candidates.ts — tailwindcss Source File
Architecture documentation for canonicalize-candidates.ts, a typescript file in the tailwindcss codebase. 42 imports, 4 dependents.
Entity Profile
Dependency Diagram
graph LR 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e["canonicalize-candidates.ts"] ca8635ee_31ba_d4fd_68e2_ee9e03168422["apply.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> ca8635ee_31ba_d4fd_68e2_ee9e03168422 96876152_5423_5f9b_9f88_1db666070351["substituteAtApply"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 96876152_5423_5f9b_9f88_1db666070351 42640952_ea63_55f1_1ff1_00816e2980ae["ast.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 42640952_ea63_55f1_1ff1_00816e2980ae f9b19679_c1f0_28d6_4d1a_31a10c52e42d["atRule"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> f9b19679_c1f0_28d6_4d1a_31a10c52e42d 88bcab2f_f837_9e57_5b6a_fda72a4c3315["cloneAstNode"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 88bcab2f_f837_9e57_5b6a_fda72a4c3315 36be1773_d660_31ac_0b0b_88dbd7f6f7a8["styleRule"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 36be1773_d660_31ac_0b0b_88dbd7f6f7a8 2da63033_d079_7b37_5cfb_3877674a70b9["toCss"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 2da63033_d079_7b37_5cfb_3877674a70b9 73e07df9_b6bc_e7d7_b7c1_3151a7ee5c27["attribute-selector-parser.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 73e07df9_b6bc_e7d7_b7c1_3151a7ee5c27 669e6a28_c71f_3c5e_9c53_915cede7da78["candidate.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 669e6a28_c71f_3c5e_9c53_915cede7da78 f29ee016_da0a_a564_1658_fedaaac680b6["cloneCandidate"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> f29ee016_da0a_a564_1658_fedaaac680b6 6bba18d7_41ef_d5f0_252c_413cbca6b078["cloneVariant"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 6bba18d7_41ef_d5f0_252c_413cbca6b078 dcb78b18_ea9f_1a7d_ae16_22caeb338381["printArbitraryValue"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> dcb78b18_ea9f_1a7d_ae16_22caeb338381 a6395463_48d3_f807_4ce5_c8a5f1546d06["printModifier"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> a6395463_48d3_f807_4ce5_c8a5f1546d06 245c850a_c551_a2cf_854e_bba95b5a1339["apply-config-to-theme.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e --> 245c850a_c551_a2cf_854e_bba95b5a1339 style 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { substituteAtApply } from './apply'
import { atRule, cloneAstNode, styleRule, toCss, type AstNode } from './ast'
import * as AttributeSelectorParser from './attribute-selector-parser'
import {
cloneCandidate,
cloneVariant,
printArbitraryValue,
printModifier,
type Candidate,
type CandidateModifier,
type NamedUtilityValue,
type Variant,
} from './candidate'
import { keyPathToCssProperty } from './compat/apply-config-to-theme'
import { constantFoldDeclaration } from './constant-fold-declaration'
import type { DesignSystem as BaseDesignSystem } from './design-system'
import { CompileAstFlags } from './design-system'
import { expandDeclaration } from './expand-declaration'
import * as SelectorParser from './selector-parser'
import { ThemeOptions } from './theme'
import type { Writable } from './types'
import { DefaultMap } from './utils/default-map'
import { dimensions } from './utils/dimensions'
import { isPositiveInteger, isValidSpacingMultiplier } from './utils/infer-data-type'
import { replaceObject } from './utils/replace-object'
import { segment } from './utils/segment'
import { toKeyPath } from './utils/to-key-path'
import * as ValueParser from './value-parser'
import { walk, WalkAction } from './walk'
export interface CanonicalizeOptions {
/**
* The root font size in pixels. If provided, `rem` values will be normalized
* to `px` values.
*
* E.g.: `mt-[16px]` with `rem: 16` will become `mt-4` (assuming `--spacing: 0.25rem`).
*/
rem?: number
/**
* Whether to collapse multiple utilities into a single utility if possible.
*
* E.g.: `mt-2 mr-2 mb-2 ml-2` → `m-2`
*/
collapse?: boolean
/**
* Whether to convert between logical and physical properties when collapsing
* utilities.
*
* E.g.: `mr-2 ml-2` → `mx-2`
*/
logicalToPhysical?: boolean
}
enum Features {
/**
* No features enabled (default)
*/
None = 0,
// ... (2558 more lines)
Domain
Subdomains
Functions
- Candidate()
- allVariablesAreUsed()
- arbitraryUtilities()
- arbitraryValueToBareValueUtility()
- arbitraryValueToBareValueVariant()
- arbitraryVariants()
- bareValueUtilities()
- bgGradientToLinear()
- canonicalizeAst()
- canonicalizeCandidates()
- collapseCandidates()
- combinations()
- createCanonicalizeCandidateCache()
- createCanonicalizeOptions()
- createCanonicalizeUtilityCache()
- createCanonicalizeVariantCache()
- createConverterCache()
- createInternalOptionsCache()
- createPreComputedUtilitiesCache()
- createPreComputedVariantsCache()
- createSignatureOptions()
- createSignatureOptionsCache()
- createSpacingCache()
- createStaticUtilitiesCache()
- createUtilityPropertiesCache()
- createUtilitySignatureCache()
- createVariantSignatureCache()
- deprecatedUtilities()
- dropUnnecessaryDataTypes()
- eventuallyUnquote()
- input()
- intersection()
- isAttributeSelector()
- isSingleSelector()
- modernizeArbitraryValuesVariant()
- optimizeModifier()
- parseCandidate()
- prepareDesignSystemStorage()
- printUnprefixedCandidate()
- resolveVariablesInValue()
- substituteFunctionsInValue()
- temporarilyDisableThemeInline()
- themeToVarUtility()
- themeToVarVariant()
- tryValueReplacements()
- variant()
- walkVariants()
Types
Dependencies
- CompileAstFlags
- DefaultMap
- ThemeOptions
- WalkAction
- apply-config-to-theme.ts
- apply.ts
- ast.ts
- atRule
- attribute-selector-parser.ts
- candidate.ts
- cloneAstNode
- cloneCandidate
- cloneVariant
- constant-fold-declaration.ts
- constantFoldDeclaration
- default-map.ts
- design-system.ts
- dimensions
- dimensions.ts
- expand-declaration.ts
- expandDeclaration
- infer-data-type.ts
- isPositiveInteger
- isValidSpacingMultiplier
- keyPathToCssProperty
- printArbitraryValue
- printModifier
- replace-object.ts
- replaceObject
- segment
- segment.ts
- selector-parser.ts
- styleRule
- substituteAtApply
- theme.ts
- to-key-path.ts
- toCss
- toKeyPath
- types.ts
- value-parser.ts
- walk
- walk.ts
Imported By
Source
Frequently Asked Questions
What does canonicalize-candidates.ts do?
canonicalize-candidates.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, TemplateAnalysis subdomain.
What functions are defined in canonicalize-candidates.ts?
canonicalize-candidates.ts defines 47 function(s): Candidate, allVariablesAreUsed, arbitraryUtilities, arbitraryValueToBareValueUtility, arbitraryValueToBareValueVariant, arbitraryVariants, bareValueUtilities, bgGradientToLinear, canonicalizeAst, canonicalizeCandidates, and 37 more.
What does canonicalize-candidates.ts depend on?
canonicalize-candidates.ts imports 42 module(s): CompileAstFlags, DefaultMap, ThemeOptions, WalkAction, apply-config-to-theme.ts, apply.ts, ast.ts, atRule, and 34 more.
What files import canonicalize-candidates.ts?
canonicalize-candidates.ts is imported by 4 file(s): expand-declaration.test.ts, expand-declaration.ts, migrate-arbitrary-variants.ts, migrate.ts.
Where is canonicalize-candidates.ts in the architecture?
canonicalize-candidates.ts is located at packages/tailwindcss/src/canonicalize-candidates.ts (domain: UpgradeToolkit, subdomain: TemplateAnalysis, directory: packages/tailwindcss/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free