Unified style bag for all Family-A series types (ARCHITECTURE.md §6A). Each renderer reads the fields it needs; per-type defaults are filled by the chart-type registry. Keeping one optional-field interface avoids a sprawling discriminated union at the rendering boundary.

interface SeriesStyle {
    areaBottomColor?: string;
    areaTopColor?: string;
    base?: number;
    baseValue?: number;
    borderDownColor?: string;
    borderUpColor?: string;
    borderVisible?: boolean;
    bottomColor?: string;
    boxSize?: number;
    closeColor?: string;
    color?: string;
    downColor?: string;
    highColor?: string;
    hollow?: boolean;
    lastValueVisible?: boolean;
    lineStyle?: "solid" | "dashed" | "dotted";
    lineWidth?: number;
    lowColor?: string;
    markerRadius?: number;
    markers?: boolean;
    markersOnly?: boolean;
    priceLineVisible?: boolean;
    step?: boolean;
    thickColor?: string;
    thinColor?: string;
    title?: string;
    topColor?: string;
    upColor?: string;
    visible?: boolean;
    volumeScaled?: boolean;
    wickDownColor?: string;
    wickUpColor?: string;
    wickVisible?: boolean;
}

Properties

areaBottomColor?: string
areaTopColor?: string
base?: number
baseValue?: number
borderDownColor?: string
borderUpColor?: string
borderVisible?: boolean
bottomColor?: string
boxSize?: number

Fallback box size for stacking P&F X/O glyphs. Columns from PointFigureTransform carry their own boxSize, which wins — set this only for hand-built column data.

closeColor?: string
color?: string
downColor?: string
highColor?: string
hollow?: boolean
lastValueVisible?: boolean

Show the last-value tag on the price axis. Default true.

lineStyle?: "solid" | "dashed" | "dotted"

Line dash style for line/step/area/HLC series. Default 'solid'.

lineWidth?: number
lowColor?: string
markerRadius?: number
markers?: boolean
markersOnly?: boolean

Draw only the markers, with no connecting line (Parabolic SAR, scatter).

priceLineVisible?: boolean

Show the dashed horizontal last-price line across the plot. Default true.

step?: boolean
thickColor?: string

Kagi thick (yang) line color.

thinColor?: string

Kagi thin (yin) line color.

title?: string

Optional label carried with the series (for host-drawn legends).

topColor?: string
upColor?: string
visible?: boolean

Whether the series is drawn and counted in autoscale. Default true.

volumeScaled?: boolean

Scale candle body width by volume / maxVisibleVolume (volume candles).

wickDownColor?: string
wickUpColor?: string
wickVisible?: boolean