@elastic/charts
Version:
Elastic-Charts data visualization library
85 lines • 3.01 kB
TypeScript
import type { Color } from '../../common/colors';
import type { Pixels, Distance, Radian, SizeRatio, Ratio } from '../../common/geometry';
import type { Font, PartialFont, FontFamily } from '../../common/text_utils';
import type { ColorVariant, StrokeStyle } from '../common';
import type { PerSideDistance } from '../dimensions';
/** @public */
export type PartitionDimmedStyle = {
opacity: number;
} | {
/** The fill color to use when partition slices are dimmed. */
fill: Color | ColorVariant;
};
interface LabelConfig extends Font {
textColor: Color | typeof ColorVariant.Adaptive;
valueFont: PartialFont;
padding: Pixels | Partial<Padding>;
}
/** @public */
export type Padding = Pixels | Partial<PerSideDistance>;
/** @public */
export interface FillLabelConfig extends LabelConfig {
clipText: boolean;
}
/** @public */
export interface FillFontSizeRange {
minFontSize: Pixels;
maxFontSize: Pixels;
idealFontSizeJump: Ratio;
/**
* When `maximizeFontSize` is false (the default), text font will not be larger than font sizes in larger sectors/rectangles in the same pie chart,
* sunburst ring or treemap layer. When it is set to true, the largest font, not exceeding `maxFontSize`, that fits in the slice/sector/rectangle
* will be chosen for easier text readability, irrespective of the value.
*/
maximizeFontSize: boolean;
}
/** @public */
export interface LinkLabelConfig extends LabelConfig {
fontSize: Pixels;
/**
* Uses linked labels below this limit of the outer sector arc length (in pixels)
*/
maximumSection: Distance;
gap: Pixels;
spacing: Pixels;
minimumStemLength: Distance;
stemAngle: Radian;
horizontalStemLength: Distance;
radiusPadding: Distance;
lineWidth: Pixels;
/**
* Limits the total count of linked labels. The first N largest slices are kept.
*/
maxCount: number;
/**
* Limits the total number of characters in linked labels.
*/
maxTextLength: number;
}
/** @public */
export interface PartitionStyle extends FillFontSizeRange {
/**
* The diameter of the inner circle, relative to `outerSizeRatio`
*/
emptySizeRatio: SizeRatio;
/**
* The diameter of the entire circle, relative to the smaller of the usable rectangular size (smaller of width/height minus the margins)
*/
outerSizeRatio: SizeRatio;
fontFamily: FontFamily;
circlePadding: Distance;
radialPadding: Distance;
horizontalTextAngleThreshold: Radian;
horizontalTextEnforcer: Ratio;
fillLabel: FillLabelConfig;
linkLabel: LinkLabelConfig;
sectorLineWidth: Pixels;
sectorLineStroke: StrokeStyle;
/**
* The style applied to partition slices when they are dimmed relative to other highlighted elements.
* This is typically used to visually de-emphasize slices when hovering over a legend item.
*/
dimmed: PartitionDimmedStyle;
}
export {};
//# sourceMappingURL=partition.d.ts.map