createUtilities() — tailwindcss Function Reference
Architecture documentation for the createUtilities() function in utilities.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 0ce247c0_4edf_7255_2fe4_6eb777680bdf["createUtilities()"] 2bc6f8eb_6339_d09c_79df_e9025a479c97["utilities.ts"] 0ce247c0_4edf_7255_2fe4_6eb777680bdf -->|defined in| 2bc6f8eb_6339_d09c_79df_e9025a479c97 9b965fd7_d8e9_0b43_cd5d_c9294ab598ed["buildDesignSystem()"] 9b965fd7_d8e9_0b43_cd5d_c9294ab598ed -->|calls| 0ce247c0_4edf_7255_2fe4_6eb777680bdf style 0ce247c0_4edf_7255_2fe4_6eb777680bdf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/tailwindcss/src/utilities.ts lines 291–5929
export function createUtilities(theme: Theme) {
let utilities = new Utilities()
/**
* Register list of suggestions for a class
*/
function suggest(classRoot: string, defns: () => SuggestionDefinition[]) {
function* resolve(themeKeys: ThemeKey[]) {
for (let value of theme.keysInNamespaces(themeKeys)) {
yield value.replace(LEGACY_NUMERIC_KEY, (_, a, b) => {
return `${a}.${b}`
})
}
}
let suggestedFractions = [
'1/2',
'1/3',
'2/3',
'1/4',
'2/4',
'3/4',
'1/5',
'2/5',
'3/5',
'4/5',
'1/6',
'2/6',
'3/6',
'4/6',
'5/6',
'1/12',
'2/12',
'3/12',
'4/12',
'5/12',
'6/12',
'7/12',
'8/12',
'9/12',
'10/12',
'11/12',
]
utilities.suggest(classRoot, () => {
let groups: SuggestionGroup[] = []
for (let defn of defns()) {
if (typeof defn === 'string') {
groups.push({ values: [defn], modifiers: [] })
continue
}
let values: (string | null)[] = [
...(defn.values ?? []),
...resolve(defn.valueThemeKeys ?? []),
]
let modifiers = [...(defn.modifiers ?? []), ...resolve(defn.modifierThemeKeys ?? [])]
if (defn.supportsFractions) {
values.push(...suggestedFractions)
}
if (defn.hasDefaultValue) {
values.unshift(null)
}
groups.push({ supportsNegative: defn.supportsNegative, values, modifiers })
}
return groups
})
}
/**
* Register a static utility class like `justify-center`.
*/
function staticUtility(className: string, declarations: ([string, string] | (() => AstNode))[]) {
utilities.static(className, () => {
return declarations.map((node) => {
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does createUtilities() do?
createUtilities() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/utilities.ts.
Where is createUtilities() defined?
createUtilities() is defined in packages/tailwindcss/src/utilities.ts at line 291.
What calls createUtilities()?
createUtilities() 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