woltlab-compiler
Version:
A compiler for WoltLab-Package Archives and WoltLab-Package Components
98 lines (97 loc) • 2.74 kB
TypeScript
import { Component } from "../../../PackageSystem/Component";
import { FileDescriptor } from "../../../PackageSystem/FileDescriptor";
import { ThemeInstruction } from "../../../PackageSystem/Instructions/Customization/Presentation/ThemeInstruction";
import { Person } from "../../../PackageSystem/Person";
import { ImageDirectoryDescriptor } from "./ImageDirectoryDescriptor";
import { IThemeOptions } from "./IThemeOptions";
/**
* Represents a theme.
*/
export declare class Theme extends Component {
/**
* The thumbnail of the theme.
*/
private thumbnail;
/**
* The high resolution version of the thumbnail.
*/
private highResThumbnail;
/**
* The instruction which contains this theme.
*/
private instruction;
/**
* The path to the default cover-photo for user-profiles.
*/
private coverPhoto;
/**
* The `scss`-code of the theme.
*/
private customSCSS;
/**
* The variable-overrides of special `scss`-variables.
*/
private scssOverride;
/**
* The variables of the theme.
*/
private variables;
/**
* The image-directory provided by the theme.
*/
private images;
/**
* Initializes a new instance of the `Theme` class.
*
* @param instruction
* The instruction of the theme.
*/
constructor(instruction: ThemeInstruction, options: IThemeOptions);
/**
* @inheritdoc
*/
readonly Author: Person;
/**
* Gets or sets the thumbnail of the theme.
*/
Thumbnail: FileDescriptor;
/**
* Gets or sets the high resolution version of the thumbnail.
*/
HighResThumbnail: FileDescriptor;
/**
* Gets the instruction which contains this theme.
*/
readonly Instruction: ThemeInstruction;
/**
* Gets or sets the path to the default cover-photo for user-profiles.
*/
CoverPhoto: FileDescriptor;
/**
* Gets or sets the `scss`-code of the theme.
*/
CustomScss: string;
/**
* Gets or sets the variable-overrides of special `scss`-variables.
*/
ScssOverride: string;
/**
* Gets the variables of the theme.
*/
readonly Variables: {
[key: string]: string;
};
/**
* Gets the image-directory of the theme.
*/
readonly Images: ImageDirectoryDescriptor;
/**
* Parses the variables and adds them either to the override scss-code or the variables-property.
*
* @param variables
* The variables to parse.
*/
protected ParseVariables(variables: {
[key: string]: string;
}): void;
}