Home / Function/ cleanCnClassesFromAttribute() — ui Function Reference

cleanCnClassesFromAttribute() — ui Function Reference

Architecture documentation for the cleanCnClassesFromAttribute() function in transform-style-map.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  b485ec68_aafc_76e7_2137_6da415f1d2ec["cleanCnClassesFromAttribute()"]
  cef4e429_7112_fef5_ae0b_a838a57ccf71["transform-style-map.ts"]
  b485ec68_aafc_76e7_2137_6da415f1d2ec -->|defined in| cef4e429_7112_fef5_ae0b_a838a57ccf71
  e02dab01_6687_6666_d998_78768ab89830["applyToClassNameAttributes()"]
  e02dab01_6687_6666_d998_78768ab89830 -->|calls| b485ec68_aafc_76e7_2137_6da415f1d2ec
  19d51d29_43e2_13c5_a0b3_791f6900bbaa["isStringLiteralLike()"]
  b485ec68_aafc_76e7_2137_6da415f1d2ec -->|calls| 19d51d29_43e2_13c5_a0b3_791f6900bbaa
  e6b2d294_367e_f58a_d0fc_61445043aded["removeCnClasses()"]
  b485ec68_aafc_76e7_2137_6da415f1d2ec -->|calls| e6b2d294_367e_f58a_d0fc_61445043aded
  1e57bbcb_bd35_08f0_4331_f460319d4a4a["isCnCall()"]
  b485ec68_aafc_76e7_2137_6da415f1d2ec -->|calls| 1e57bbcb_bd35_08f0_4331_f460319d4a4a
  450ad62f_60de_6074_bd15_6596ccfbec62["removeEmptyArgumentsFromCnCall()"]
  b485ec68_aafc_76e7_2137_6da415f1d2ec -->|calls| 450ad62f_60de_6074_bd15_6596ccfbec62
  style b485ec68_aafc_76e7_2137_6da415f1d2ec fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/src/styles/transform-style-map.ts lines 236–268

function cleanCnClassesFromAttribute(initializer: Node) {
  if (isStringLiteralLike(initializer)) {
    const cleaned = removeCnClasses(initializer.getLiteralText())
    initializer.setLiteralValue(cleaned)
    return
  }

  if (!Node.isJsxExpression(initializer)) {
    return
  }

  const expression = initializer.getExpression()
  if (!expression) {
    return
  }

  if (isStringLiteralLike(expression)) {
    const cleaned = removeCnClasses(expression.getLiteralText())
    expression.setLiteralValue(cleaned)
    return
  }

  if (Node.isCallExpression(expression) && isCnCall(expression)) {
    for (const argument of expression.getArguments()) {
      if (isStringLiteralLike(argument)) {
        const cleaned = removeCnClasses(argument.getLiteralText())
        argument.setLiteralValue(cleaned)
      }
    }

    removeEmptyArgumentsFromCnCall(expression)
  }
}

Subdomains

Frequently Asked Questions

What does cleanCnClassesFromAttribute() do?
cleanCnClassesFromAttribute() is a function in the ui codebase, defined in packages/shadcn/src/styles/transform-style-map.ts.
Where is cleanCnClassesFromAttribute() defined?
cleanCnClassesFromAttribute() is defined in packages/shadcn/src/styles/transform-style-map.ts at line 236.
What does cleanCnClassesFromAttribute() call?
cleanCnClassesFromAttribute() calls 4 function(s): isCnCall, isStringLiteralLike, removeCnClasses, removeEmptyArgumentsFromCnCall.
What calls cleanCnClassesFromAttribute()?
cleanCnClassesFromAttribute() is called by 1 function(s): applyToClassNameAttributes.

Analyze Your Own Codebase

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

Try Supermodel Free