Home / Function/ substituteFunctions() — tailwindcss Function Reference

substituteFunctions() — tailwindcss Function Reference

Architecture documentation for the substituteFunctions() function in css-functions.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  4bf7802a_6d99_1399_1f81_b8d1aa3ab685["substituteFunctions()"]
  ad196438_55f7_af7b_1604_1d75c1c27d8e["buildPluginApi()"]
  ad196438_55f7_af7b_1604_1d75c1c27d8e -->|calls| 4bf7802a_6d99_1399_1f81_b8d1aa3ab685
  cebe77e1_f0f2_aeee_417e_2192f5790344["buildDesignSystem()"]
  cebe77e1_f0f2_aeee_417e_2192f5790344 -->|calls| 4bf7802a_6d99_1399_1f81_b8d1aa3ab685
  26086ff1_0d4f_fdb2_3fc4_d0c999f90a8c["parseCss()"]
  26086ff1_0d4f_fdb2_3fc4_d0c999f90a8c -->|calls| 4bf7802a_6d99_1399_1f81_b8d1aa3ab685
  e9d556bc_f22d_356c_1bd2_27442c34b5c7["walk()"]
  4bf7802a_6d99_1399_1f81_b8d1aa3ab685 -->|calls| e9d556bc_f22d_356c_1bd2_27442c34b5c7
  89ce828b_eda4_0d96_a1db_69d4d7bec86b["substituteFunctionsInValue()"]
  4bf7802a_6d99_1399_1f81_b8d1aa3ab685 -->|calls| 89ce828b_eda4_0d96_a1db_69d4d7bec86b
  style 4bf7802a_6d99_1399_1f81_b8d1aa3ab685 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/css-functions.ts lines 158–183

export function substituteFunctions(ast: AstNode[], designSystem: DesignSystem) {
  let features = Features.None
  walk(ast, (node) => {
    // Find all declaration values
    if (node.kind === 'declaration' && node.value && THEME_FUNCTION_INVOCATION.test(node.value)) {
      features |= Features.ThemeFunction
      node.value = substituteFunctionsInValue(node.value, node, designSystem)
      return
    }

    // Find at-rules rules
    if (node.kind === 'at-rule') {
      if (
        (node.name === '@media' ||
          node.name === '@custom-media' ||
          node.name === '@container' ||
          node.name === '@supports') &&
        THEME_FUNCTION_INVOCATION.test(node.params)
      ) {
        features |= Features.ThemeFunction
        node.params = substituteFunctionsInValue(node.params, node, designSystem)
      }
    }
  })
  return features
}

Subdomains

Frequently Asked Questions

What does substituteFunctions() do?
substituteFunctions() is a function in the tailwindcss codebase.
What does substituteFunctions() call?
substituteFunctions() calls 2 function(s): substituteFunctionsInValue, walk.
What calls substituteFunctions()?
substituteFunctions() is called by 3 function(s): buildDesignSystem, buildPluginApi, parseCss.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free