CoolFace
Apppublic

sourav-das/stem-separator

sourceHugging Facemitupdated 6mo agoView on Hugging Face
3likes
lib.d.mts379 linesDownload Raw Back to dist
1import { S as SourceLocation, U as UserConfig, P as Plugin } from './types-CJYAW1ql.mjs';2import { V as Variant, C as Candidate } from './resolve-config-QUZ9b-Gn.mjs';3import './colors.mjs';4 5declare const enum ThemeOptions {6    NONE = 0,7    INLINE = 1,8    REFERENCE = 2,9    DEFAULT = 4,10    STATIC = 8,11    USED = 1612}13declare class Theme {14    #private;15    private values;16    private keyframes;17    prefix: string | null;18    constructor(values?: Map<string, {19        value: string;20        options: ThemeOptions;21        src: Declaration["src"];22    }>, keyframes?: Set<AtRule>);23    get size(): number;24    add(key: string, value: string, options?: ThemeOptions, src?: Declaration['src']): void;25    keysInNamespaces(themeKeys: Iterable<ThemeKey>): string[];26    get(themeKeys: ThemeKey[]): string | null;27    hasDefault(key: string): boolean;28    getOptions(key: string): ThemeOptions;29    entries(): IterableIterator<[string, {30        value: string;31        options: ThemeOptions;32        src: Declaration["src"];33    }]> | [string, {34        value: string;35        options: ThemeOptions;36        src: Declaration["src"];37    }][];38    prefixKey(key: string): string;39    clearNamespace(namespace: string, clearOptions: ThemeOptions): void;40    markUsedVariable(themeKey: string): boolean;41    resolve(candidateValue: string | null, themeKeys: ThemeKey[], options?: ThemeOptions): string | null;42    resolveValue(candidateValue: string | null, themeKeys: ThemeKey[]): string | null;43    resolveWith(candidateValue: string, themeKeys: ThemeKey[], nestedKeys?: `--${string}`[]): [string, Record<string, string>] | null;44    namespace(namespace: string): Map<string | null, string>;45    addKeyframes(value: AtRule): void;46    getKeyframes(): AtRule[];47}48type ThemeKey = `--${string}`;49 50type VariantFn<T extends Variant['kind']> = (rule: Rule, variant: Extract<Variant, {51    kind: T;52}>) => null | void;53type CompareFn = (a: Variant, z: Variant) => number;54declare const enum Compounds {55    Never = 0,56    AtRules = 1,57    StyleRules = 258}59declare class Variants {60    compareFns: Map<number, CompareFn>;61    variants: Map<string, {62        kind: Variant["kind"];63        order: number;64        applyFn: VariantFn<any>;65        compoundsWith: Compounds;66        compounds: Compounds;67    }>;68    private completions;69    /**70     * Registering a group of variants should result in the same sort number for71     * all the variants. This is to ensure that the variants are applied in the72     * correct order.73     */74    private groupOrder;75    /**76     * Keep track of the last sort order instead of using the size of the map to77     * avoid unnecessarily skipping order numbers.78     */79    private lastOrder;80    static(name: string, applyFn: VariantFn<'static'>, { compounds, order }?: {81        compounds?: Compounds;82        order?: number;83    }): void;84    fromAst(name: string, ast: AstNode[], designSystem: DesignSystem): void;85    functional(name: string, applyFn: VariantFn<'functional'>, { compounds, order }?: {86        compounds?: Compounds;87        order?: number;88    }): void;89    compound(name: string, compoundsWith: Compounds, applyFn: VariantFn<'compound'>, { compounds, order }?: {90        compounds?: Compounds;91        order?: number;92    }): void;93    group(fn: () => void, compareFn?: CompareFn): void;94    has(name: string): boolean;95    get(name: string): {96        kind: Variant["kind"];97        order: number;98        applyFn: VariantFn<any>;99        compoundsWith: Compounds;100        compounds: Compounds;101    } | undefined;102    kind(name: string): "arbitrary" | "static" | "functional" | "compound";103    compoundsWith(parent: string, child: string | Variant): boolean;104    suggest(name: string, suggestions: () => string[]): void;105    getCompletions(name: string): string[];106    compare(a: Variant | null, z: Variant | null): number;107    keys(): IterableIterator<string>;108    entries(): IterableIterator<[string, {109        kind: Variant["kind"];110        order: number;111        applyFn: VariantFn<any>;112        compoundsWith: Compounds;113        compounds: Compounds;114    }]>;115    private set;116    private nextOrder;117}118 119declare function compileAstNodes(candidate: Candidate, designSystem: DesignSystem, flags: CompileAstFlags): {120    node: AstNode;121    propertySort: {122        order: number[];123        count: number;124    };125}[];126 127interface CanonicalizeOptions {128    /**129     * The root font size in pixels. If provided, `rem` values will be normalized130     * to `px` values.131     *132     * E.g.: `mt-[16px]` with `rem: 16` will become `mt-4` (assuming `--spacing: 0.25rem`).133     */134    rem?: number;135    /**136     * Whether to collapse multiple utilities into a single utility if possible.137     *138     * E.g.: `mt-2 mr-2 mb-2 ml-2` → `m-2`139     */140    collapse?: boolean;141    /**142     * Whether to convert between logical and physical properties when collapsing143     * utilities.144     *145     * E.g.: `mr-2 ml-2` → `mx-2`146     */147    logicalToPhysical?: boolean;148}149 150interface ClassMetadata {151    modifiers: string[];152}153type ClassEntry = [string, ClassMetadata];154interface SelectorOptions {155    modifier?: string;156    value?: string;157}158interface VariantEntry {159    name: string;160    isArbitrary: boolean;161    values: string[];162    hasDash: boolean;163    selectors: (options: SelectorOptions) => string[];164}165 166type CompileFn<T extends Candidate['kind']> = (value: Extract<Candidate, {167    kind: T;168}>) => AstNode[] | undefined | null;169interface SuggestionGroup {170    supportsNegative?: boolean;171    values: (string | null)[];172    modifiers: string[];173}174type UtilityOptions = {175    types: string[];176};177type Utility = {178    kind: 'static' | 'functional';179    compileFn: CompileFn<any>;180    options?: UtilityOptions;181};182declare class Utilities {183    private utilities;184    private completions;185    static(name: string, compileFn: CompileFn<'static'>): void;186    functional(name: string, compileFn: CompileFn<'functional'>, options?: UtilityOptions): void;187    has(name: string, kind: 'static' | 'functional'): boolean;188    get(name: string): Utility[];189    getCompletions(name: string): SuggestionGroup[];190    suggest(name: string, groups: () => SuggestionGroup[]): void;191    keys(kind: 'static' | 'functional'): string[];192}193 194declare const enum CompileAstFlags {195    None = 0,196    RespectImportant = 1197}198type DesignSystem = {199    theme: Theme;200    utilities: Utilities;201    variants: Variants;202    invalidCandidates: Set<string>;203    important: boolean;204    getClassOrder(classes: string[]): [string, bigint | null][];205    getClassList(): ClassEntry[];206    getVariants(): VariantEntry[];207    parseCandidate(candidate: string): Readonly<Candidate>[];208    parseVariant(variant: string): Readonly<Variant> | null;209    compileAstNodes(candidate: Candidate, flags?: CompileAstFlags): ReturnType<typeof compileAstNodes>;210    printCandidate(candidate: Candidate): string;211    printVariant(variant: Variant): string;212    getVariantOrder(): Map<Variant, number>;213    resolveThemeValue(path: string, forceInline?: boolean): string | undefined;214    trackUsedVariables(raw: string): void;215    canonicalizeCandidates(candidates: string[], options?: CanonicalizeOptions): string[];216    candidatesToCss(classes: string[]): (string | null)[];217    candidatesToAst(classes: string[]): AstNode[][];218    storage: Record<symbol, unknown>;219};220 221type StyleRule = {222    kind: 'rule';223    selector: string;224    nodes: AstNode[];225    src?: SourceLocation;226    dst?: SourceLocation;227};228type AtRule = {229    kind: 'at-rule';230    name: string;231    params: string;232    nodes: AstNode[];233    src?: SourceLocation;234    dst?: SourceLocation;235};236type Declaration = {237    kind: 'declaration';238    property: string;239    value: string | undefined;240    important: boolean;241    src?: SourceLocation;242    dst?: SourceLocation;243};244type Comment = {245    kind: 'comment';246    value: string;247    src?: SourceLocation;248    dst?: SourceLocation;249};250type Context = {251    kind: 'context';252    context: Record<string, string | boolean>;253    nodes: AstNode[];254    src?: undefined;255    dst?: undefined;256};257type AtRoot = {258    kind: 'at-root';259    nodes: AstNode[];260    src?: undefined;261    dst?: undefined;262};263type Rule = StyleRule | AtRule;264type AstNode = StyleRule | AtRule | Declaration | Comment | Context | AtRoot;265 266/**267 * Line offset tables are the key to generating our source maps. They allow us268 * to store indexes with our AST nodes and later convert them into positions as269 * when given the source that the indexes refer to.270 */271/**272 * A position in source code273 *274 * https://tc39.es/ecma426/#sec-position-record-type275 */276interface Position {277    /** The line number, one-based */278    line: number;279    /** The column/character number, one-based */280    column: number;281}282 283interface OriginalPosition extends Position {284    source: DecodedSource;285}286/**287 * A "decoded" sourcemap288 *289 * @see https://tc39.es/ecma426/#decoded-source-map-record290 */291interface DecodedSourceMap {292    file: string | null;293    sources: DecodedSource[];294    mappings: DecodedMapping[];295}296/**297 * A "decoded" source298 *299 * @see https://tc39.es/ecma426/#decoded-source-record300 */301interface DecodedSource {302    url: string | null;303    content: string | null;304    ignore: boolean;305}306/**307 * A "decoded" mapping308 *309 * @see https://tc39.es/ecma426/#decoded-mapping-record310 */311interface DecodedMapping {312    originalPosition: OriginalPosition | null;313    generatedPosition: Position;314    name: string | null;315}316 317type Config = UserConfig;318declare const enum Polyfills {319    None = 0,320    AtProperty = 1,321    ColorMix = 2,322    All = 3323}324type CompileOptions = {325    base?: string;326    from?: string;327    polyfills?: Polyfills;328    loadModule?: (id: string, base: string, resourceHint: 'plugin' | 'config') => Promise<{329        path: string;330        base: string;331        module: Plugin | Config;332    }>;333    loadStylesheet?: (id: string, base: string) => Promise<{334        path: string;335        base: string;336        content: string;337    }>;338};339type Root = null | 'none' | {340    base: string;341    pattern: string;342};343declare const enum Features {344    None = 0,345    AtApply = 1,346    AtImport = 2,347    JsPluginCompat = 4,348    ThemeFunction = 8,349    Utilities = 16,350    Variants = 32,351    AtTheme = 64352}353declare function compileAst(input: AstNode[], opts?: CompileOptions): Promise<{354    sources: {355        base: string;356        pattern: string;357        negated: boolean;358    }[];359    root: Root;360    features: Features;361    build(candidates: string[]): AstNode[];362}>;363 364declare function compile(css: string, opts?: CompileOptions): Promise<{365    sources: {366        base: string;367        pattern: string;368        negated: boolean;369    }[];370    root: Root;371    features: Features;372    build(candidates: string[]): string;373    buildSourceMap(): DecodedSourceMap;374}>;375declare function __unstable__loadDesignSystem(css: string, opts?: CompileOptions): Promise<DesignSystem>;376declare function postcssPluginWarning(): void;377 378export { type Config, type DecodedSourceMap, Features, Polyfills, __unstable__loadDesignSystem, compile, compileAst, postcssPluginWarning as default };379