@bem-plus/class-generator
Version:
The `@bem-plus/class-generator` allows you to generate boilerplate JavaScript or TypeScript code from your Stylesheets.
57 lines (56 loc) • 1.74 kB
TypeScript
import { TBemPlusClassGeneratorConfigOutput } from '../schema';
export declare class Element {
config: {
input: {
include: string[];
exclude: string[];
excludeBlocks: string[];
rootMixinSuffix: string;
separators: {
element: string;
modifier: string;
mixinElement: string;
};
};
output: {
filename: (args_0: string, args_1: string, ...args_2: unknown[]) => string;
path: string;
prefix: string;
language: "js" | "ts";
autoloader: boolean;
mode: "absolute" | "relative";
suffix: string;
elementClass: (args_0: string, ...args_1: unknown[]) => string;
moduleClass: (args_0: string, ...args_1: unknown[]) => string;
onComplete: (...args: unknown[]) => unknown;
};
strategy: "dist" | "plus";
};
name: string;
escapedName: string;
selector: string;
props: {
[key: string]: string;
};
modifiers: {
name: string;
escaped: boolean;
}[];
matchers: {
elementProps: (block: string, element: string) => RegExp;
invalidFirstCharacter: RegExp;
};
constructor({ config, name, blockName, allModifiers, context }: {
config: TBemPlusClassGeneratorConfigOutput;
name: string;
blockName: string;
allModifiers: string[];
context?: string;
});
getProps(context: string, blockName: string): void;
generateTemplates(block: string, isTypeScript: boolean): {
class: string;
reference: string;
property: string;
};
}