Home / Function/ getClassList() — tailwindcss Function Reference

getClassList() — tailwindcss Function Reference

Architecture documentation for the getClassList() function in intellisense.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  056e68fb_d884_a7a7_1647_810cbfa921c2["getClassList()"]
  cebe77e1_f0f2_aeee_417e_2192f5790344["buildDesignSystem()"]
  cebe77e1_f0f2_aeee_417e_2192f5790344 -->|calls| 056e68fb_d884_a7a7_1647_810cbfa921c2
  4cd99e59_ac1e_2a1f_0946_33cc1afd2532["get()"]
  056e68fb_d884_a7a7_1647_810cbfa921c2 -->|calls| 4cd99e59_ac1e_2a1f_0946_33cc1afd2532
  a699d8d8_c72a_c935_b653_634724c6403c["compare()"]
  056e68fb_d884_a7a7_1647_810cbfa921c2 -->|calls| a699d8d8_c72a_c935_b653_634724c6403c
  30e86a6f_821a_5b81_4761_35b768b56e01["sortFractionsLast()"]
  056e68fb_d884_a7a7_1647_810cbfa921c2 -->|calls| 30e86a6f_821a_5b81_4761_35b768b56e01
  style 056e68fb_d884_a7a7_1647_810cbfa921c2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/intellisense.ts lines 24–79

export function getClassList(design: DesignSystem): ClassEntry[] {
  let items = new DefaultMap<string, ClassItem>((utility) => ({
    name: utility,
    utility,
    fraction: false,
    modifiers: [],
  }))

  // Static utilities only work as-is
  for (let utility of design.utilities.keys('static')) {
    let completions = design.utilities.getCompletions(utility)
    if (completions.length === 0) continue

    let item = items.get(utility)
    item.fraction = false
    item.modifiers = []
  }

  // Functional utilities have their own list of completions
  for (let utility of design.utilities.keys('functional')) {
    let completions = design.utilities.getCompletions(utility)

    for (let group of completions) {
      for (let value of group.values) {
        let fraction = value !== null && IS_FRACTION.test(value)

        let name = value === null ? utility : `${utility}-${value}`

        let item = items.get(name)
        item.utility = utility
        item.fraction ||= fraction
        item.modifiers.push(...group.modifiers)

        if (group.supportsNegative) {
          let item = items.get(`-${name}`)
          item.utility = `-${utility}`
          item.fraction ||= fraction
          item.modifiers.push(...group.modifiers)
        }

        // Deduplicate modifiers
        item.modifiers = Array.from(new Set(item.modifiers))
      }
    }
  }

  if (items.size === 0) return []

  // Sort utilities by their class name
  let list = Array.from(items.values())
  list.sort((a, b) => compare(a.name, b.name))

  let entries = sortFractionsLast(list)

  return entries
}

Subdomains

Frequently Asked Questions

What does getClassList() do?
getClassList() is a function in the tailwindcss codebase.
What does getClassList() call?
getClassList() calls 3 function(s): compare, get, sortFractionsLast.
What calls getClassList()?
getClassList() is called by 1 function(s): buildDesignSystem.

Analyze Your Own Codebase

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

Try Supermodel Free