
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import { Theme } from "../core/Theme";
import type { Root } from "../core/Root";
import { MultiDisposer } from "../core/util/Disposer";
import type { Template } from "../core/util/Template";
/**
* An interface describing resonsive rule.
*
* @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info
* @important
*/
export interface IResponsiveRule {
/**
* A class name of the elements to apply rule to.
*/
name?: string;
/**
* A class group of the elements to apply rule to.
*/
tags?: string | string[];
/**
* Settings to apply when activating the responsive rule.
*/
settings?: any;
/**
* A callback function which should check and return `true` if rule is
* applicable for current situation.
*/
relevant: (width: number, height: number) => boolean;
/**
* A custom callback function which is called when applying the rule.
*/
applying?: () => void;
/**
* A custom callback function which is called when removing the rule.
*/
removing?: () => void;
/**
* Indicates if rule is currently applied.
* @readonly
*/
applied?: boolean;
/**
* Reference to [[Template]] object associated with the rule.
* @readonly
*/
template?: Template<any>;
/**
* @ignore
*/
_dp?: MultiDisposer;
}
/**
* A configurable theme that dynamically adapts chart settings for best fit
* in available space.
*
* @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info
*/
export declare class ResponsiveTheme extends Theme {
static XXS: number;
static XS: number;
static S: number;
static M: number;
static L: number;
static XL: number;
static XXL: number;
static widthXXS(width: number, _height: number): boolean;
static widthXS(width: number, _height: number): boolean;
static widthS(width: number, _height: number): boolean;
static widthM(width: number, _height: number): boolean;
static widthL(width: number, _height: number): boolean;
static widthXL(width: number, _height: number): boolean;
static widthXXL(width: number, _height: number): boolean;
static heightXXS(_width: number, height: number): boolean;
static heightXS(_width: number, height: number): boolean;
static heightS(_width: number, height: number): boolean;
static heightM(_width: number, height: number): boolean;
static heightL(_width: number, height: number): boolean;
static heightXL(_width: number, height: number): boolean;
static heightXXL(_width: number, height: number): boolean;
static isXXS(width: number, height: number): boolean;
static isXS(width: number, height: number): boolean;
static isS(width: number, height: number): boolean;
static isM(width: number, height: number): boolean;
static isL(width: number, height: number): boolean;
static isXL(width: number, height: number): boolean;
static isXXL(width: number, height: number): boolean;
static maybeXXS(width: number, height: number): boolean;
static maybeXS(width: number, height: number): boolean;
static maybeS(width: number, height: number): boolean;
static maybeM(width: number, height: number): boolean;
static maybeL(width: number, height: number): boolean;
static maybeXL(width: number, height: number): boolean;
static maybeXXL(width: number, height: number): boolean;
private _dp?;
constructor(root: Root, isReal: boolean);
/**
* Currently added rules.
*/
responsiveRules: IResponsiveRule[];
/**
* Instantiates the theme without adding default respomsive rules.
*/
static newEmpty<T extends typeof ResponsiveTheme>(this: T, root: Root): InstanceType<T>;
/**
* Adds a responsive rule as well as retuns it.
*
* @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info
* @param rule Responsive rule
* @return Responsive rule
*/
addRule(rule: IResponsiveRule): IResponsiveRule;
/**
* Removes the responsive rule.
*
* @param rule Responsive rule
*/
removeRule(rule: IResponsiveRule): void;
dispose(): void;
protected _isUsed(): boolean;
protected _maybeApplyRules(): void;
protected _maybeApplyRule(rule: IResponsiveRule): void;
protected _maybeUnapplyRule(rule: IResponsiveRule): void;
/**
* Adds default rules for various chart types and most standard scenarios.
*/
protected setupDefaultRules(): void;
}
//# sourceMappingURL=ResponsiveTheme.d.ts.map