Home / File/ flatten-color-palette.ts — tailwindcss Source File

flatten-color-palette.ts — tailwindcss Source File

Architecture documentation for flatten-color-palette.ts, a typescript file in the tailwindcss codebase. 2 imports, 2 dependents.

File typescript OxideEngine Extractor 2 imports 2 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5["flatten-color-palette.ts"]
  80295787_127f_69e6_91b3_4bea3a484544["theme.ts"]
  7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5 --> 80295787_127f_69e6_91b3_4bea3a484544
  e64872c9_9835_78a8_455b_ad5e699f9543["ThemeOptions"]
  7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5 --> e64872c9_9835_78a8_455b_ad5e699f9543
  c3734112_ed54_5e9d_bbeb_fcb691f82bb5["config.test.ts"]
  c3734112_ed54_5e9d_bbeb_fcb691f82bb5 --> 7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5
  273199d3_11db_3412_77b6_95390a859c13["flatten-color-palette.test.ts"]
  273199d3_11db_3412_77b6_95390a859c13 --> 7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5
  style 7ea5d6e8_c93c_0fe9_ee45_7db80046a7c5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { ThemeOptions } from '../theme'

type Colors = {
  [key: string | number]: string | Colors
}

export default function flattenColorPalette(colors: Colors) {
  let result: Record<string, string> = {}

  for (let [root, children] of Object.entries(colors ?? {})) {
    if (root === '__CSS_VALUES__') continue
    if (typeof children === 'object' && children !== null) {
      for (let [parent, value] of Object.entries(flattenColorPalette(children))) {
        result[`${root}${parent === 'DEFAULT' ? '' : `-${parent}`}`] = value
      }
    } else {
      result[root] = children
    }
  }

  if ('__CSS_VALUES__' in colors) {
    for (let [key, value] of Object.entries(colors.__CSS_VALUES__)) {
      if ((Number(value) & ThemeOptions.DEFAULT) === 0) {
        result[key] = colors[key] as string
      }
    }
  }

  return result
}

Domain

Subdomains

Types

Dependencies

Frequently Asked Questions

What does flatten-color-palette.ts do?
flatten-color-palette.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the OxideEngine domain, Extractor subdomain.
What functions are defined in flatten-color-palette.ts?
flatten-color-palette.ts defines 1 function(s): flattenColorPalette.
What does flatten-color-palette.ts depend on?
flatten-color-palette.ts imports 2 module(s): ThemeOptions, theme.ts.
What files import flatten-color-palette.ts?
flatten-color-palette.ts is imported by 2 file(s): config.test.ts, flatten-color-palette.test.ts.
Where is flatten-color-palette.ts in the architecture?
flatten-color-palette.ts is located at packages/tailwindcss/src/compat/flatten-color-palette.ts (domain: OxideEngine, subdomain: Extractor, directory: packages/tailwindcss/src/compat).

Analyze Your Own Codebase

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

Try Supermodel Free