css_class_generation.ts view source
CssClassDefinition type CssClassDefinitionStatic | CssClassDefinitionInterpreter
import type {CssClassDefinition} from '@fuzdev/fuz_css/css_class_generation.js'; Full union including interpreters.
CSS class generation utilities.
Produces CSS output from class definitions, handles interpretation of dynamic classes, and provides collection management for extracted classes.
13 declarations
css_class_generation.ts view source
CssClassDefinition type CssClassDefinitionStatic | CssClassDefinitionInterpreter
import type {CssClassDefinition} from '@fuzdev/fuz_css/css_class_generation.js'; Full union including interpreters.
css_class_generation.ts view source
CssClassDefinitionBase import type {CssClassDefinitionBase} from '@fuzdev/fuz_css/css_class_generation.js'; comment?type string
css_class_generation.ts view source
CssClassDefinitionComposition import type {CssClassDefinitionComposition} from '@fuzdev/fuz_css/css_class_generation.js'; Pure utility composition (composes only).
composestype string[]
declaration?type undefined
ruleset?type undefined
css_class_generation.ts view source
CssClassDefinitionDeclaration import type {CssClassDefinitionDeclaration} from '@fuzdev/fuz_css/css_class_generation.js'; Custom CSS declaration (optionally seeded with composes).
declarationtype string
composes?type string[]
ruleset?type undefined
css_class_generation.ts view source
CssClassDefinitionInterpreter import type {CssClassDefinitionInterpreter} from '@fuzdev/fuz_css/css_class_generation.js'; Interpreter for dynamic CSS class generation based on pattern matching.
patterntype RegExp
interprettype (matched: RegExpMatchArray, ctx: CssClassInterpreterContext): string | null
matchedRegExpMatchArrayctxstring | nullcss_class_generation.ts view source
CssClassDefinitionRuleset import type {CssClassDefinitionRuleset} from '@fuzdev/fuz_css/css_class_generation.js'; Full ruleset with selectors.
rulesettype string
classes?type undefined
declaration?type undefined
css_class_generation.ts view source
CssClassDefinitionStatic type CssClassDefinitionComposition | CssClassDefinitionDeclaration | CssClassDefinitionRuleset
import type {CssClassDefinitionStatic} from '@fuzdev/fuz_css/css_class_generation.js'; Static definitions (not interpreter-based).
css_class_generation.ts view source
CssClassInterpreterContext import type {CssClassInterpreterContext} from '@fuzdev/fuz_css/css_class_generation.js'; Context passed to CSS class interpreters. Provides access to logging, diagnostics collection, and the class registry.
log?Optional logger for warnings/errors
type Logger
diagnosticsDiagnostics array to collect warnings and errors
type InterpreterDiagnostic[]
class_definitionsAll known CSS class definitions (token + composite classes)
type Record<string, CssClassDefinition | undefined>
css_propertiesValid CSS properties for literal validation, or null to skip validation
type Set<string> | null
css_class_generation.ts view source
(name: string): string import {escape_css_selector} from '@fuzdev/fuz_css/css_class_generation.js'; Escapes special characters in a CSS class name for use in a selector.
CSS selectors require escaping of characters like :, %, (, ), etc.
namestringstring escape_css_selector('display:flex') // 'display\\:flex'
escape_css_selector('opacity:80%') // 'opacity\\:80\\%'
escape_css_selector('nth-child(2n)') // 'nth-child\\(2n\\)'css_class_generation.ts view source
(declaration: string): string | null import {extract_primary_property} from '@fuzdev/fuz_css/css_class_generation.js'; Extracts the CSS property name from a single-property declaration string.
Returns null for multi-property declarations (composites with multiple semicolons).
declarationstringstring | null
extract_primary_property('border-radius: var(--border_radius_sm);') // 'border-radius'
extract_primary_property('display: flex; align-items: center;') // nullcss_class_generation.ts view source
(options: GenerateClassesCssOptions): GenerateClassesCssResult import {generate_classes_css} from '@fuzdev/fuz_css/css_class_generation.js'; optionsGenerateClassesCssResult css_class_generation.ts view source
GenerateClassesCssOptions import type {GenerateClassesCssOptions} from '@fuzdev/fuz_css/css_class_generation.js'; class_namestype Iterable<string, any, any>
class_definitionstype Record<string, CssClassDefinition | undefined>
interpreterscss_propertiesValid CSS properties for literal validation, or null to skip validation
type Set<string> | null
log?type Logger
class_locations?type Map<string, SourceLocation[] | null>
explicit_classes?Classes that were explicitly annotated (via @fuz-classes or additional_classes).
An explicit class that no definition or interpreter resolves is an error,
unless is_base_style_class claims it.
type Set<string> | null
is_base_style_class?Whether the bundled base styles target a class, so an explicit class
with no utility definition still resolves - its base rules ship instead.
Null when no base styles are bundled (utility-only mode or
base_css: null), where such a class errors.
type ((class_name: string) => boolean) | null
css_class_generation.ts view source
GenerateClassesCssResult import type {GenerateClassesCssResult} from '@fuzdev/fuz_css/css_class_generation.js'; Result from CSS class generation.
csstype string
diagnosticstype GenerationDiagnostic[]
variables_usedCSS variables used by the generated classes (without -- prefix)
type Set<string>