API reference
Widgets
Types of widget panels, placements and widgets.
See Widgets.
Prop
Type
/** Where a widget panel sits on the script's pane. */
export type WidgetPlacement =
| { readonly type: "Corner"; readonly corner: Corner }
/** Follows a chart point as the chart pans. Chart surfaces only. */
| { readonly type: "Anchor"; readonly time: number; readonly price: number }
/** A rect in pane px, e.g. a layout inside a `Canvas`. */
| { readonly type: "Rect"; readonly rect: PaneRect };/**
* A DOM element rendered with our React components. Callbacks run like
* handlers: they may change state, and the chart redraws after them.
*/
export type Widget =
| { readonly type: "Button"; readonly label: string; onClick(): void }
| {
readonly type: "Toggle";
readonly label: string;
readonly value: boolean;
onChange(value: boolean): void;
}
| {
readonly type: "Select";
readonly label: string;
readonly value: string;
readonly options: readonly SelectOption[];
onChange(value: string): void;
}
| {
readonly type: "NumberInput";
readonly label: string;
readonly value: number;
readonly min?: number;
readonly max?: number;
readonly step?: number;
onChange(value: number): void;
}
| {
readonly type: "TextInput";
readonly label: string;
readonly value: string;
onChange(value: string): void;
}
| { readonly type: "Text"; readonly text: string; readonly tone?: Tone }
| {
readonly type: "StatCard";
readonly label: string;
readonly value: string;
/** Small line below the value, e.g. a change. */
readonly detail?: string;
readonly tone?: Tone;
}
/** Virtualized, so thousands of rows are fine. */
| {
readonly type: "Table";
readonly columns: readonly TableColumn[];
readonly rows: readonly Readonly<Record<string, TableCell>>[];
onRowClick?(index: number): void;
}
| { readonly type: "List"; readonly items: readonly string[] }
| { readonly type: "Badge"; readonly text: string; readonly tone?: Tone }
/** `value` from 0 to 1. */
| { readonly type: "Progress"; readonly value: number; readonly label?: string };/** Color intent of a text, badge or stat. */
export type Tone = "Neutral" | "Positive" | "Negative" | "Warning";Prop
Type