64 lines
2.0 KiB
TypeScript
64 lines
2.0 KiB
TypeScript
import {
|
|
COLOR_PALETTE,
|
|
DEFAULT_FONT_FAMILY,
|
|
DEFAULT_FONT_SIZE,
|
|
VERTICAL_ALIGN,
|
|
} from "@excalidraw/common";
|
|
|
|
import type { Radians } from "@excalidraw/math";
|
|
|
|
export const CARTESIAN_BASE_SLOT_WIDTH = 44;
|
|
export const CARTESIAN_BAR_SLOT_EXTRA_PER_SERIES = 22;
|
|
export const CARTESIAN_BAR_SLOT_EXTRA_MAX = 66;
|
|
export const CARTESIAN_LINE_SLOT_WIDTH = 48;
|
|
export const CARTESIAN_GAP = 14;
|
|
export const CARTESIAN_BAR_HEIGHT = 304;
|
|
export const CARTESIAN_LINE_HEIGHT = 320;
|
|
export const CARTESIAN_LABEL_ROTATION = 5.87 as Radians;
|
|
export const CARTESIAN_LABEL_MIN_WIDTH = 28;
|
|
export const CARTESIAN_LABEL_SLOT_PADDING = 4;
|
|
export const CARTESIAN_LABEL_AXIS_CLEARANCE = 2;
|
|
export const CARTESIAN_LABEL_MAX_WIDTH_BUFFER = 10;
|
|
export const CARTESIAN_LABEL_ROTATED_WIDTH_BUFFER = 10;
|
|
export const CARTESIAN_LABEL_OVERFLOW_PREFERENCE_BUFFER = 8;
|
|
|
|
export const BAR_GAP = 12;
|
|
export const BAR_HEIGHT = 256;
|
|
export const GRID_OPACITY = 10;
|
|
|
|
export const RADAR_GRID_LEVELS = 4;
|
|
export const RADAR_LABEL_OFFSET = BAR_GAP * 2;
|
|
export const RADAR_PADDING = BAR_GAP * 2;
|
|
export const RADAR_SINGLE_SERIES_LOG_SCALE_THRESHOLD = 100;
|
|
export const RADAR_AXIS_LABEL_MAX_WIDTH = 140;
|
|
export const RADAR_AXIS_LABEL_ALIGNMENT_THRESHOLD = 0.35;
|
|
export const RADAR_AXIS_LABEL_CLEARANCE = BAR_GAP / 2;
|
|
export const RADAR_LEGEND_SWATCH_SIZE = 20;
|
|
export const RADAR_LEGEND_ITEM_GAP = BAR_GAP * 2;
|
|
export const RADAR_LEGEND_TEXT_GAP = BAR_GAP;
|
|
|
|
// Put all common chart element properties here so properties dialog
|
|
// shows stable values when selecting chart groups.
|
|
export const commonProps = {
|
|
fillStyle: "hachure",
|
|
fontFamily: DEFAULT_FONT_FAMILY,
|
|
fontSize: DEFAULT_FONT_SIZE,
|
|
opacity: 100,
|
|
roughness: 1,
|
|
strokeColor: COLOR_PALETTE.black,
|
|
roundness: null,
|
|
strokeStyle: "solid",
|
|
strokeWidth: 1,
|
|
verticalAlign: VERTICAL_ALIGN.MIDDLE,
|
|
locked: false,
|
|
} as const;
|
|
|
|
export type CartesianChartType = "bar" | "line";
|
|
|
|
export type CartesianChartLayout = {
|
|
slotWidth: number;
|
|
gap: number;
|
|
chartHeight: number;
|
|
xLabelMaxWidth: number;
|
|
};
|