UNPKG

@stylable/core

Version:

CSS for Components

46 lines 1.87 kB
import postcss from 'postcss'; import { Box } from './custom-values'; import { StylableMeta } from './stylable-meta'; import { StylableResults } from './stylable-transformer'; export declare type PartialObject<T> = Partial<T> & object; export declare type CSSObject = any & object; export interface ParsedValue { type: string; value: string; nodes?: any; resolvedValue?: string | Box<string, unknown>; url?: string; } export interface StateTypeValidator { name: string; args: string[]; } export declare type StateArguments = Array<StateTypeValidator | string>; export interface StateParsedValue { type: string; defaultValue?: string; arguments: StateArguments; } export interface IStylableOptimizer { classNameOptimizer: IStylableClassNameOptimizer; namespaceOptimizer: IStylableNamespaceOptimizer; minifyCSS(css: string): string; optimize(config: object, stylableResult: StylableResults, usageMapping: Record<string, boolean>, delimiter?: string): void; removeStylableDirectives(root: postcss.Root, shouldComment: boolean): void; } export interface IStylableClassNameOptimizer { context: { names: Record<string, string>; }; rewriteSelector(selector: string, usageMapping: Record<string, boolean>, globals: Record<string, boolean>): string; generateName(name: string): string; optimizeAstAndExports(ast: postcss.Root, exported: Record<string, string>, classes: string[], usageMapping: Record<string, boolean>, globals?: Record<string, boolean>): void; } export interface IStylableNamespaceOptimizer { index: number; namespacePrefix: string; namespaceMapping: Record<string, string>; getNamespace(meta: StylableMeta, ..._env: any[]): string; } export declare type ModuleResolver = (directoryPath: string, request: string) => string; //# sourceMappingURL=types.d.ts.map