Home / File/ intellisense.ts — tailwindcss Source File

intellisense.ts — tailwindcss Source File

Architecture documentation for intellisense.ts, a typescript file in the tailwindcss codebase. 12 imports, 2 dependents.

File typescript Oxide Extractor 12 imports 2 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  aed99406_85bd_0230_7820_e5b6fa3efe70["intellisense.ts"]
  b9cbffa4_c352_cf3c_268f_cbb174fb3a47["ast.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> b9cbffa4_c352_cf3c_268f_cbb174fb3a47
  2a22052d_f868_4f88_0a03_2033be58172d["styleRule"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 2a22052d_f868_4f88_0a03_2033be58172d
  eea0ec96_6369_abc2_64b3_490868392e31["compile.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> eea0ec96_6369_abc2_64b3_490868392e31
  74e35fd7_c887_0191_82e9_5c47ae4932d3["applyVariant"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 74e35fd7_c887_0191_82e9_5c47ae4932d3
  bdedd2f6_da4b_69dc_e990_0814b59fbe6e["design-system.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> bdedd2f6_da4b_69dc_e990_0814b59fbe6e
  665aa4ed_d86e_30e5_80d5_cd56b8ca8b62["DesignSystem"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 665aa4ed_d86e_30e5_80d5_cd56b8ca8b62
  52a5447b_9c77_0591_7ea4_271cf99d1fa6["compare.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 52a5447b_9c77_0591_7ea4_271cf99d1fa6
  b45e6f94_1ba7_7e51_9816_073c45d06c7a["compare"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> b45e6f94_1ba7_7e51_9816_073c45d06c7a
  28a2f72d_350c_6647_bf9d_77c69e637045["default-map.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 28a2f72d_350c_6647_bf9d_77c69e637045
  cfb4af0e_7b2d_34a1_693a_90088443cfec["DefaultMap"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> cfb4af0e_7b2d_34a1_693a_90088443cfec
  1b8f1c54_b1e9_e18d_0719_b7ad92808185["walk.ts"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 1b8f1c54_b1e9_e18d_0719_b7ad92808185
  4982d9ce_98d4_85d9_44af_7cc47b93c482["walk"]
  aed99406_85bd_0230_7820_e5b6fa3efe70 --> 4982d9ce_98d4_85d9_44af_7cc47b93c482
  a57d0003_9aa7_26da_25b8_b100327975d6["canonicalize-candidates.test.ts"]
  a57d0003_9aa7_26da_25b8_b100327975d6 --> aed99406_85bd_0230_7820_e5b6fa3efe70
  bdedd2f6_da4b_69dc_e990_0814b59fbe6e["design-system.ts"]
  bdedd2f6_da4b_69dc_e990_0814b59fbe6e --> aed99406_85bd_0230_7820_e5b6fa3efe70
  style aed99406_85bd_0230_7820_e5b6fa3efe70 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { styleRule } from './ast'
import { applyVariant } from './compile'
import type { DesignSystem } from './design-system'
import { compare } from './utils/compare'
import { DefaultMap } from './utils/default-map'
import { walk } from './walk'
export { canonicalizeCandidates, type CanonicalizeOptions } from './canonicalize-candidates'

interface ClassMetadata {
  modifiers: string[]
}

export type ClassItem = {
  name: string
  utility: string
  fraction: boolean
  modifiers: string[]
}

export type ClassEntry = [string, ClassMetadata]

const IS_FRACTION = /^\d+\/\d+$/

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
// ... (209 more lines)

Domain

Subdomains

Frequently Asked Questions

What does intellisense.ts do?
intellisense.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the Oxide domain, Extractor subdomain.
What functions are defined in intellisense.ts?
intellisense.ts defines 4 function(s): getClassList, getVariants, options, sortFractionsLast.
What does intellisense.ts depend on?
intellisense.ts imports 12 module(s): DefaultMap, DesignSystem, applyVariant, ast.ts, compare, compare.ts, compile.ts, default-map.ts, and 4 more.
What files import intellisense.ts?
intellisense.ts is imported by 2 file(s): canonicalize-candidates.test.ts, design-system.ts.
Where is intellisense.ts in the architecture?
intellisense.ts is located at packages/tailwindcss/src/intellisense.ts (domain: Oxide, subdomain: Extractor, directory: packages/tailwindcss/src).

Analyze Your Own Codebase

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

Try Supermodel Free