UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

46 lines 1.98 kB
import { ComponentFormatFunction } from '../i18n/context'; import { PieChartProps } from './interfaces'; export interface Dimension { innerRadius: number; outerRadius: number; padding: number; paddingLabels: number; innerLabelPadding: number; cornerRadius?: number; } export declare const minLabelLineAngularPadding: number; export declare const dimensionsBySize: Record<NonNullable<PieChartProps['size']>, Dimension>; export declare const refreshDimensionsBySize: Record<NonNullable<PieChartProps['size']>, Dimension>; /** * When `size` is a string ("small", "medium" or "large") the predefined pie chart element dimensions for classic and visual refresh are used. * When `size` is a number the outer and inner radii are computed and the rest of the dimensions are taken from the closest predefined size. */ export declare function getDimensionsBySize({ size, hasLabels, visualRefresh }: { size: NonNullable<PieChartProps['size']> | number; hasLabels: boolean; visualRefresh?: boolean; }): Dimension & { size: NonNullable<PieChartProps['size']>; }; export declare const defaultDetails: (i18n: ComponentFormatFunction<"pie-chart">, i18nStrings: PieChartProps.I18nStrings) => (datum: PieChartProps.Datum, dataSum: number) => ({ key: string; value: number; } | { key: string; value: string; })[]; /** * Adjusts the position of the given label nodes to avoid visual overlapping. * @param nodes List of label nodes of the entire chart (both left and right side) * @param markers Markers array that was calculated in <Labels>, but we just need the `endY` values * @param leftSide Boolean flag whether we are processing the left or right side of the chart labels */ export declare const balanceLabelNodes: (nodes: NodeListOf<SVGGElement>, markers: Array<{ endY: number; endX: number; }>, leftSide: boolean, radius: number) => void; export declare const computeSmartAngle: (startAngle: number, endAngle: number, optimize?: boolean) => number;