Home / File/ canonicalize-candidates.ts — tailwindcss Source File

canonicalize-candidates.ts — tailwindcss Source File

Architecture documentation for canonicalize-candidates.ts, a typescript file in the tailwindcss codebase. 42 imports, 4 dependents.

File typescript UpgradeToolkit TemplateAnalysis 42 imports 4 dependents 47 functions

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)

Subdomains

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